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