iPhone推送通知证书

Uma*_* A. 3 iphone push-notification

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

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

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

以上步骤有效,我可以进行BETA测试.现在为了启用推送通知,我有一个使用推送通知进行测试的设置服务器,并且100%正常工作.当我配置推送通知时,我需要上传密钥链文件.这是我在证书下上传的文件吗?有一个文件作为回报,我双击它,它被添加到钥匙串,我做得对吗?

Rob*_*man 6

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

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

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

一些要点:

  • 我建议您使用不同的密钥进行开发(沙盒)和生产APN.如果要向不同的应用程序发送通知,则可以重新使用密钥,但如果不在开发和生产之间重复使用密钥则更安全.
  • 您"提交"到配置门户的文件是证书请求.每个证书都有一个CSR文件.您将为每个应用程序(bundleID)创建两个CSR; 一个用于开发,一个用于生产.使用您的开发密钥创建的CSR应提交进行开发,并且应使用生产密钥创建的CSR进行生产.
    注意:保留CSR文件.您不必拥有它们,但是当您需要重新发送证书请求时,它将为您节省一些时间.
  • 提交CSR后,您将能够下载实际证书.他们没有立即准备好,所以给Apple一分钟左右,然后刷新浏览器.CSR和证书之间的区别很重要:证书由Apple签署; 它验证了您发送推送通知的能力.下载证书并将其加载到您的钥匙串中(双击即可).
    注意:没有您的私钥,证书是无用的; 因此,如果切换计算机,则需要安全地导出私钥.
  • 发送APN请求的任何计算机都需要私钥和证书.您可以使用Keychain Access将它们导出为单个.p12文件.(我将我的名字命名为MyAppCertKey.p12,表明该文件包含证书密钥.)
  • 最后,我写了一个关于测试/验证与Apple服务器(来自终端)的通信的详细说明.这有点复杂,因为你需要设置一些根证书openssl来验证; 但是,它会告诉您是否正在与服务器正确通信,而无需在接收应用程序本身上进行任何操作.

    无法连接到APNS沙盒服务器

希望有所帮助.