在尝试调试客户端Web服务器上的一些SSL问题时,我遇到了s_client
的一个有趣行为。
如果我这样做
openssl s_client -servername 'www.delinat.com' -connect www.delinat.com:443
s_client
给了我Verify return code: 20 (unable to get local issuer certificate)
。
我想这意味着默认情况下,它没有使用任何受信任的根证书,因为这是-CApath
和-CAfile
选项的用途,对吧?
但请考虑一下:
openssl s_client -servername 'www.delinat.com' -connect www.delinat.com:443 -CApath foo
此命令将返回Verify return code: 0 (ok)
,但没有目录foo
!
看起来好像提供一条不相干的路径会以某种方式迫使s_client
使用默认的根证书。
但是给-CApath
选项没有值会产生错误。
任何人都可以对这种行为有所了解吗?此外,哪个根证书s_client
在第二种情况下使用?