Windows服务器上的Apple推送通知证书

Posted

技术标签:

【中文标题】Windows服务器上的Apple推送通知证书【英文标题】:Apple push notifications certificate on windows server 【发布时间】:2016-04-07 10:07:38 【问题描述】:

我正在尝试在我的 IIS 上生成新的推送通知证书。 过去我经常去IIS管理器->服务器证书然后选择“创建证书请求”,填写详细信息,它会生成一个txt文件,我上传到苹果来生成和下载cer文件。

我的问题是由于某种原因我无法上传此文本文件。我收到这条消息:

无效的企业社会责任

选择一个有效的证书签名请求

有人遇到过这个问题吗?

【问题讨论】:

【参考方案1】:

终于搞定了。 这就是我所做的:

在 IIS 中使用 Cygwin:

    生成私钥:

    openssl genrsa -out myAppName.key 2048
    

    从私钥生成 csr 文件:

    openssl req -new -sha256 -key myAppNameCSR.key -out myAppName.csr
    

    上传csr文件到苹果生成证书

    下载证书

    将证书转换为 pem 文件

    openssl x509 -in aps_development.cer -inform der -out myAppNameCert.pem
    

    生成 pfx 文件

    openssl pkcs12 -export -out myAppNameKey.pfx -inkey myAppNameCSR.key -in myAppNameCert.pem
    

在 Windows Server 中安装证书:

单击开始 > 运行。 在提示符下,输入 mmc,然后单击“确定”打开 Microsoft 管理控制台。

单击文件,然后单击添加/删除管理单元。 单击可用管理单元列表中的证书,然后单击添加..

单击计算机帐户。

单击下一步,然后单击完成。 单击确定。 右键单击个人树节点并选择所有任务 > 导入。

按照向导,将其指向生成的 pfx 文件,并提供用于在创建期间保护它的密码。 在个人树节点下,双击证书文件夹。 右键单击新安装的证书。 选择所有任务 > 管理私钥。

在“安全”选项卡中,添加提供读取访问权限的网络服务帐户。 将组 IIS_IUSRS 添加到私钥中,并确保它具有完全控制权。

使用 Cygwin 制作 PEM 文件

所以现在你有了这些文件: 私钥作为 pfx 文件 SSL 证书,aps_development.cer 作为 pem 文件

将 pfx 文件转换为 pem 文件:

openssl pkcs12 -nocerts -out myAppNameKey.pem -in myAppNameKey.pfx

最后,将证书和密钥合并到一个 .pem 文件中:

cat myAppNameCert.pem myAppNameKey.pem > ckDevelopment.pem

希望这可以节省一些时间...

【讨论】:

【参考方案2】:

使用您的钥匙串访问权限生成证书签名请求

本教程可能会对您有所帮助 - http://quickblox.com/developers/How_to_create_APNS_certificates

【讨论】:

我的问题是在 Windows 服务器上生成 cer,本教程适用于 mac。在 mac 上没有问题,因为我可以使用钥匙串访问生成 csr 文件

以上是关于Windows服务器上的Apple推送通知证书的主要内容,如果未能解决你的问题,请参考以下文章

Apple 推送通知令牌

iOS推送通知生产证书通用名称问题

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

Apple Push Notification 与生产服务 URL 上的开发证书一起使用

来自 WebApi 应用程序的 Apple 推送通知

Apple 开发者推送通知 APN 证书因过度使用而被吊销(被 Apple 禁止)?