我是使用 OpenSSL 的新手,目前在 Windows 中使用它,试图为连接到我们服务器的一方进行故障排除。
openssl s_client -connect servername:443
CONNECTED(00000134)
depth=0 CN = servername
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = servername
verify error:num=21:unable to verify the first certificate
verify return:1
[other details follow...]
经过几次搜索后,我意识到我需要为受信任的根 ca 指定路径。
-CApath directory 用于服务器证书验证的目录。此目录必须为“哈希格式”,有关详细信息,请参阅验证。这些也用于构建客户端证书链。
-CApath /etc/ssl/certs/
我唯一的问题是大多数在线示例都使用基于 unix 的系统,因此示例通常与上面的示例类似。我对 unix 不太熟悉,所以我假设我的 CA 在
C:\OpenSSL-Win64\bin\cas
然后 ca 路径参数如下所示。CA 采用 .cer / .crt 格式。
-CApath /c/OpenSSL-Win64/bin/cas
但是,我仍然得到相同的结果,所以我不确定我是否理解正确。