如何为ListenAndServeTLS函数提供CA证书

时间:2016-01-09 03:02:49

标签: go https

它在文档中说

“ListenAndServeTLS与ListenAndServe的行为相同,只是它需要HTTPS连接。此外,必须提供包含证书和服务器匹配私钥的文件。如果证书由证书颁发机构签名,则certFile应该是串联服务器的证书,任何中间人和CA的证书。“

然而,我几乎无法理解concatenationintermediates的真正含义。 有谁可以请给我一个例子?提前谢谢。

顺便说一句,我不想​​在tls.Config中加载CA证书,这肯定很有效;)

2 个答案:

答案 0 :(得分:1)

之前的回答没有解决任何问题。最简单的方法是将您的证书(您的证书,而不是您的私钥,显而易见!)上传到the documentation

另一种方法是简单地向您的CA请求 ca-bundle ,然后您将连接如下:

-----BEGIN CERTIFICATE-----
YOUR CERT
YOUR CERT
YOUR CERT
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
SOME INTERMEDIATE CERT
SOME INTERMEDIATE CERT
SOME INTERMEDIATE CERT
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ANOTHER INTERMEDIATE CERT
ANOTHER INTERMEDIATE CERT
ANOTHER INTERMEDIATE CERT
ANOTHER INTERMEDIATE CERT
-----END CERTIFICATE-----

请注意,订单很重要。掌握此文件后,您可以使用ServeAndListenTLS()中的“新证书”。

答案 1 :(得分:0)

这是一个小细节,只需忽略它并添加您的cert.pemkey.pem文件,就像文档说的那样。它在讨论你是怎么做的可以"链" (连接)证书一起将信任从根证书转移到中间证书。所有这些都是PKI如何工作的细节,只要您不弄乱证书和密钥文件,您就不用担心。

您看,您的浏览器知道PayPal实际上是 PayPal 的方式是验证PayPal的证书是否由您的计算机信任的根证书签名。在这种情况下,Symantec签署了证书。

可以制作中级证书颁发机构。例如,最安全的CA实际上不会将服务器与根证书挂钩到互联网;一切都是由中间证书颁发机构签署的,这些机构本身已经由根证书签名。如果中间CA被黑客攻击,那么赛门铁克可以撤销该CA签署的所有证书,这比获得新的公钥设置要容易得多。

您的浏览器可以信任PayPal,因为它是由Symantec的中间CA签署的。中间CA的证书由Symantec的根CA签署。

相关问题