制作推送证书的流程:

  1. 首先我们要有生成一个Certificate Signing Request(也就是CSR)的请求文件。(在应用程序里的使用工具中找到钥匙串访问)。

  2. 登录开发者账号:
    (1)如果没有为app创建APP ID的话需要先为APP创建APP ID
    首先到accounts第二栏:点击APP IDs ,点击加号,按照提示操作
    (2)如果有的话直接进入第三步;

  3. 创建发布证书;点击Certificates,development 点击加号 (此处省略一万字。。。)制作并下载,点击done完成;

  4. 创建配置文件(Provisioning files) 按照提示操作 制作并下载 点击done完成

  5. 双击第三步下载的发布证书进行安装,然后打开钥匙串,找到对应的证书,右键选择导出,制作P12证书。

  6. 到现在为止我们已经获取到了三个文件,将他们一起放在一个文件夹下;

  7. 打开terminal(终端),(位置:应用程序à实用工具à终端),

键盘输入cd到切换到桌面,我们那三个文件所在的位置,使用openssl 命令编译

注释:在讲解之前先说一下cd切换的目的:切换根目录是要读取前面创建的三个文件,如果大家不是在桌面放置的话需要将根目录cd到你放置这三个文件的位置,如果不知道当前目录中都有那些文件夹,可以使用命令ls进行查看

(1)把.cer的SSL证书转换为.pem文件,执行命令:
openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
openssl x509 -in aps.cer -inform der -out PushChatCert.pem
(2)把私钥Push.p12文件转化为.pem文件,命令如下:
== openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
openssl pkcs12 -nocerts -out PushChatKey.pem -in disPush.p12==

(3)如果服务端是java写的,那么用下面的命令生成P12文件。
用certificate和the key创建PKCS#12格式的文件。

(A)openssl pkcs12 -export -in PushChatCert.pem -inkey PushChatKey.pem -certfile CertificateSigningRequest.certSigningRequest -name “push” -out testPush.p12
或:openssl pkcs12 -export -in PushChatCert.pem -inkey PushChatKey.pem -name “push” -out testPush.p12

注意: 如果报错”unable to load certificates”,把第三条命令的-certfile CertificateSigningRequest.certSigningRequest 去掉就好

(B)如果服务端是PHP写的,那么用下面的命令生成CK文件:命令行如下:
cat PushChatCert.pem PushChatKey.pem > ck.pem

到此为止,推送需要的文件就全部制作完成了。

为了测试证书是否工作,执行下面的命令:

telnet gateway.sandbox.push.apple.com 2195

它将尝试发送一个规则的,不加密的连接到APNS服务。如果你看到上面的反馈,那说明你的MAC能够到达APNS。按下Ctrl+C关闭连接。如果得到一个错误信息,那么你需要确保你的防火墙允许2195端口。一般这里都不会出现什么问题。
下面我们要使用我们生成的SSL证书和私钥来设置一个安全的链接去链接苹果服务器:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem

执行完这一句命令后需要我们输入密语:
==Enter pass phrase for PushChatKey.pem:==这个密码是你在生成PushChatKey.pem文件时设置的密码,我们输入密码按回车

你会看到一个完整的输出,让你明白OpenSSL在后台做什么。如果链接是成功的,你可以随便输入一个字符,按下回车,服务器就会断开链接,如果建立连接时有问题,OpenSSL会给你返回一个错误信息。

当你在最后的时候你看到这样说明你已经成功了:

CONNECTED(00000003)

depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa isincorporated by reference/OU=© 2009 Entrust, Inc./CN=Entrust CertificationAuthority - L1C

verify error:num=20:unable to get local issuercertificate

verify return:0


Certificate chain

0s:/C=US/ST=California/L=Cupertino/O=Apple Inc./OU=iTMSEngineering/CN=gateway.sandbox.push.apple.com

i:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated byreference/OU=© 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C

1s:/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated byreference/OU=© 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C

i:/O=Entrust.net/OU=www.entrust.net/CPS_2048incorp. by ref. (limits liab.)/OU=© 1999 Entrust.net Limited/CN=Entrust.netCertification Authority (2048)


Server certificate

-----BEGIN CERTIFICATE-----

MIIFGzCCBAOgAwIBAgIETBz90jANBgkqhkiG9w0BAQUFADCBsTELMAkGA1UEBhMC

……省略……

fMGbLqkGn8YogdPqe5T1

-----END CERTIFICATE-----

subject=/C=US/ST=California/L=Cupertino/O=AppleInc./OU=iTMS Engineering/CN=gateway.sandbox.push.apple.com

issuer=/C=US/O=Entrust, Inc./OU=www.entrust.net/rpa isincorporated by reference/OU=© 2009 Entrust, Inc./CN=Entrust CertificationAuthority - L1C


No client certificate CA names sent


SSL handshake has read 2731 bytes and written 2165 bytes


New, TLSv1/SSLv3, Cipher is AES256-SHA

Server public key is 2048 bit

Secure Renegotiation IS supported

Compression: NONE

Expansion: NONE

SSL-Session:

Protocol  : TLSv1Cipher    : AES256-SHASession-ID:Session-ID-ctx:Master-Key:C7A47EED5E1F5……省略……369D4Key-Arg   : NoneStart Time:1361862882Timeout   : 300 (sec)Verify return code: 0 (ok)

