您是否需要将APNS证书添加到本地钥匙串?

时间:2015-05-08 11:39:19

标签: ios apple-push-notifications keychain

为推送通知启用iOS应用程序时,您需要创建一个沙箱SSL证书,供服务器用于与APNS通信。是否还需要将沙箱证书添加到您的开发计算机的钥匙串中?

2 个答案:

答案 0 :(得分:1)

SSL证书与相应的开发/分发证书相关联,并且对每个appID都是唯一的。

您无需在开发计算机上安装SSL证书。

更多: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

答案 1 :(得分:1)

所有关于APNS的认证仅供与Apple Push News服务器通信的服务器使用。

以下是为服务器创建所需文件以与Apple服务器通信的“步骤”:

  
      
  1. 从钥匙串创建Certificat签名请求 - > BASENAME.csr
  2.   来自Keychain的
  3. ,导出私钥 - > BASENAME privateKey.p12
  4.   
  5. 在Apple Developer门户中,创建2个证书 - > BASENAME dev.cer和BASENAME prod.cer
  6.         

    - 使用openssl命令

         
        
    1. 将私钥.p12文件转换为.pem文件
    2.   
    3. 将dev .cer文件转换为.pem文件 - > BASENAME dev.pem
    4.         

      - 使用cat命令

           
          
      1. 将开发证书文件和私钥文件合并为一个.pem文件 - > BASENAME dev certKey.pem
      2.         

        - 使用openssl命令

             
            
        1. 将prod .cer文件转换为.pem文件 - > BASENAME prod.pem
        2.         

          - 使用cat命令

               
              
          1. 将prod证书文件和私钥文件合并到一个.pem文件中 - > BASENAME prod certKey.pem
          2.   

然后,您必须使用'* cetKey.pem'文件与您连接到Apple服务器的SSL(在开发过程中使用'* dev certKey.pem'以使用沙盒Apple APNS服务器,并使用'* prod certKey.pem'您的生产应用程序与生产Apple APNS服务器进行通信。)

然后,您可以测试与Apple生产(最终)APNS服务器的连接:

openssl s_client -connect gateway.push.apple.com:2195 -cert "* prod.pem" -key "privateKey.pem"

或沙盒(dev)Apple APNS服务器:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert "* dev.pem" -key "privateKey.pem"