[Golang]可以在没有证书的情况下编写TLS服务器



来自客户端i的TLS配置将InsecureSkipVerify设置为true。如何为该客户端编写服务器,以获取任何证书。tls.config也可以在服务器中提供帮助吗?喜欢将InsecureSkipVerify设置为true?

no,正如@jimb告诉您的那样,TLS无法没有证书。

推理很简单:TLS与安全性有关,证书是加密密钥提供了安全性(TLS使用所谓的"非对称加密"各方都有一个键由私人和公共部位;公共部位是发送给另一方的进行TLS握手时)。

,另一方面,安全性TLS提供的是两个:

  1. 它提供了参与当事方的相互认证Exchange。
  2. 它提供了传输通道的加密。

证书均用于两个方面:它们包含加密密钥的事实用于(2),事实是它们具有所有者的身份编码的事实在其中(并由发行特定固定的人进行验证)用于(1)。

让我不要离题讨论(1)如何详细工作(尽管我真的敦促您阅读一些理论)但是(1)是您实际上想避开。

好(对您)的好处是,它便宜:

  • 可以告诉TLS客户端不要验证服务器的身份。
  • 可以告诉TLS服务器执行相同的操作(通常是默认他们使用的模式 - 对于常规网站来说是典型的例如)。
  • 您可以为您的TLS创建所谓的自我签名证书服务器。

后者除了能够生成的东西之外什么都不需要X.509证书;OpenSSL通常用于此;只是Google为此。

如果您在Debian或Debian衍生产品上(例如Ubuntu,Mint等)考虑安装ssl-cert软件包并使用它提供的make-ssl-cert程序。


确切地说,它们仅保护当事方生成并发送给对称加密的密钥的交换的最初阶段,然后将其用于加密通信通道并重新生成(并重新生成) - 定期交换)。之所以这样做,是因为对称算法速度更快。

相关内容

  • 没有找到相关文章

最新更新