本文主要介绍在使用ios APNS推送的时候如何生成服务器需要使用到的p12文件
流程:
1.生成CSR请求文件
2.创建推送证书
3.从苹果开发者平台下载cer文件
4.安装证书秘钥
5.导出p12文件
6.将第3步的cer文件转换为pem格式的文件
7.将第5步的p12文件转换为pem格式的文件
8.将6、7步得到的两个pem文件合并为一个pem文件
9.将第8步得到的pem文件转换为p12文件
10完成。
具体步骤:
1.生成CSR请求文件
打开钥匙串,点击下图对应的位置
弹出下面的界面后,在“用户电子邮件地址”和“CA 电子邮箱地址中”填写你的appId的邮箱账号(就是你登录苹果开发者平台的账号);“常用名称”随便你填写,但是最好必须填写一个名字,不填写可能后面会导致一些问题
最后是这样子的
点击继续后会让你选择一个位置储存,储存后你就能得到一个名字超级长的文件,我们我们称为CSR文件(这个文件先放在这里完成我们流程的第一步,后面会使用到这个文件)
2.创建推送证书
进入苹果开发者中心:https://developer.apple.com/cn/
选择账户进入账号中心
点击下图红色区域位置
继续点击下图红色区域位置
如果你真机测试过那么这里将会在ID栏看到一个与你项目中的Bundle identifiler一样的的id,找到后直接点击
点击后会展开一个菜单,点击最下面的Edit按钮
下图这里就是创建cer证书的地方,点击Create Certificate .. 创建新的cer证书
点击Create Certificate ..后,拉倒最下面点击continue
点击continue后会弹出下面的界面,点击choose File..,选择我们第一步生成的CSR文件
选中后拉到最下面,点击continue
如果点击continue后遇到西面的情形,重新执行上面的第一步开始重新来。
3.下载cer文件
如果没问题回到上面的图4位置点击Download按钮下载cer文件。这样子你得到了一个cer文件。流程中的前3步完成。
4.安装证书秘钥
双击上一步得到的cer文件会在钥匙串中得到一个推送证书的秘钥,第4步完成
5.导出p12文件
在钥匙串中找到刚刚生成的秘钥,右键导出
导出的路径我是放在桌面的,所以在桌面上可以看见一个p12的文件(文件的名字是在导出的时候取得随便你取)。第5步完成
6.将第3步的cer文件转换为pem格式的文件
现在我们将第3步得到的cer文件转换为pem格式的文件
打开终端----->cd打开到cer文件文件夹,执行下面的命令
命令: openssl x509 -inform der -in 文件名称.cer -out PushChatCert.pem
(PushChatCert.pem:生成的pem文件)
7.将第5步的p12文件转换为pem格式的文件
Push.p12:p12的文件名
命令:openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12
(PushChatKey.pem:生成pem的文件名)
8.将6、7步得到的两个pem文件合并为一个pem文件
命令:cat PushChatCert.pem PushChatKey.pem > ck.pem
9.将第8步得到的pem文件转换为p12文件
命令:openssl pkcs12 -export -in ck.pem -out pushcer.p12
(pushcer.p12:最后交给服务器的p12文件)
至此我们完成了。
如果中途遇到问题了欢迎留言,因为项目很赶没有具体去探索各种情况下是否会产生问题,但是希望能给现在的你一些帮助。