为服务端生成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

results matching ""

    No results matching ""