2012-07-19 127 views
7

我有類似問題:Apple Push Notification in Production Environment : Unable to get local issuer certificate 但在我的本地計算機上。 我跟着這個教程:http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12但在這一步驗證返回碼:20(無法獲得本地發行者證書)

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem 

它說:

(批號和字母) 驗證返回碼:20(無法獲取本地頒發者證書)

問題是什麼?謝謝

回答

15

問題是您正在使用用於開發的「沙箱」APNS服務器。

爲了測試生產證書,您必須連接到生產APNS服務器。您可以使用地址:

gateway.push.apple.com:2195,而不是gateway.sandbox.push.apple.com:2195

+0

我有這個相同的問題,但我使用開發證書,雖然@ gabcas – GangstaGraham 2013-05-14 23:45:51

+0

請確保您已按照[正確的步驟](http://www.raywenderlich.com/3443/apple-push-notification-services -tutorial-part-12)創建/導出開發證書。另外,您可以嘗試生產證書和生產服務器。如果您發現導致錯誤的其他原因,請告訴我們。 – GabCas 2013-05-15 14:09:30

+0

事實證明這個錯誤是,我用私鑰使用密碼,我認爲這是必要的,因爲Keychain Access要求一個,但是當我創建一個沒有密碼的新私鑰時,一切正常。 :) – GangstaGraham 2013-05-15 20:54:40

14

不是問題。這實際上是確認您的證書正在工作。如果它不工作,你會得到這樣的事情:

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

本質上,如果您使用支持證書di的客戶端scovery,而且你不需要openssl來工作,只是爲了確認你的證書是正確的,而且你已經完成了。

0

也許您正在使用開發證書,您需要使用Apple開發IOS推送服務證書,並且還需要從此證書創建.p12,而不是從開發證書創建。

相關問題