FetchLinux 验证 SSL 证书的可行方法
一、先澄清与总体思路
二、使用 OpenSSL 验证远程服务器证书
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -datesopenssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -textopenssl x509 -in server.crt -noout -datesopenssl x509 -in server.crt -text -nooutopenssl verify -CAfile /path/to/ca-bundle.crt server.crtcat server.crt intermediate.pem > fullchain.pem,然后 openssl verify -CAfile ca.pem fullchain.pem。openssl ocsp -issuer issuer.crt -cert server.crt -url http://ocsp.example.comopenssl crl -in crl.pem -noout -text。三、使用 curl 验证与排查
curl -v https://example.com
curl --cacert /path/to/ca-bundle.crt https://example.comopenssl s_client -showcerts -connect example.com:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > server.pemcurl --cacert server.pem https://example.comcurl --cacert <(openssl s_client -showcerts -connect example.com:443 </dev/null 2>/dev/null | openssl x509 -outform PEM) https://example.com。四、在 Fetch 或程序中使用证书的正确姿势