有没有办法检查SSL数字证书是否有效而无需在Web服务器上安装?

Sur*_*mar 7 ssl https ca digital-certificate

是否有任何工具或机制可以帮助验证CA颁发的SSL证书,然后再将其安装到目标Web服务器上?

小智 8

是的,您可以使用openssl使用s_server命令为证书创建测试服务器.这将创建一个最小的SSL/TLS服务器,响应端口8080上的HTTP请求:

openssl s_server -accept 8080 -www -cert yourcert.pem -key yourcert.key -CAfile chain.pem
Run Code Online (Sandbox Code Playgroud)

yourcert.pem是X.509证书,yourcert.key是您的私钥,chain.pem包含证书和根证书之间的信任链.你的CA应该给你yourcert.pem和chain.pem.

然后使用openssl的s_client建立连接:

openssl s_client -connect localhost:8080 -showcerts -CAfile rootca.pem
Run Code Online (Sandbox Code Playgroud)

或者在Linux上:

openssl s_client -connect localhost:8080 -showcerts -CApath /etc/ssl/certs
Run Code Online (Sandbox Code Playgroud)

警告:该命令不会验证主机名是否与证书的CN(公用名)或SAN(subjectAltName)匹配.OpenSSL还没有针对该任务的例程.它将在OpenSSL 1.1中添加.


小智 6

验证CA颁发的SSL的最佳和最简单方法是对其进行解码.

这是一个有用的链接,可以帮助您做到这一点:http://www.sslshopper.com/csr-decoder.html

希望这可以帮助!