【问题标题】:iPhone Push Notification CertificatesiPhone 推送通知证书
【发布时间】:2011-09-13 18:45:42
【问题描述】:

我正在尝试创建允许我在我的设备上发送推送通知的证书,但我完全迷路了。我使用了 BETA 和分发证书,但添加推送通知很痛苦。

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

  1. 从钥匙串,向证书颁发机构请求证书。
  2. 在 Apple Provisioning Portal 的 Certificates 下,创建证书上传文件 keychain 文件。
  3. 假设 APP ID 已完美创建且设备已准备就绪。
  4. 在 Apple Provisioning Portal 的 Provisioning 下,我创建了一个新配置文件并下载了移动配置文件以添加到 XCode 管理器中。

上述步骤有效,我可以进行 BETA 测试。现在为了启用推送通知,我设置了经过推送通知测试并且 100% 正常工作的服务器。当我配置推送通知时,我需要上传钥匙串文件。那是我在证书下上传的同一个文件吗?作为回报,我双击一个文件并将其添加到钥匙串中,我做对了吗?

【问题讨论】:

    标签: iphone push-notification


    【解决方案1】:

    如果我正确理解您的问题,答案是否定的,它不应该是同一个文件。我将详细解释整个过程,希望能澄清情况(以及您接下来需要做什么)。

    启用推送通知后,您需要做四件事:

    1. 创建私钥/公钥对。
    2. 创建证书签名请求 (CSR),使用您的私钥签名。
    3. 向 Apple 提交 CSR 并下载签名证书。
    4. 创建一个包含您的证书和私钥的文件,用于验证每个 APN 请求。

    几点:

    • 我建议您对开发(沙盒)和生产 APN 使用不同的密钥。如果您向不同的应用发送通知,您可以重复使用密钥,但如果您不在开发和生产之间重复使用密钥,则更安全。

    • 您“提交”到供应门户的文件是证书请求。每个证书都有一个 CSR 文件。您将为每个应用程序创建两个 CSR(bundleID);一种用于开发,一种用于生产。使用您的开发密钥创建的 CSR 应提交用于开发,使用您的生产密钥创建的 CSR 应提交用于生产。
      注意:保留 CSR 文件。您不必拥有它们,但它会在您需要重新发送证书请求时为您节省一些时间。

    • 提交 CSR 后,您将能够下载实际证书。他们还没有准备好立即,所以给苹果一分钟左右,然后刷新你的浏览器。 CSR 和证书的区别很重要:证书由 Apple 签名;它验证您发送推送通知的能力。下载证书并将其加载到您的钥匙串中(双击即可)。
      注意:没有你的私钥证书是没有用的;因此,如果您切换计算机,则需要安全地导出您的私钥。

    • 任何发送 APN 请求的计算机都需要私钥和证书。您可以使用 Keychain Access 将它们导出为单个 .p12 文件。 (我命名我的 MyAppCertKey.p12 表示该文件包含证书密钥。)

    • 最后,我写了一篇关于测试/验证与苹果服务器(从终端)通信的详细说明。这有点复杂,因为您需要为openssl 设置一些根证书以进行验证;但是,它会告诉您是否与服务器正确通信,而无需对接收应用程序本身进行任何操作。

      Couldn't able to connect to APNS Sandbox server

    希望对您有所帮助。

    【讨论】:

    • 你提到的第3步。是供应门户左侧的证书链接还是在推送 SSL 通知的 App Id 部分下?
    • 第 3 步通过 Provisioning Portal 的 App IDs 部分进行管理;找到需要配置的AppID,点击“配置”(最右边)。这将打开“配置应用程序 ID”页面,您可以在其中启用推送通知服务;启用 APN 服务后,您可以(用于开发和生产)上传证书签名请求,然后下载签名证书。
    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 2015-01-10
    • 1970-01-01
    • 2011-09-18
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多