验证返回码:20(无法获得本地颁发者证书)

时间:2012-07-19 09:49:28

标签: ios ssl certificate

我遇到类似这样的问题: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(无法获得本地颁发者证书)

问题是什么?谢谢

3 个答案:

答案 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,而不是从开发证书。