2012-04-09 82 views
12

我試圖做推送通知我的應用程序和該鏈接下面 http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12終端誤差建立安全連接:

我的系統已與遠程登錄成功連接,但是當我輸入連接的SSL證書和私鑰查詢則發現了一個錯誤

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem 
unable to load client certificate private key file 
1301:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/pem/pem_lib.c:648:Expecting: ANY PRIVATE KEY 

任何人能告訴我是什麼類型的錯誤,什麼是它的解決方案?

在此先感謝

回答

12

下面的命令是不夠好,驗證密鑰/證書:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert push_development.pem 

的關鍵部分是選擇這兩個證書私鑰從鑰匙串訪問導出的.p12(當你將被要求3個密碼,一個用於.p12,一個用於證書,一個用於私鑰)。

要轉換的.p12爲.pem,從Apple按照指示:

openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes 
+0

仍然無助於「無法加載客戶端證書私鑰文件」。 'openssl s_client -connect api.development.push.apple.com:443 -cert my.pem' – YumYumYum 2017-12-28 12:25:56

13

起初我也面臨這個問題。

我們有兩個文件

1)一個是從蘋果 2)另1是從keychain access與我們剛剛創建的通用名稱aps_development.cer

之後,兩者都將其轉換爲.pem文件。例如,cert.pemkey.pem。 後,使用下面的命令

cat cert.pem key.pem > ck.pem 

起初我openssl可以使用下面的命令合併這兩個文件。

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

這會將您提到的錯誤返回給我。 之後我嘗試使用

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

然後它的工作已經完成。希望這可以幫助。

+4

我也做了同樣的事情,但問題仍然存在任何建議THX – sailing 2013-03-28 06:31:23

+0

我?嘗試了提議解決方案,但錯誤仍然存​​在。任何其他建議? – 2013-05-30 08:08:08

6

我面臨同樣的問題,而我產生了企業分配一個PEM文件,但後來我想通了,我產生對iPhone的發佈證書密鑰的P12文件雖然我應該已經產生了對P12 Apple製作iOS Push服務鍵。希望這可以解決問題,如果任何人使用分配密鑰。

2

您好,請遵循以下命令。 第一步 OpenSSL的PKCS12 -clcerts -nokeys退房手續developer_key.pem -in developer_key.p12

注:只需將終端上的文件路徑...

第二步 OpenSSL的PKCS12 -nocerts -out apns_key.pem -in apns_key.p12

步驟3 OpenSSL的PKCS12 -in developer_key.p12 -out developer_key.pem -nodes -clcerts

步驟4 OpenSSL的PKCS12 -in apns_key.p12 -out apns_key.pem -nodes -clcerts

步驟5 貓apns_key.pem developer_ket.pem> developer.pem

做同樣的步驟,分配證書

創建developer.pem和distribution.pem後

請覈實以下命令兩個文件。

第六步 的OpenSSL的s_client.First -connect gateway.sandbox.push.apple.com:2195 -cert developer.pem -debug -showcerts -CAfile「Entrust.net.Certification管理局(2048).PEM

2

的通知。是密碼短語必須大於3個字符

我剛纔固定的密碼短語是:d

相關問題