天天看點

golang的apns證書檔案轉換(P12 to Pem)

golang 不支援p12解析,是以需要轉換成pem 

網上有一些,但都不能實作自動轉換(非互動模式)。以下是非互動模式的轉換:

//生成臨時檔案cert.pem,注意passin 和 passout 選項

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 -passin pass:P12_PASS

//生成臨時檔案key.pem

openssl pkcs12 -nocerts  -out key.pem -in cert.p12 -passin pass:P12_PASS -passout pass:TMP_PASS

//去掉key.pem的密碼

openssl rsa -in key.pem -out key.unencrypted.pem -passin pass:TMP_PASS

//生成生成golang能處理的cert檔案

cert, err := tls.LoadX509KeyPair(cert.pem, key.unencrypted.pem)

這樣就生成golang能處理的證書了。

注:

P12_PASS: 生成p12檔案時的密碼

TMP_PASS:導出的臨時密碼,必須大于等于4個字元

繼續閱讀