openssl 证书相关常用命令

查看证书

  • 查看CSR条目

    1
    openssl req -text -noout -verify -in ca.csr
  • 查看证书条目

    1
    openssl x509 -in ca.crt -noout -text
  • 查看签发和到期时间

    1
    openssl x509 -in ca.crt -noout -dates
  • 验证证书是否由CA签发

    1
    openssl verify -verbose -CAFile ca.crt domain.crt
  • 获取OCSP responder地址

    1
    openssl x509 -in server.pem -noout -ocsp_uri 
  • 其他

    1
    2
    3
    4
    5
    6
    7
    8
    openssl x509 -in server.crt -noout -text
    openssl x509 -in server.crt -noout -serial
    openssl x509 -in server.crt -noout -subject
    openssl x509 -in server.crt -noout -issuer
    openssl x509 -in server.crt -noout -fingerprint
    openssl x509 -in server.crt -noout -issuer_hash
    openssl x509 -in server.crt -noout -dates
    openssl x509 -in server.crt -noout -startdate -enddate

私钥生成与验证

  • 创建私钥

    下面的命令创建一个密码保护的2048位私钥domain.key,会提示输入密码,推荐使用-aes128加密。

    1
    openssl genrsa -des3 -out domain.key 2048
  • 验证私钥

    下面的命令可以验证私钥domain.key是否有效

    1
    openssl rsa -check -in domain.key
  • 验证私钥与证书和CSR匹配

    1
    2
    3
    openssl rsa -noout -modulus -in ca.key | openssl md5
    openssl x509 -noout -modulus -in ca.crt | openssl md5
    openssl req -noout -modulus -in ca.csr | openssl md5
  • 加密私钥

    下面的命令将私钥unencrypted.key加密,输出加密后的私钥encrypted.key,执行时会提示设置密码

    1
    openssl rsa -des3  -in unencrypted.key -out encrypted.key
  • 解密私钥

    下面的命令将加密私钥encrypted.key解密,并输出明文结果,执行时会提示设置密码

    1
    openssl rsa  -in encrypted.key -out decrypted.key

证书格式转换

  • PEM转DER

    可以将PEM编码的证书domain.crt转换为二进制DER编码的证书domain.der

    1
    openssl x509  -in domain.crt -outform der -out domain.der
  • DER转PEM

    可以将DER编码的证书(domain.der)转换为PEM编码(domain.crt):

    1
    openssl x509  -inform der -in domain.der  -out domain.crt
  • PEM转PKCS7

    可以将PEM证书(domain.crt和ca-chain.crt)添加到一个PKCS7(domain.p7b)文件中:

    使用-certfile选项指定要添加到PKCS7中的证书

    1
    openssl crl2pkcs7 -nocrl  -certfile domain.crt  -certfile ca-chain.crt  -out domain.p7b
  • PKCS7转换为PEM

    使用下面的命令将PKCS7文件(domain.p7b)转换为PEM文件,如果PKCS7文件中包含多个证书,例如一个普通证书和一个中间CA证书,那么输出的PEM文件中将包含所有的证书。

    1
    openssl pkcs7 -in domain.p7b -print_certs -out domain.crt
  • PEM转换为PKCS12

    可以将私钥文件(domain.key)和证书文件(domain.crt)组合起来生成PKCS12 文件(domain.pfx)命令将提示你输入导出密码,可以留空不填.PKCS12文件也被称为PFX文件,通常用于导入/导出微软IIS中的证书链

    1
    openssl pkcs12 -inkey domain.key -in domain.crt -export -out domain.pfx
  • PKCS12转换为PEM

    也可以将PKCS12文件(domain.pfx)转换为PEM格式(domain.combined.crt)

    1
    openssl pkcs12 -in domain.pfx -nodes -out domain.combined.crt
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信