curl(60)ssl证书问题自签名证书localhost在windows
Posted
技术标签:
【中文标题】curl(60)ssl证书问题自签名证书localhost在windows【英文标题】:curl (60) ssl certificate problem self signed certificate localhost at windows 【发布时间】:2021-08-07 15:35:39 【问题描述】:我是新来的,所以请原谅我的提问方式。 我通过如下 curl 命令访问了一个安全的 rest api。
curl -X GET -H 'Authorization: Bearer $Token' https://localhost/student-sevice/list-of-student
出现如下错误
Curl(60) SSL 证书问题:自签名证书。 curl 无法验证服务器的合法性,因此无法建立安全连接
【问题讨论】:
【参考方案1】:这是因为您的 localhost 服务器的 SSL 证书是自签名的(由自己签名),而不是由知名的认证机构 (CA) 签名。
这使得 curl(或任何 https 请求者,如 Chrome 等浏览器)无法保证证书值得推力,因为基本上该证书是在说:'相信我,我就是我所说的我',但在实践中,没有任何证据支持这种说法。 这正是外部 CA 的作用:验证签名证书的身份确实来自自称的人 (https://en.m.wikipedia.org/wiki/Certificate_authority)
您可以使用不安全的 -k 标志 (https://linux.die.net/man/1/curl) 绕过 curl CA 验证,如下所示:
curl -X GET -H 'Authorization: Bearer $Token' -k https://localhost/student-sevice/list-of-student
无论如何,我强烈建议您将服务器证书更改为由知名 CA 验证的证书,以避免进一步的问题。
另见,重复:How to disable cURL SSL certificate verification
【讨论】:
以上是关于curl(60)ssl证书问题自签名证书localhost在windows的主要内容,如果未能解决你的问题,请参考以下文章
cURL 错误 60:SSL 证书问题,anche con cacert.pem