2013年3月8日 星期五

iOS 憑證 (p12) 與 keystore 轉換

…我真沒想到前幾篇寫完後,現在竟然還有後續 orz

參考文章

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

http://stackoverflow.com/questions/4325263/how-to-import-a-cer-certificate-into-a-java-keystore

java keytool 常用方法

https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html

keytool 手冊

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html

java keytool GUI

http://portecle.sourceforge.net/

keychain access 會產生 private key, public key,並且產生 CSR

上傳 CSR 到 apple dev, 會得到 certificate (dev/dis)

如果需要使用推播,那需要有 SSL 檔案

推播使用的 SSL 檔案也可以經由 CSR 檔案產生

之後就可以下載 push.cer (dev/dis)

然後,

java 吃的是 keystone (可以看成和 certificate on mac 類似的證書)

我們可以把 private key 輸出成 p12

這樣在其他電腦上匯入用該 private key 產生的 certificate/keystore 時

該電腦才可以正確使用那些 certificate/keystore

pem 檔案格式的內容包括了 private key 和 certificate

p12 是匯出 private key 後的檔案格式

pem 是結合了 p12 和 certificate 的檔案格式

certificate: 以 public key 簽署的檔案

將 private key 和 certificates (.cer) 從keychain 匯出後

可以使用

keytool -v -list -storetype pkcs12 -keystore [檔名.p12]

檢查 alias name,準備給匯入指令

匯入指令

keytool -importkeystore -srckeystore [檔名.p12] -srcstoretype pkcs12

-srcalias [ALIAS_SRC] -destkeystore [目標檔名.jks]

-deststoretype jks -deststorepass [p12 檔案所用密碼] -destalias [ALIAS_DEST]

[ALIAS_SRC] certificate 在 .p12 中的 alias name

[ALIAS_DEST] 要放在 JKS keystore 中的 alias name

--

window 用

pfx (軟體憑證):一種帶有私鑰的憑證檔案副檔名。

此檔案支援PKCS12格式標準。

由於pfx檔案帶有私密金鑰,因此具有可攜帶/交換的特性。

沒有留言: