iOS推送证书的pem文件

公钥生成

推送证书cer转pem
openssl x509 -in aps_development.cer -inform der -out apns-dev-cert.pem

也可以用钥匙串中证书导出p12,然后转为pem公钥
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-develop.p12

私钥生成

如果验证时出现

unable to load client certificate private key file
140735697032136:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.2/libressl/crypto/pem/pem_lib.c:704:Expecting: ANY PRIVATE KEY

需要重新转换私钥
openssl pkcs12 -in push.p12 -out apns-dev-key.pem -nodes
或者 openssl pkcs12 -nocerts -out apns_dev_key.pem -in apns_dev_key.p12

合并

cat apns-dev-cert.pem apns-dev-key.pem > push.pem

验证

与 APNs 之间是加密的连接,因此需要使用证书来加密连接。每个的推送环境有自己单独的推送证书,即开发证书和生产证书。

在将证书最终转为 pem 格式后,可通过与 APNs 连接来测试证书是否有效。

开发环境:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert MyApnsDev.pem

生产环境:

openssl s_client -connect gateway.push.apple.com:2195 -cert MyApnsPro.pem

快捷方法

在推送证书制作已经完成。下载并双击用“钥匙串访问” 程序打开后,在左边一栏,上面选择登录,下面选择证书,然后选择刚刚打开的证书,切记不要展开它,直接右击导出p12,将文件保存为 .p12 格式


导出p12文件

最后进入终端,到证书目录下,运行以下命令将p12文件转换为pem证书文件:
openssl pkcs12 -in MyApnsCert.p12 -out MyApnsCert.pem -nodes
然后可以直接验证
显示

验证成功

大功告成!

你可能感兴趣的:(iOS推送证书的pem文件)