新闻中心

openssl命令介绍及使用教程
2023-06-19

    一、openssl命令介绍
    openssl是一个功能极其强大的命令行工具,可以用来完成公钥体系(Public Key Infrastructure)及HTTPS相关的很多任务。openssl是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    openssl有两种运行模式:交互模式和批处理模式。直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。
    openssl整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。openssl的目录结构自然也是围绕这三个功能部分进行规划的。
    二、openssl命令的作用
    1.私钥、公钥和参数的创建和管理;
    2.公开密钥加密操作;
    3.创建X.509证书、CSR和CRL;
    4.信息摘要的计算;
    5.使用密码进行加密和解密;
    6.SSL/TLS客户端和服务器测试;
    7.处理S/MIME签名或加密邮件;
    8.时间戳请求、生成和验证。
    三、openssl命令使用教程
    1.获取证书 Public key
    openssl rsa -in certificate.pem -out publickey.pem -outform PEM -pubout
    2.生成自签名证书
    openssl req -nodes -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 356
    3.删除私钥(KEY)密码
    openssl rsa -in private.key -out unencrypted.key -outform PEM
    4.生成带密码的私钥
    openssl genrsa -des3 -out private.key 2048
    5.使用带密码的私钥生成CSR
    openssl req -new -passin pass:密码 -passout pass:密码 -key private.key -out server.csr获取证书HASH
    openssl x509 -noout -hash -in newcert.pem
    6.PEM格式转DER
    openssl x509 -outform der -in certificate.pem -out certificate.der
    7.PEM格式转成P7B
    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
    8.PEM格式转成PFX
    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
    9.DER格式转PEM
    openssl x509 -inform der -in certificate.cer -out certificate.pem
    10.P7B格式转成PEM
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    11.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
    12.PFX格式转成PEM
    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
    13.证书解码
    openssl x509 -in certificate.crt -text -noout
    14.PFX导出私钥
    openssl pkcs12 -in domain.com.pfx -nocerts -out privateKey.pem
    15.PRIVATE KEY 转成 RSA PRIVATE KEY
    openssl rsa -in domain.key -out domain-rsa.key