A、苹果服务器地址:
Production和development用的push的服务器不同
p
dev是:$apnsHost = ‘gateway.sandbox.push.apple.com‘;
pro是:$apnsHost = ‘gateway.push.apple.com‘;
所以可以在终端中可以直接进行测试是否网络连通:(终端命令)
telnet gateway.sandbox.push.apple.com 2195
telnet gateway.push.apple.com 2195
所以在服务器开发时需要注意不同部署时,需要连接不同的服务器;
B、p12文件制作(dev和pro 相同)
在配置 P12 证书文件之前, 我们要准备三个文件
1、PushChat.certSigningRequest 请求证书文件
2、PushChatKey.p12 请求证书文件后, 在证书秘钥中生成了一个公钥和私钥, 通过私钥导出的p12文件
3、aps_developer_identity.cer 使用请求证书文件 生成的 推送证书 (app中下载下来的)
具体配置操作:
使用OpenSSL
1、将aps_developer_identity.cer转换成 aps_developer_identity.pem格式。
openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM
2、将p12格式的私钥转换成pem,需要设置4次密码,密码都设置为:abc123。(pro时候我用英文密码时候,服务器端老是没发用,后来我就改成了全数字)
openssl pkcs12 -nocerts -out PushChat_Noenc.pem -in PushChatKey.p12
3、用certificate和the key 创建PKCS#12格式的文件。
openssl pkcs12 -export -in aps_developer_identity.pem -inkey PushChat_Noenc.pem -certfile PushChat.certSigningRequest -name "aps_developer_identity" -out aps_developer_identity.p12
这样我们就得到了在.net应用程序中使用的证书文件:aps_developer_identity.p12
//配置完成之后可以自己初步测算pem文件
//验证证书
//开发
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert aps_developer_identity.pem -key Push_Noenc.pem
//生产
openssl s_client -connect gateway.push.apple.com:2195 -cert aps_production.pem -key Push_Noenc.pem