如何在 Windows 服务器上安装 Apple Push 证书

Posted

技术标签:

【中文标题】如何在 Windows 服务器上安装 Apple Push 证书【英文标题】:How to install Apple Push certificate on Windows server 【发布时间】:2015-04-20 09:41:50 【问题描述】:

我需要安装从 Apple 开发门户下载的证书,以便在我的 Windows 服务器上测试推送通知。我在网上搜索了一个解决方案,但每个人对此都有不同的看法,有没有人有关于如何做到这一点的分步指南?

【问题讨论】:

【参考方案1】:

我也一直在研究这个主题。以下链接可能对您有用:

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/

我终于通过遵循这些我设法摆脱上述链接的关键点来完成这项工作。它假定您已经按照“标准苹果推送”说明创建了 Apple Push 证书和私钥。

在您的 Mac 机器上,按如下方式生成您的证书(归功于 arashnorouzi):

使用 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 文件导入“console root -> Certificates(Local Machine)”证书,并在“Personal”下归档 为证书添加权限

详细说明:

转到开始 > 运行 输入 mmc 并按 Enter 单击文件 > 添加/删除管理单元 选择证书管理单元并单击添加 选择计算机帐户选项并单击下一步 选择本地计算机选项并单击完成 点击确定 展开证书 > 个人并选择证书文件夹 右击 Apple Push Notification Service – Client Certificate 并选择 All Tasks > Manage Private Keys 在证书属性的“安全”选项卡上,单击“添加” 输入 Authenticated Users 并单击检查名称,然后单击“确定” 选中“允许”列下的“读取”复选框 点击应用然后确定

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 谢谢卢克,我已经更新了 cmets 的要点,这些要点使我可以使用它。我不想在第一次包含任何要点,因为那时它不适合我,而且我想小心复制太多其他人的工作。但是现在它对我有用,这些是我需要的关键点,而我所做的任何其他研究似乎都缺少这些关键点。希望对 oSigno 来说也足够了 @VariousArtist - 我对其进行了编辑,以明确 Windows Server 上的前 3 点是一个摘要。 (在阅读其余部分之前花了一些时间尝试实现它。)感谢您提供了一个很好的答案。 您可以直接从 Mac 上的 Keychain Access 创建 PKCS12 文件,而不是所有 OpenSSL 步骤。选择 APN 证书及其关联的私钥,然后转到文件菜单 -> 导出项目 -> 使用默认的 .p12 格式保存 -> 输入密码以保护导出的项目。根证书和中间 CA 证书也是如此 - 如果 Xcode 已安装在该 Mac 上,它们应该在钥匙串中。 @jk7 我尝试了你的方法,虽然它生成了 P12 文件,但该文件在我的 Windows 服务器上不起作用(即使它在 MMC 控制台中被正确识别)。但是,当我使用您建议的方法仅导出私钥时,效果很好。感谢您的建议,因为它确实减少了步骤并使其更容易,即使我不得不稍微调整一下

以上是关于如何在 Windows 服务器上安装 Apple Push 证书的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 iPhone 的情况下测试 Apple 推送通知服务?

如何在 Apple Silicon (ARM / M1) 上安装 SciPy

如何在Mac上安装Apple Watch屏幕保护程序

如何在搭载 Apple M2 芯片的 Mac 上安装 macOS 虚拟机

如何使用 Homebrew 在 macOS BigSur (Apple Silicon) 上安装和启动 MySQL 5.7?

如何在Apple OS X 10.5 Leopard上构建和安装GNU wget