最近在搭建Nginx的过程 为了支持HTTPS服务 需要配置服务器证书
在实际工程过程中供应商给的是jks格式的证书
Nginx接受的公私钥格式是后缀为.crt .key的文件
文件格式为PEM
使用 PEM 文件格式存储证书和密钥。PEM 实质上是 Base64 编码的二进制内容,再加上开始和结束行,如证书文件的-----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
jks转pks
keytool -v -importkeystore -srckeystore trans.jks -srcstoretype jks -srcstorepass P@ssw0rd -destkeystore trans.pfx -deststoretype pkcs12 -deststorepass password
pks转pem
openssl pkcs12 -in trans.pfx -nodes -out trans.pem (pem-64编码)
openssl rsa -in trans.pem -out trans.key
openssl x509 -in trans.pem -out trans.crt(导出的证书不完全,是根证书)
openssl pkcs12 -in trans.pfx -clcerts -nokeys -out cert.crt (是服务器证书 但是不包含证书链,没有证书链客户端不会信任此服务器)
openssl pkcs12 -in trans.pfx -cacerts -nokeys -out cacert.crt(CA链 包含根证书和中间证书)
openssl pkcs12 -in trans.pfx -chain -nokeys -out chaincert.crt(加-chain选项 包含证书链的证书 使我们需要的最终结果)
openssl pkcs12 -in trans.pfx -nokeys -out nochaincert.crt(不加-chain 选项 结果同上)
openssl
从jks直接导出crt证书
-export -alias 1212 -keystore 1212.jks -file out.crt
pem的crt文件
x509 -out outpem.crt -outform pem -text -in out.crt -inform der
检验公私玥的模是否一致 来判断是否是一对密钥
openssl rsa -noout -modulus -in trans.key |openssl md5 RSA中模的md5
openssl x509 -noout -modulus -in trans.crt |openssl md5 RSA中模的md5