生成推送证书

1.生成cer证书文件
点击App IDs,点击应用对应的AppID,如果看到Push Notifications后为Configurable,说明还未正常启用推送功能;
点击Edit,在下方下载证书;或Create Certificate…,需要上传CSR文件。

2、把SSL证书.cer文件转换为.pem文件:

openssl x509 -in reading_development.cer -inform der -out reading_development.pem
openssl x509 -in reading_production.cer -inform der -out reading_production.pem

3、把私钥.p12文件转换为.pem文件:

openssl pkcs12 -nocerts -in wwk_develope.p12 -out reading_development_key.pem
openssl pkcs12 -nocerts -in wwk_distribute.p12 -out reading_production_key.pem

这里需要输入导出.p12文件时的设置的密码。然后,需要对生成的pem文件设置一个密语,这个密语在连接服务器时使用。

4、把前面生成的这两个pem文件(证书和私钥)合并成一个pem文件:

cat reading_development.pem reading_development_key.pem > reading_development_result.pem
cat reading_production.pem reading_production_key.pem > reading_production_result.pem

这3步就完成了推送证书的生成,下面的步骤是测试证书及连接是否可用。

5.测试能否连接到APNS

telnet gateway.sandbox.push.apple.com 2195

发送一个规则的,不加密的连接到APNS服务。要确保防火墙允许2195端口。

6.使用2、3步生成的SSL证书和私钥pem文件测试链接苹果服务器:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert reading_development.pem -key reading_development_key.pem

需要输入第2步设置的密语

然后有大段输出。如果链接成功,随便输入一个字符后按下回车,服务器就会断开链接。如果连接异常OpenSSL会返回错误信息。

如果在最后看到下面的内容说明成功了:
CONNECTED(00000003)

Verify return code: 0 (ok)

或者看到像这样的提示:verify error:num=20:unable to get local issuercertificate verify return:0 其实也是没问题的。

最后生成的*result.pem文件交给后台程序推送使用。

发表评论