3、APNS地址

测试地址: gateway.sandbox.push.apple.com:2195

发布地址: gateway.push.apple.com:2195

测试的地址用的是沙盒,发布地址是不同的。发布软件的时候记得改过来

4、要注意顺序问题,一定要按照这个顺序来:

生成钥匙串请求 -->配置下载开发证书–> 配置App ID ,配置、下载SSL证书–>Provisioning证书

iOS 制作推送证书的流程 超详细!!!!!相关推荐

  1. 【java/C# 服务器】IOS 配置推送证书 p12文件流程 - 勿以己悲

    在配置 P12 证书文件之前, 我们要准备三个文件 1.PushChat.certSigningRequest      请求证书文件 2.PushChatKey.p12               ...

  2. iOS 创建推送证书

    1.首先你想创建推送证书和以前你做真机测试证书一样,需要实现准备一个99$的付费账号.然后登陆苹果开发者网站.http://developer.apple.com/ 2.登陆以后你能看到这个界面然后选 ...

  3. iOS的推送证书过期的处理

    1.删除MAC上钥匙串访问中对应的推送证书.<根据过期日期看> 2.登录苹果开发者后台,revoke删除已过期推送证书(貌似会自己消失不用删除,具体记不清了...),然后为对应App ID ...

  4. ios推送通知之ios推送证书的申请和使用配置

    很多人初次接触推送通知,不知道怎么去申请ios推送证书和配置推送. 很多人犯的错误就是用推送证书p12去打包ipa,推送不是用来打包的,下面详细介绍ios推证书的申请和配置使用. ios推送证书分为测 ...

  5. java激光推送ios_极光推送平台配置iOS推送证书过程

    极光推送平台,需要上传配置开发测试的iOS推送证书(开发环境)和上架到App Store的ios 推送证书!(生产环境) 下面介绍如何申请这两个环境的推送证书p12文件! APP要推送通知首先要在创建 ...

  6. iOS推送证书(开发环境)(生成环境)创建教程

    iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书(开发环境)和上架到App Store的ios 推送证书!(生产环境) APP要推送通知首先要在创建APPID时勾选推送 ...

  7. push证书申请_iOS推送证书申请

    iOS APP需要推送通知,要用到iOS推送证书,分为测试调试用的iOS推送证书和上架到App Store的ios 推送证书! iOS证书申请这里用到一个工具Appuploader,可以在win系统中 ...

  8. app store/ios开发证书、发布证书、推送证书的快捷制作

    文章目录 前言 一.下载安装AppUploader工具 二.使用方法 1.中英文切换 2.证书制作 总结 前言 本文提供给那些无苹果电脑情况下想要快速制作ios证书的人群(QQ:847381460) ...

  9. iOS 推送证书的制作

    关于iOS推送证书的P12文件,并不是直接从KeyChain导出来的证书文件,而是需要经过openSSL工具制作的.(好在Mac OS 默认就有openSSL命令) 针对不同的Server平台,需要的 ...

最新文章

  1. AI如何落地企业?UCloud三步走战略:Build,Train,Deploy
  2. Unity 4.x游戏开发技巧集锦第2章摄像机的应用
  3. Kingbase和PostgreSQL中如何查看当前连接的进程信息
  4. react gps坐标转换_手持GPS的三参数计算方法
  5. Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)
  6. 用C++实现单链表的创建、逆置和输出 的两种方法
  7. 力扣1175.质数排列
  8. -拳王虚拟项目公社:虚拟产品自动赚钱技术 小白快速赚到钱的秘方
  9. 使用IntelliJ IDEA开发Spring MVC HelloWorld
  10. wrong ELF class: ELFCLASS64
  11. 伪异步 I/O 编程
  12. Liferay中页面的权限控制
  13. spring用的是哪种工厂模式_业务复杂就用 ifelse?刚来的技术大佬用这招彻底干掉了!...
  14. WebService原理浅析
  15. 【解决】WPS 2019 Windows版如何更换序列号
  16. Task01:熟悉新闻推荐系统的基本流程(数据库设计)
  17. 怎样将jpg、png制作成windows桌面ico图标文件
  18. SpringBoot+Vue实现前后端分离的企业人事管理系统
  19. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数计算指定连续变量在不同分组变量下和风险比HR值的关系、使用ggplot2可视化变量与风险值HR的关系
  20. mysql 中外码和主码_数据库原理与应用(6)——关系的候选码、主码和外码、关系完整性、关系代数、元组关系的演算、域关系演算...

热门文章

  1. Windows无法格式化改卷,改卷已脱机, 请尝试首先向改卷分配驱动器号或路径使其联机
  2. 大数据产业中的新方式:数据交易
  3. 智慧城市发展概况及其范畴
  4. 九校联考-长沙市一中NOIP模拟Day2T2 走格子(cell)
  5. 【pytest】(详解)@pytest.mark.parametrize: 参数化测试函数
  6. 对开发框架的浅显认识
  7. 国内首个,成都智算中心成东数西算应用混合方案的数据中心样板
  8. PHP全栈学习笔记17
  9. 十一丶面向对象的程序设计
  10. 超级惊艳 10款HTML5动画特效推荐