“curl”默认使用什么证书?

Hor*_*vin 6 curl certificate

“curl”默认使用什么证书?

例子:

curl -I -L https://cruises.webjet.com.au
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 15.04 上失败

curl: (60) SSL certificate problem: unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

但是当我添加根证书(请参阅https://www.ssllabs.com/ssltest/analyze.html?d=cruises.webjet.com.au&latest)并运行

curl -I -L --cacert downlaodedCert.pem https://cruises.webjet.com.au
Run Code Online (Sandbox Code Playgroud)

一切安好。所以我猜“curl”默认情况下不使用此根证书。

但我怎样才能看到它使用了哪些证书呢?

Rik*_*röm 4

curl 使用自己的 ca 证书包。

因此,通常您需要添加受信任的服务器,这样做的一种方法就是您所做的方法。例如,如果您使用 Firefox,另一种方法是certutil

如果您只安装了“certutil”工具并运行firefox-db2pem.sh脚本,您还可以从 Firefox 安装中提取 ca 证书 !

希望您发现此信息有帮助:)

注意:该脚本是一个shell脚本,所以如果你在windows上使用起来会稍微复杂一些。使用 msys 或 cygwin 仍然可能。但到那时,它开始变得比它可能值得的更多的工作。