CURLOPT_固定公钥无效

CURLOPT_固定公钥无效,curl,libcurl,Curl,Libcurl,我正在使用CURLOPT_PINNEDPUBLICKEY锁定证书。我还将CURLOPT_SSL_VERIFYPEER设置为1,并将CURLOPT_SSL_VERIFYHOST设置为文档中提到的值 我获取了目标服务器的证书文件并创建了sha256 base64字符串,如CURLOPT_PINNEDPUBLICKEY的curl文档中所述。将有效的sha字符串设置为“sha256//sddgdSDFSQWbGGRFr9rugEih7jghJwjj0xqcvbo=”,或更改此字符串中的几个字符,并将其设

我正在使用CURLOPT_PINNEDPUBLICKEY锁定证书。我还将CURLOPT_SSL_VERIFYPEER设置为1,并将CURLOPT_SSL_VERIFYHOST设置为文档中提到的值

我获取了目标服务器的证书文件并创建了sha256 base64字符串,如CURLOPT_PINNEDPUBLICKEY的curl文档中所述。将有效的sha字符串设置为“sha256//sddgdSDFSQWbGGRFr9rugEih7jghJwjj0xqcvbo=”,或更改此字符串中的几个字符,并将其设置为PINNEDPUBLICKEY,将导致curl调用成功。我希望无效的sha会导致错误CURLE\u SSL\u PINNEDPUBKEYNOTMATCH。但事实并非如此

我将证书从chrome浏览器保存到der文件和pem文件,并给出了curl opt PINNEDPUBLICKEY的路径。仍然有效的密钥和无效的密钥都会导致成功

无效字符串不应该导致错误吗?我不确定PINNEDPUBLICKEY是否有效。也许我错过了什么?任何投入都会大有裨益


谢谢解决我的问题:我需要将curl库从7.42升级到7.48。这解决了这个问题,并提供了正确的错误代码,我认为这是一个错误的公钥。

可能是libcurl错误,也可能是其他原因……fwiw:我使用的是libcurl 7.42版本。不知道这是否是版本升级问题。您可能希望将其放到curl库列表中。顺便说一句,curl的测试2035验证了该功能(使用错误的固定键)。此外,我需要将curl库从7.42升级到7.48。这解决了这个问题,并提供了正确的错误代码,我认为这是一个错误的公钥。