我正在尝试使用一个使用自签名证书的服务。
--cacert选项一起使用:# curl https://my-server.net --解决我的-server.net.crtcurl:(60) SSL证书问题:无法获得本地颁发者证书的更多详细信息:https://curl.haxx.se/docs/sslcerts.html curl无法验证服务器的合法性,因此无法建立到服务器的安全连接。要了解更多关于这种情况和如何解决的问题,请访问上面提到的网页。我不明白为什么卷发不能验证证书。
发布于 2018-08-17 03:56:05
从评论中:
这真的是CA证书吗,也就是说它基本约束CA真吗?.- Steffen Ullrich @SteffenUllrich你说得对
对证书进行签名要求颁发者证书必须具有正确的标志,以便实际允许签名。要正确签署证书,颁发者证书需要将基本约束CA设置为true。无论是在签署另一个证书时,还是在签署同一证书(即自签名)时,都是如此。在这里,看起来证书没有正确的CA:true标志。
此外,--cacert选项类似于它的名称只表示CA证书,而不是任意证书。例如,如果您拥有一个站点的叶证书,您就不能直接添加它,因为它(通常)不是CA证书,因此与--cacert一样受信任。在从给定文件中读取证书时,它将被忽略。
发布于 2018-08-16 19:59:56
两种猜测:
检查自签名证书的扩展/增强密钥使用字段。

Curl将检查服务器返回的证书是否与您请求的主机名(my-server.net)匹配。
https://security.stackexchange.com/questions/191712
复制相似问题