苹果推送通知证书

3

我正在尝试创建证书,以便在我的设备上发送推送通知,但我完全不知道该怎么做。我已经使用了BETA和分发的证书,但添加推送通知很麻烦。

当我为BETA测试创建证书时,我执行以下步骤:

  1. 从钥匙串中,向证书颁发机构请求证书。
  2. 在苹果的Provisioning Portal下的证书中,上传文件keychain文件来创建一个证书。
  3. 假设APP ID已经创建完美,并且设备已准备好。
  4. 在苹果的Provisioning Portal下的Provisioning中,我创建了一个新配置文件,并下载移动配置文件将其添加到XCode组织者中。

上述步骤可以用于BETA测试。现在为了启用推送通知,我已经设置了服务器并进行了推送通知测试,而且测试结果是100%正常的。当我为推送通知进行配置时,我需要上传keychain文件。这是我在Certificates下上传的相同文件吗?有一个文件返回后,我双击它并将其添加到keychain中,我这样做对吗?

1个回答

6
如果我正确理解了你的问题,答案是否定的,它们不应该是同一个文件。我将详细解释整个过程,希望这能澄清情况(以及你需要做什么接下来)。
当你启用推送通知时,你需要完成以下四个步骤:
1. 创建私钥/公钥对。 2. 创建证书签名请求(CSR),并用你的私钥签名。 3. 向 Apple 提交 CSR 并下载已签名的证书。 4. 创建包含你的证书和私钥的文件,用于验证每个 APN 请求。
一些要点:
- 我建议你为开发(沙盒环境)和生产 APN 使用不同的密钥。如果你要向不同的应用程序发送通知,则可以重复使用密钥,但如果在开发和生产之间不重复使用密钥,则更安全。 - 你“提交”给预配门户的文件是证书请求。每个证书都有一个 CSR 文件。每个应用程序(bundleID)都需要创建两个 CSR:一个用于开发,一个用于生产。使用你的开发密钥创建的 CSR 应该提交到开发环境,使用你的生产密钥创建的 CSR 应该提交到生产环境。
注意:保留 CSR 文件。虽然不必拥有它们,但当你需要重新发送证书请求时,它们会为你节省时间。 - 提交 CSR 后,你将能够下载实际的证书。它们不是立即可用的,所以请给 Apple 一两分钟的时间,然后刷新你的浏览器。证书和证书请求之间的区别很重要:证书由 Apple 签名;它验证了你发送推送通知的能力。下载证书并将其加载到钥匙串中(双击就可以了)。
注意:如果你更换计算机,那么证书无法使用,因为私钥不在新计算机上。因此,你需要安全地导出私钥。 - 发送 APN 请求的任何计算机都需要私钥和证书。你可以使用 Keychain Access 导出它们为单个 .p12 文件。(我将其命名为 MyAppCertKey.p12,以表示该文件包含证书和密钥。) - 最后,我写了一份详细说明,介绍如何测试/验证与 Apple 服务器的通信(从终端)。这有点复杂,因为你需要设置一些根证书,以便 openssl 可以对其进行验证;但是,它将告诉你是否正确地与服务器通信,而不需要接收应用程序本身进行任何工作。
Couldn't able to connect to APNS Sandbox server 希望这可以帮助到你。

你提到的第三步,是指在Provisioning Portal左侧的Certificates链接还是Push SSL Notification的App Id部分下面? - Umair A.
第三步是通过Provisioning Portal的App IDs部分进行管理;找到您需要配置的AppID并单击“配置”(最右侧)。这将带出“配置App ID”页面,在此页面上,您可以启用推送通知服务;启用APN服务后,您可以(针对开发和生产)上传证书签名请求,然后下载已签名的证书。 - Robert Altman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接