使用Postman/Curl/Wget请求两个证书服务器导致失败,而浏览器请求正常

jc3wubiy  于 2022-11-07  发布在  Postman
关注(0)|答案(1)|浏览(267)

我们的服务器使用两个证书:

  • CERT 1:用于与我们的客户端进行双向身份验证,客户端使用自签名证书和私有CA。
  • CERT 2:是一个标准的GoDaddy证书,任何浏览器都会信任它,但客户端不会。

通过浏览器访问服务器工作得很好,因为第二个证书被正确解析和验证。地址栏显示“连接是安全的”。然而,当使用Postman/Curlwget访问同一个服务器时,会抛出一个错误。 Postman 最明确地表示

SSL Error: Unable to verify the first Certificate

我在此设置中的问题:行为上的差异从何而来?浏览器是否更宽容证书?我是否必须使用一些特殊设置,例如 Postman 访问页面,从而迫使它也寻找第二个证书?

rggaifut

rggaifut1#

关于GNU Wget,有许多HTTPS (SSL/TLS) Options,请注意
要支持加密的HTTP(HTTPS)下载,必须使用外部SSL库编译Wget。
因此,首先要检查的是,您的wget是否可以使用https,为了这样做,请运行

wget --version

如果您在输出中看到+https,则说明它支持https。在这种情况下,您可以开始尝试所描述的选项来使其工作。如果您不关心安全性,则可以使用--no-check-certificate,但请注意,它的说明建议
对于自签名/内部证书,您应该下载证书并根据该证书进行验证,而不是强制使用此不安全模式。
我不确定具体哪些选项以及您应该如何使用,但以下内容可能与此相关

--certificate=file
--private-key=file
--ca-certificate=file
--ca-directory=directory

这取决于您拥有的文件。

相关问题