OpenSSL 是一个强大的命令行工具,可以用于处理SSL/TLS证书、密钥和其他加密任务。OpenSSL常用命令如下!
证书基本信息的查询:
openssl x509 -in certificate.crt -text -noout
其中 certificate.crt 是证书文件。这个命令能直接显示证书的详细信息,包括版本、序列号、签名算法、有效期、发行者和主题信息等。
检查证书是否在有效期内:
openssl x509 -in certificate.crt -check_date YYYYMMDDHHMMSSZ
将 YYYYMMDDHHMMSSZ 替换为你想要检查的具体日期(格式为年月日时分秒,后面跟上时区指示符 'Z' 表示UTC时间)。如果证书在指定日期有效,命令不会输出任何内容;如果证书已过期或尚未生效,它会显示错误信息。
验证证书的指纹:
openssl x509 -in certificate.crt -noout -fingerprint -sha256
这个命令会计算并显示证书的SHA-256指纹。
验证证书链:
openssl verify -CAfile ca_bundle.crt certificate.crt
这里 ca_bundle.crt 是包含证书颁发机构(CA)证书的文件。这个命令会验证指定证书是否由CA证书签发。
查看证书的公钥:
openssl x509 -in certificate.crt -noout -pubkey
这个命令会提取并显示证书的公钥。
检查证书的序列号:
openssl x509 -in certificate.crt -noout -serial
显示证书的序列号。
检查证书的签名算法:
openssl x509 -in certificate.crt -noout -signkey
显示用于签名证书的私钥的公共指数和模数长度。
查看证书的颁发者和主题:
openssl x509 -in certificate.crt -noout -issuer -subject
显示证书的颁发者和主题信息。
检查证书的有效期:
openssl x509 -in certificate.crt -noout -dates
显示证书的有效期,包括证书生效和到期的日期。
检查OCSP(在线证书状态协议):
openssl ocsp -no_nonce -issuer ca_bundle.crt -cert certificate.crt -url http://ocsp.example.com
这个命令会向OCSP服务器查询证书的状态。需要替换 http://ocsp.example.com 为实际的OCSP服务URL。
需要确保将 certificate.crt 和 ca_bundle.crt 替换为实际证书文件和CA证书文件的路径。以上命令在Linux、macOS以及其他类Unix系统上通常都可用。在Windows上,你可能需要使用类似Cygwin或Windows Subsystem for Linux (WSL)的环境来运行这些命令。