1.cer转pem
openssl x509 -inform der -in aps_development.cer -out certificate.pem
#-in 自己的证书名
#-out 输出的证书名
因为golang 不支持p12解析,所以需要转换成pem,生成临时文件cert.pem,注意passin 和 passout 选项
P12_PASS填入你p12文件的密码,TMP_PASS建议填入和p12相同的密码
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
最后会生成两个cer文件cert.pem, key.unencrypted.pem
//golang里调用
cert, err := tls.LoadX509KeyPair("cert.pem", "key.unencrypted.pem")
详细代码如下