文章参考及借鉴学习:
- CRT、CER、PEM、DER编码、JKS、KeyStore等格式证书说明及转换_crt jks 公钥 证书_小黑刀的博客-优快云博客
- https://blog.youkuaiyun.com/xiangguiwang/article/details/76400805
- 无私钥情况下转换pem格式证书为jks格式_pem里没有私钥-优快云博客
- https://blog.youkuaiyun.com/qq_18105691/article/details/83339101
- 获取SSL证书的指纹_51CTO博客_ssl证书指纹
注意:文中用.crt的文件 可用.cer文件替代
格式转换
der文件 转换为 jks文件
keytool -import -alias youralias -keystore output.jks -file cert.der -keypass youraliaspass
若需要修改jks文件的别名及别名密码,可以使用以下,需要确认证书密码及旧别名密码
keytool -changealias -keystore yourjks.jks -alias oldalias -destalias newalias
pem文件 转换为 der文件
openssl x509 -outform der -in cert.pem -out cert.der
或
openssl x509 -in cert.crt -outform der -out cert.der
der文件 转换为 pem文件
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
jks文件 转换为 keystore文件
从.jks文件 导出 .p12文件
keytool -importkeystore -srckeystore upload_jks.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore upload_p12.p12
从.p12文件 导入到 .keystore文件
keytool -v -importkeystore -srckeystore upload_p12.p12 -srcstoretype PKCS12 -destkeystore upload_keystore.keystore -deststoretype JKS
将jks文件中的证书存到 cer文件
keytool -export -alias aliasname -keystore upload_jks.jks -storepass storepassword -file upload_cer.cer
cer/crt文件 转换为 der文件
openssl x509 -inform der -in upload_cer.cer -out upload_pem.pem
openssl x509 -outform der -in upload_pem.pem -out upload_der.der
查看证书信息
查看keystore指纹
查看PEM编码证书
openssl x509 -in cert.pem -text -noout
openssl x509 -in cert.cer -text -noout
openssl x509 -in cert.crt -text -noout
如果您遇到这个错误,这意味着您正在尝试查看DER编码的证书,并需要使用“查看DER编码证书”中的命令。
unable to load certificate
查看DER编码证书
openssl x509 -in certificate.der -inform der -text -noout
如果您遇到以下错误,则表示您尝试使用DER编码证书的命令查看PEM编码证书。在“查看PEM编码的证书”中使用命令
unable to load certificate
13978:error:0D0680A8:asn1 encodingroutines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306:
13978:error:0D07803A:asn1 encodingroutines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509
获取SSL证书的指纹
openssl x509 -fingerprint -in cerfile.crt -inform PEM
openssl x509 -fingerprint -in cerfile.crt -inform DER
若是需要指定显示SHA1或者SHA256算法编码的指纹信息,则追加参数
openssl x509 -fingerprint -sha1 -in cerfile.crt
openssl x509 -fingerprint -sha256 -in cerfile.crt
openssl x509 -fingerprint -md5 -in cerfile.crt
查看jks、keystore文件的证书指纹
keytool -list -v -keystore upload_jks.jks
keytool -list -v -keystore upload_keystore.keystore