导出pem证书给服务端Push Notification使用

1、 钥匙串创建Push证书的证书签名请求文件(CSR文件)。

如下图所示:


 

2、创建App ID,创建Provisioning Profile,下载安装到XCode。

 

苹果开发者后台页面,创建Push Notification App需要的App Id:


注意要勾选需要的服务:

 

接下来,就是到Provisioning Profiles创建新的描述文件,并选取刚才新创建的AppID,然后下载下来,双击安装到XCode里。

 

在您的App源码工程里修改Bundle Identifier为您新创建的那个AppID,再在Build Settings里代码签名的地方Provisioning Profiles选择选择刚才下载的那个。

 

3、接下来从苹果开发者后台下载这个程序需要的Push Notification证书,并安装到钥匙串。

回到页面“App Ids”列表,点击刚才的新创建的AppID,点击“Edit”按钮:


进来后,滚动页面到下面,看到Push Notifications,如下:


点击“Create Certificate”按钮,如果只是开发调试,使用上面那个按钮即可,点击后,如下:


点击“Continue”按钮后如下图,注意选择文件选择的就是上面步骤1产生的“CertificateSigningRequest.certSigningRequest”文件:


点击“Generate”按钮后,如下:


下载“Download”按钮下载证书到本地:


双击aps_development.cer证书将自动安装到钥匙串,如下:

 

 

4、在钥匙串里导出p12文件。

(1)先导出Push Services的证书,比如我们命名为“magic_cert.p12”,注意导出时会让你输入密码。


(2)再导出Push Services证书的密钥(Private Key),比如我们命名为“magic_key.p12”:


 

5、p12文件转换为pem文件。

(1)  将两个p12文件分别转换为pem格式文件。

打开“终端”,敲入命令即可转换。

第一个:

openssl pkcs12 -clcerts -nokeys -out magic_cert.pem -in magic_cert.p12

第二个:

openssl pkcs12 -nocerts -out magic_key.pem-in magic_key.p12

注意会让你输入前面你在钥匙串导出证书时的导出密码。

 

注:如果最终的pem在服务端系统使用时不需要密码,则可以执行命令去除密码:

openssl rsa -in magic_key.pem -outmagic_key_nopwd.pem

 

最后会生成两个pem文件,如:“magic_cert.pem”、“magic_key.pem或者magic_key_nopwd.pem”。

 

(2)  将两个pem文件合并成服务端系统需要的一个pem文件。

依然是命令行执行即可:

cat magic_cert.pem magic_key.pem >magic-dev.pem

 

或者不需要密码的:

cat magic_cert.pem magic_key_nopwd.pem >magic-dev.pem

 

最终会生成一个供服务端系统使用的“magic-dev.pem”。

 

6、OK,打完收工,可以各种吐槽了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值