在PHP中使用cURL,我希望使用SSL建立与特定网站的连接,仅信任该特定网站的证书。我知道如何信任发行CA,但我不想这样做 - 我只想信任该网站已知使用的特定公钥。
我试着用CURLOPT_CAINFO
指向网站当前证书的副本,但是cURL继续给我相同的错误而没有证书信息(“SSL证书问题:证书链中的自签名证书” “或”SSL证书问题:无法获得本地颁发者证书“)。
从证书链中复制CA的证书并不能解决这些错误,但是安装实际的根CA(在“基本约束”字段中用“主题类型= CA”表示,我猜)。
有没有什么方法可以说服cURL信任非CA证书,好像它是自己的CA,或者从别人的SSL证书构建根CA证书(我没有私钥)为)?
(我打算仅在连接到此特定网站时通过CURLOPT_CAINFO
加载此证书,因此不存在过多信任证书的危险。)