我也一直在研究这个课题。以下链接可能对您有用:
http://loudsoftware.com/?p=186
https://arashnorouzi.wordpress.com/2011/04/01/sending-apple-push-notifications-in-asp-net-%e2%80%93-part-2-generating-apns-certificates/
我终于通过遵循我设法从上面的链接中得到的这些关键点来完成这项工作。它假设您已经按照“标准苹果推送”说明创建了苹果推送证书和私钥。
在您的 Mac 计算机上,按如下方式生成证书(归功于 arash norouzi):
使用 open ssl 创建 PKCS12 格式文件,您将需要您的开发者私钥(可以从钥匙串导出)和 CertificateSigningRequest??.certSigningRequest
- 将 apn_developer_identity.cer (der 格式)转换为 pem:
openssl x509 -in apn_developer_identity.cer -inform DER -out apn_developer_identity.pem -outform PEM}
- 接下来,将 p12 私钥转换为 pem(需要输入至少 4 个字符的密码):
openssl pkcs12 -nocerts -out private_dev_key.pem -in private_dev_key.p12
- (可选):如果您想从私钥中删除密码:
openssl rsa -out private_key_noenc.pem -in private_key.pem
- 获取证书和密钥(带或不带密码)并创建 PKCS#12 格式文件:
openssl pkcs12 -export -in apn_developer_identity.pem -inkey private_key_noenc.pem -certfile CertificateSigningRequest??.certSigningRequest -name “apn_developer_identity” -out apn_developer_identity.p12
现在,在您的 Windows Server 上执行以下操作(记入 Loudsoftware 的账单):
- 将上面的.p12文件复制到windows服务器
- 打开mmc.exe并将.p12文件导入到“控制台根目录->证书(本地计算机)”证书中,并将文件放在“个人”下
- 为证书添加权限
详细地:
- 转到开始 > 运行
- 输入 mmc 并按 Enter
- 单击文件 > 添加/删除管理单元
- 选择证书管理单元并单击添加
- 选择计算机帐户选项,然后单击下一步
- 选择本地计算机选项并单击完成
- Click OK
- 展开证书 > 个人并选择证书文件夹
- 右键单击“Apple 推送通知服务 – 客户端证书”,然后选择“所有任务”>“管理私钥”
- 在证书属性的安全选项卡上,单击添加
- 输入经过身份验证的用户,然后单击“检查名称”,然后单击“确定”
- 选中“允许”列下的“读取”复选框
- 单击“应用”,然后单击“确定”