一、P12(PKCS12)和JKS互相转换
- P12 ——> JKS
keytool -importkeystore -srckeystore test.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore test.jks
- JSK ——>P12
keytool -importkeystore -srckeystore test.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore test1.p12
二、JKS和CER相互转换
- JKS——->CER
keytool -export -alias test -keystore test.jks -storepass 123456 -file test.cer
- CER——->JKS
keytool -import -v -alias test -file test.cer -keystore test.jks -storepass 123456 -noprompt
三、PFX(P12)与pEM转换
使用比较少
- 去除pem格式的key的密码(输出的密码不输入即可)
openssl rsa -in test.key -out test1.key
- 合并PEM格式输出PFX(p12)
openssl pkcs12 -export -inkey test1.key -in test.crt -out test.pfx
- 指定intermedian和CA
openssl pkcs12 -export -out test1.pfx -inkey my.private.key -in test.crt -certfile test.crt -CAfile test1.crt
- PFX转回PEM
openssl pkcs12 -in cert2.pfx -out cert22.pem -nodes
- PEM转KEY
openssl rsa -in test.pem -out test.key
四、DER与PEM转换
- DER——->PEM
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
- PEM——->DER
openssl x509 -in cert.crt -outform der-out cert.der
五、CER与PEM转换
- CER——->PEM
openssl x509 -in cert2.cer -out cert2.pem -outform PEM
- PEM——–>CERT
这里需要PEM——>PKCS12—–>CRT—–>CER
//PEM-->PKCS12
openssl pkcs12 -export -out cacert.p12 -in cacert.pem
//PKCS12-->CRT
openssl pkcs12 -in cacert.p12 -out mycerts.crt -nokeys -clcerts
//CRT-->CER
openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer
六 JKS与PEM转换
这里可能是上面方法的整合,但为了方便以后开发,还是整合好堆积起来比较美。
- JKS——>PEM
JSK转换为PEM需要先,JKS–>P12–>PEM
//jks--->p12[需要注意这里必须add -alias keyOwnerAlias 否则会报错]
keytool -importkeystore -srckeystore sert.jks -destkeystore sert.p12 -srcstoretype jks -deststoretype pkcs12 -alias keyOwnerAlias
//p12--->pem
openssl pkcs12 -in sert.p12 -out sert.pem
- PEM——>JKS
PEM转换为JKS,需要先PEM—>PFX—->JKS
//PEM--->PFX
openssl pkcs12 -export -out test.pfx -inkey test.key -in test.pem
//PFX--->JKS
keytool -importkeystore -srckeystore test.pfx -destkeystore test.jks -srcstoretype PKCS12 -deststoretype JKS
七、JKS文件转换为KEYSTORE文件
- JKS—–>KEYSTORE
//JKS--->P12
keytool -importkeystore -srckeystore D:\test.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore test1.p12
//P12---->KEYSTORE
keytool -v -importkeystore -srckeystore D:\test.p12 -srcstoretype PKCS12 -destkeystore D:\test.keystore -deststoretype JKS
- KEYSTORE——>JKS
//keystore--->crt
keytool -export -alias test -file D:\test.crt -keystore D:\test.keystore
//CRT-->CER
openssl x509 -inform pem -in test.crt -outform der -out test.cer
//CER--->JKS
keytool -import -v -alias test -file test.cer -keystore test.jks -storepass 123456 -noprompt
https://myssl.com/cert_convert.html,该网站也对证书格式转换提供了支持,但应为很多公司隐私保密政策,还是推荐记住命令or先堆积在那里下次使用时翻出来玩玩。