1. 程式人生 > >APNs證書祕鑰生成pem檔案

APNs證書祕鑰生成pem檔案

把.cer檔案轉換成.pem檔案:

$ openssl x509 -in aps_developer_identity.cer -inform der

-out PushChatCert.pem

把私鑰Push.p12檔案轉換成.pem檔案:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in Push.p12

Enter Import Password:

MAC verified OK

Enter PEM pass phrase:

Verifying – Enter PEM pass phrase:

你首先需要為.p12檔案輸入密碼,這樣OpenSSL可以讀它。然後你需要鍵入一個新的密碼短語來加密PEM檔案。你可以選擇一些更安全的密碼短語。

注意:如果你沒有鍵入一個PEM passphrase,OpenSSL將不會返回一個錯誤資訊,但是產生的.pem檔案裡面將不會含有私鑰。

最後。把私鑰和證書整合到一個.pem檔案裡:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

為了測試證書是否工作,執行下面的命令

$ telnet gateway.sandbox.push.apple.com 2195

Trying 17.172.232.226…

Connected to gateway.sandbox.push-apple.com.akadns.net.

Escape character is ‘^]’.

它將嘗試傳送一個規則的,不加密的連線到APNS服務。如果你看到上面的反饋,那說明你的MAC能夠到達APNS。按下Ctrl+C 關閉連線。如果得到一個錯誤資訊,那麼你需要確保你的防火牆允許2195埠。

然後再次連線,這次用我們的SSL證書和私鑰來設定一個安全的連線:

$ openssl s_client -connect gateway.sandbox.push.apple.com:2195

-cert PushChatCert.pem -key PushChatKey.pem

Enter pass phrase for PushChatKey.pem:

你會看到一個完整的輸出,讓你明白OpenSSL在後臺做什麼。如果連線是成功的,你可以鍵入一些字元。當你按下回車後,服務就會斷開連線。

生產線的測試證書是否有效,可以用

$ openssl s_client -connect gateway.push.apple.com:2195

-cert PushChatCert.pem -key PushChatKey.pem