OPENSSL常用命令

1. 生成CSR命令
以下命令用来生成CSR、Key,以及生成自签发证书
生成CSR - RSA加密算法
openssl req -out www_cheapssl_cn.csr -new -sha256 -newkey rsa:2048 -nodes -keyout www_cheapssl_cn.key
生成CSR - ECC加密算法
openssl ecparam -out server.key -name prime256v1 -genkey
openssl req -new -key server.key -out server.csr
生成自签发证书命令
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
从密钥生成CSR
openssl req -out CSR.csr -key privateKey.key -new
从证书文件生成CSR
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
去除Key密码
openssl rsa -in privateKey.pem -out newPrivateKey.pem
2. OPENSSL相关校验CSR KEY 证书命令
以下命令用来检查、校验Key CSR 以及证书
检查校验CSR包含信息命令
openssl req -text -noout -verify -in CSR.csr
检查校验KEY包含信息命令
openssl rsa -in privateKey.key -check
检查校验SSL证书命令
openssl x509 -in certificate.crt -text -noout
检查校验PKCS#12(后缀为.pfx 或 .p12)格式证书命令
openssl pkcs12 -info -in keyStore.p12
3. OPENSSL的相关排查验证命令
以下命令用来检查、校验Key CSR 以及证书
检查证书、CSR、Key是否匹配命令
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl req -noout -modulus -in CSR.csr | openssl md5
检查已安装SSL证书网站的证书信息命令
openssl s_client -connect www.baidu.com:443
4. PEM转换使用的OPENSSL命令
转换 PEM 到 DER
openssl x509 -outform der -in certificate.pem -out certificate.der
转换 PEM 到 P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
转换 PEM 到 PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
转换 PEM 到 JKS
5. DER转换使用的OPENSSL命令
转换 DER 到 PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
6. P7B转换使用的OPENSSL命令
转换 P7B 到 PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
转换 P7B 到 PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
7. PFX转换使用的OPENSSL命令
转换 PFX 到 PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes