文档里说的
“ListenAndServeTLS 与 ListenAndServe 的行为相同,除了它需要 HTTPS 连接。此外,必须提供包含服务器证书和匹配私钥的文件。如果证书由证书颁发机构签署,则 certFile 应该是串联服务器证书、任何中间证书和 CA 的证书。”
但我几乎无法理解concatenation
和intermediates
的实际含义。
谁能给我举个例子吗?提前致谢。
顺便说一句,我不想在 tls.Config 中加载 CA 证书,这绝对有效;)
最佳答案
之前的回答没有解决任何问题。最简单的方法是将您的证书(您的证书,而不是您的私钥,原因很明显!)上传到 certificatechain.io .
另一种方法是简单地向您的 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()
中使用“新证书”。
关于go - 如何为 ListenAndServeTLS 功能提供 CA 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689277/