如何通过bash验证与服务器的SSL连接?

时间:2013-09-01 00:04:35

标签: bash ssl

我有一台安装了证书的服务器。服务器的主机名是abc.example.com。服务器上安装的证书在CN(def.example.com)中具有不同的DNS名称。但是,证书具有SubjAltNames,它指定abc.example.com和def.example.com。此服务器运行Tomcat服务器并正确配置密钥库。客户端已安装必要的RootCA。我想通过bash脚本验证在这种情况下,如果连接尝试服务器成功。我尝试使用以下命令 -

`wget --server-response --max-redirect=0 https://abc.example.com:443/myapp`

但是,这两个命令都失败了 错误:证书公用名def.example.com与请求的主机名abc.example.com不匹配。

有关如何验证客户端上安装的root-ca是否确实可用于连接服务器的任何输入?

1 个答案:

答案 0 :(得分:3)

我建议使用openssl s_client SSL客户端,该客户端用于SSL调试,并且有大量相关的命令行标记(您可以通过键入man s_client来阅读,但这有点特定于发行版)。请特别注意-verify-showcerts选项。