java - curl(60)ssl证书问题自签名证书localhost在windows
问题描述
我是新来的,所以请原谅我的提问方式。我通过如下 curl 命令访问了一个安全的 rest api。
curl -X GET -H 'Authorization: Bearer ${Token}' https://localhost/student-sevice/list-of-student
出现如下错误
Curl(60) SSL 证书问题:自签名证书。Curl 未能验证服务器的合法性,因此无法建立安全连接
解决方案
这是因为您的 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 验证的证书,以避免进一步的问题。
另请参阅,重复:如何禁用 cURL SSL 证书验证
推荐阅读
- string - 将函数输出分配给 Postgres 变量的语法错误
- pgi - pgf77 vs pgf90 编译软件
- python - 如何根据条件将列值更改为行值
- swift - 将 UITimer 值返回到 mapView - Swift
- javascript - 如何在单页应用程序 (SPA) 中正确配置 Firebase 身份验证?
- java - 如何配置 jhipster 应用程序
- javascript - NuxtJS:如果 id 未定义或为空,则禁用链接
- python - NameError:名称“win”未使用 tkinter python 定义
- fastapi - 使用快速 api 读取 json:api 过滤器
- android - 同时循环两个列表,同时在每个步骤比较和存储每个循环的结果