【问题标题】:curl (60) ssl certificate problem self signed certificate localhost at windowscurl(60)ssl证书问题自签名证书localhost在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 无法验证服务器的合法性,因此无法建立安全连接

【问题讨论】:

    标签: java rest curl jwt


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 2014-02-06
      • 2021-12-14
      • 2021-02-20
      • 2022-01-26
      • 1970-01-01
      • 2019-12-17
      • 2020-09-18
      • 2021-11-29
      相关资源
      最近更新 更多