广告
返回顶部
首页 > 资讯 > 后端开发 > GO >无法从连接读取:远程错误:tls:未知证书
  • 648
分享到

无法从连接读取:远程错误:tls:未知证书

2024-04-05 00:04:55 648人浏览 八月长安
摘要

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《无法从连接读取:远程错误: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:未知证书》的详细内容,更多关于的资料请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 无法从连接读取:远程错误:tls:未知证书

本文链接: https://www.lsjlt.com/news/596842.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作