为服务端生成APNS pem证书
1.用mac OS系统钥匙串创建CertificateSigningRequest.certSigningRequest
2.去Apple开发者Certificates, Identifiers & Profiles页面创建推送证书
1).先在App ID下创建应用的ID
一定要勾选Push Notifications
2).创建Certificates
开发版本选择Apple Push Notification service SSL (Sandbox)
发布版本选择Apple Push Notification service SSL (Sandbox & Production)
创建完毕后下载Certificates
3.打开下载的Cer证书,创建P12证书
回来到钥匙串
在1的位置点右键,导出apns-dev-cert.p12(命名为apns-dev-cert)
在1的位置打开小三角,在2的位置导出apns-dev-key.p12(命名为apns-dev-key)
导出p12时可以设置一个密码
4.导出pem证书
打开终端
定位到2个p12证书所在的路径
执行以下命令
1)导出apns-dev-cert.pem
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
2)导出apns-dev-key.pem
openssl pkcs12 -in apns-dev-key.p12 -out apns-dev-key.pem -nodes
转换证书需要输入创建p12时创建的密码
这样就创建好了2个pem证书
5.验证证书
继续在终端输入
cat apns-dev-cert.pem
如上图:
以“-----BEGIN CERTIFICATE-----”开头
以“-----END CERTIFICATE-----”结尾
即说明证书转换是正确的
同样可以验证
cat apns-dev-key.pem
看到验证结果包含:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
即说明转换成功
现在得到key.pem和cert.pem文件了,无论服务是NodeJS, Python还是Ruby,这只需要这两个文件
下面把2个pem教给服务端的同学就行了,如果还需要2个pem合成的pem
执行命令:
$ cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem