无法从连接读取:远程错误:tls:未知证书
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《无法从连接读取:远程错误:tls:未知证书》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
问题内容我正在 go 中创建一个低级别的 http/2 服务器,为了进行测试,我想使用自签名证书。我正在使用 openssl 和此命令来生成我的证书:
openssl req -x509 -newkey rsa:4096 -nodes -sha256 -subj /cn=localhost -keyout private.pem -out cert.pem
一切似乎都很好,当我 curl -kv https://127.0.0.1:443 --http2-prior-knowledge
时,我得到了这次握手
当我尝试连接 chrome 时,我收到此错误代码 net::err_cert_authority_invalid
,当然我选择继续,但我的服务器退出了此 无法从连接中读取的连接:远程错误:tls:未知证书
。
我尝试过制作不同的证书,但没有成功。如何与我的服务器和 chrome 建立 tls 连接?
这是我设置 tls 的方法:
cer, err := tls.LoadX509KeyPair("cert.pem", "private.pem")
if err != nil {
log.Println(err)
return
}
config := &tls.Config{Certificates: []tls.Certificate{cer}}
ln, err := tls.Listen("tcp", "localhost:443", config)
if err != nil {
log.Println(err)
return
}
defer ln.Close()
解决方案
Chrome 向您提供 NET::ERR_CERT_AUTHORITY_INVALID 正是因为您的证书是自签名的。要实现此功能,您需要创建自己的 CA(证书颁发机构),将其添加到 Chrome 中作为受信任的证书,然后使用该 CA 签署您的服务器证书(以便 Chrome 可以验证证书是否由受信任的 CA 签署)。
查看如何操作:Getting Chrome to accept self-signed localhost certificate
以上就是《无法从连接读取:远程错误:tls:未知证书》的详细内容,更多关于的资料请关注编程网公众号!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341