在 Linux 下使用 OpenSSL 做“验证”,通常是指下面几类场景之一。我按最常见用途给你说明,你可以对号入座。
openssl verify -CAfile ca.crt server.crt
✅ 成功示例:
server.crt: OK
❌ 失败示例:
error 20 at 0 depth lookup: unable to get local issuer certificate
cat intermediate.crt root.crt > ca_chain.crt
openssl verify -CAfile ca_chain.crt server.crt
openssl x509 -in server.crt -noout -text
常用参数:
-subject:查看主题-issuer:颁发者-dates:有效期-serial:序列号openssl x509 -in server.crt -noout -subject -issuer -dates
openssl rsa -in server.key -noout -modulus | openssl md5
openssl x509 -in server.crt -noout -modulus | openssl md5
✅ 两个值一样 → 匹配
openssl s_client -connect example.com:443
只看验证结果:
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -issuer -dates
使用指定 CA 验证:
openssl s_client -connect example.com:443 -CAfile ca.crt
openssl req -in server.csr -noout -text
验证 CSR 和私钥是否匹配:
openssl req -in server.csr -noout -modulus | openssl md5
openssl rsa -in server.key -noout -modulus | openssl md5
openssl dgst -sha256 -sign private.key -out file.sig file.txt
openssl dgst -sha256 -verify public.pem -signature file.sig file.txt
✅ 输出:
Verified OK
openssl verify -CRLfile crl.pem -CAfile ca.crt server.crt
如果你能告诉我你具体想验证什么(如:HTTPS、自签证书、K8s、Nginx、邮件证书等),我可以给你更精确的命令。