openssl 常用命令
openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持 SSL (Secure Sockets Layer) / TLS (Transport Layer Security) 协议的实现
官网:https://www.openssl.org/source/
# 生成 RSA 私钥(无加密)
openssl genrsa 2048 > rsa_private.key 或 openssl genrsa 2048 -out rsa_private.key
# 生成 RSA 公钥
openssl rsa -in rsa_private.key -pubout > rsa_public.key 或 openssl rsa -in rsa_private.key -pubout -out rsa_public.key
# 生成 RSA 私钥(使用 aes256 加密)
openssl genrsa -aes256 -passout pass:demoduan -out rsa_aes256_private.key 2048
# 通过 aes256 加密后的 RSA 私钥生成公钥( -passin pass:demoduan 参数可避免交互式的输入加密密码)
openssl rsa -in rsa_aes256_private.key -passin pass:demoduan -pubout -out rsa_public.key
# aes256 加密私钥转为无加密私钥
openssl rsa -in rsa_aes256_private.key -passin pass:demoduan -out rsa_private.key
# 无加密私钥转为 aes256 加密私钥
openssl rsa -in rsa_private.key -aes256 -passout pass:demoduan -out rsa_aes256_private.key
# PEM 格式私钥转 DER 格式
openssl rsa -in rsa_private.key -outform der -out rsa_private.der
# 生成 csr (Certificate Signing Request) 文件,其中 csr.cnf 为 ini 格式的基础信息文件,该文件包含公司或组织信息及证书绑定的域名
# 查看 csr 文件详细信息
openssl req -in server.csr -noout -text
openssl x509 -req -days 36500 -in server.csr -signkey rsa_private.key -out server.crt
openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 36500 -out server.crt
openssl x509 -in server.der -inform DER -outform PEM -out server.pem
# 查看 ca 证书详细信息
openssl x509 -in server.crt -noout -text
# ca 证书申请流程