我遇到类似这样的问题:Apple Push Notification in Production Environment : Unable to get local issuer certificate 但在我的本地电脑。 我遵循了本教程:http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12但在此步骤中
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
它说:
(很多数字和字母) 验证返回码:20(无法获得本地颁发者证书)
问题是什么?谢谢
答案 0 :(得分:15)
问题是您正在使用用于开发的“沙盒”APNS服务器。
要测试生产证书,您必须连接到生产APNS服务器。您可以使用地址:
gateway.push.apple.com:2195
代替gateway.sandbox.push.apple.com:2195
答案 1 :(得分:15)
此不是问题。事实上,这证实您的证书正在运行。如果它不起作用你会得到这样的东西:
unable to load client certificate private key file
<XXXXX>:error:<XXXX>:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:
<XXXXX>:error:<XXXX>:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:104:
<XXXXX>:error:<XXXX>:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130:
<XXXXX>:error:<XXXX>:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:pem_pkey.c:132:
请参阅本教程的示例 http://lessons.runrev.com/s/lessons/m/4069/l/53405-how-do-i-use-push-notifications-with-ios
或者如果你想从光线听到它 http://www.raywenderlich.com/forums/viewtopic.php?t=380&p=7734
这里有一个解释:OpenSSL: unable to verify the first certificate for Experian URL
基本上,如果您使用支持证书发现的客户端,并且您不需要openssl来工作,只是为了确认您的证书是正确的,并且您已经完成了这项工作,那么证书就可以工作。
答案 2 :(得分:0)
也许您正在使用开发证书,您需要使用Apple开发IOS推送服务证书,您还需要从此证书创建.p12,而不是从开发证书。