在Linux上使用OpenSSL进行数字证书验证的步骤如下:
首先,确保你的Linux系统上已经安装了OpenSSL。大多数Linux发行版默认已经安装了OpenSSL,但如果没有,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install openssl
假设你已经有一个证书文件(例如 certificate.crt
),你可以使用以下命令查看证书的详细信息:
openssl x509 -in certificate.crt -text -noout
如果你的证书是由中间证书签发的,你需要验证整个证书链。假设你有以下文件:
certificate.crt
:你的证书intermediate.crt
:中间证书root.crt
:根证书你可以使用以下命令将这些证书合并到一个文件中,然后进行验证:
cat certificate.crt intermediate.crt root.crt > fullchain.crt
openssl verify -CAfile root.crt fullchain.crt
如果证书链验证成功,你会看到类似以下的输出:
fullchain.crt: OK
你可以使用以下命令检查证书的有效期:
openssl x509 -in certificate.crt -noout -dates
输出示例:
notBefore=Jan 1 12:00:00 2020 GMT
notAfter=Dec 31 23:59:59 2020 GMT
你可以使用以下命令验证证书的签名:
openssl x509 -in certificate.crt -noout -modulus | openssl md5
openssl rsa -in certificate.key -noout -modulus | openssl md5
如果两个命令的输出相同,说明证书的签名是有效的。
如果你需要检查证书是否被吊销,可以使用OCSP(Online Certificate Status Protocol)或CRL(Certificate Revocation List)。以下是使用OCSP的示例:
openssl ocsp -issuer issuer.crt -cert certificate.crt -url http://ocsp.example.com
如果证书未被吊销,你会看到类似以下的输出:
OCSP response: success
你可以使用以下命令检查证书的主题和颁发者:
openssl x509 -in certificate.crt -noout -subject
openssl x509 -in certificate.crt -noout -issuer
输出示例:
subject=CN=example.com
issuer=CN=Root CA,O=Example Org,C=US
通过以上步骤,你可以在Linux上使用OpenSSL对数字证书进行全面的验证。