经常不同平台和语言使用到的SSL相关证书格式都不同,这里记录一些常用的转换方法。
都是通过openssl或keytool进行转换,不需要自己代码实现,使用时替换掉相应的文件名即可。
-------------------------------------- 我是分割线 -----------------------------------------
# crt转pfx(p12)
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx
# csr转pfx(p12)
openssl pkcs12 -export -inkey server.key -in server.csr -out server.pfx
# pfx转jks
keytool -importkeystore -v -srckeystore client.pfx -srcstoretype pkcs12 -destkeystore client.keystore -deststoretype jks# jks转p12(pfx)
keytool -importkeystore -srckeystore client_pri.keystore -destkeystore client_pri.p12 -srcstoretype JKS -deststoretype PKCS12 -srcalias imgo.tv -destalias imgo.tv -noprompt# pfx转x509
openssl pkcs12 -in onovps.com.pfx -nodes -out onovps.com.pemopenssl rsa -in onovps.com.pem -out onovps.com.key
openssl x509 -in onovps.com.pem -out onovps.com.crt
-------------------------------------- 我是分割线 ---------------------------------------
生成证书的话,我一般使用openssl通过如下方式生成:
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl rsa -in server.key -out server.key
# 如果用不到CA的话,就自己颁发证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt