Golang HTTP x509:在 Windows XP 上运行时出现由未知机构签名的证书错误
在 Golang 中使用 HTTP 访问后端时,某些用户遇到错误“x509:由未知颁发机构签名的证书”。在 Windows XP 上运行应用程序时会出现这种情况,但在 Windows 和 Linux 上则不会。
经过进一步调查,发现证书有效并由受信任的机构签名。此外,在 Windows XP 上运行时,Firefox 和 Chromium 浏览器访问相同的 URL 时不会出现问题。
一种尝试的解决方案是通过在 TLSClientConfig 中设置 InsecureSkyVerify: true 来忽略 TLS 验证。然而,这已被证明是无效的。
正确的解决方案:
错误消息表明问题在于未知的机构签署了证书。确保证书由受信任的机构签名,并且使用正确的证书。
错误的解决方案:
提供的代码尝试设置 InsecureSkyVerify: true,但正确的参数是InsecureSkipVerify。
警告:
应谨慎使用 InsecureSkipVerify,因为它会禁用 TLS 验证并使客户端容易受到中间人攻击。它只能用于测试目的或与VerifyConnection 或VerifyPeerCertificate 结合使用以进行自定义验证。
以上是为什么使用Golang HTTP时仅在Windows XP上出现'x509:由未知机构签名的证书”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!