开发阶段:
第 1 步:从证书 .p12 创建证书 .pem
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
第 2 步:从密钥 .p12 创建密钥 .pem
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
第 3 步(可选):如果您想删除第二步中询问的密码短语
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
第 4 步:现在我们必须合并 Key .pem 和 Certificate .pem 以获得在 App 开发阶段推送通知所需的 Development .pem。
如果执行了第 3 步,请运行:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
如果第三步没有执行,运行:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
第 5 步:检查证书有效性和与 APNS 的连接
如果执行了第 3 步,请运行:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
如果第三步未执行,运行:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
生产阶段:
第 1 步:从证书 .p12 创建证书 .pem
openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
第 2 步:从密钥 .p12 创建密钥 .pem
openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
第 3 步(可选):如果您想删除第二步中询问的密码短语
openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
第 4 步:现在我们必须合并 Key .pem 和 Certificate .pem 以获得在 App 生产阶段推送通知所需的 Production .pem。
如果执行了第 3 步,请运行:
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
如果第三步未执行,运行:
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
第 5 步:检查证书有效性和与 APNS 的连接。
如果执行了第 3 步,请运行:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
如果第三步没有执行,运行:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem