go - 如何为 ListenAndServeTLS 功能提供 CA 证书

标签 go https

文档里说的

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

但我几乎无法理解concatenationintermediates 的实际含义。 谁能给我举个例子吗?提前致谢。

顺便说一句,我不想​​在 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/

相关文章:

Go protobuf 包冲突

https - 戈朗 : HTTPS request yields "crypto/rsa: verification error"

linux - Grep 用于 http 而不是 https

security - HTTPS 将我重定向到另一个网站

html - 图像未在 https 协议(protocol)中加载

apache-flex - 在 Flex 4 中使用 HTTPS Web 服务

Go - 如何从 PublicKey 生成 SSH PublicKey 指纹,PublicKey 的类型可能是 [ rsa dsa ssh-rsa ssh-dss ecdsa ] 之一

matrix - 在Golang中随机生成一个矩阵

go - 从 PostgreSQL 查询整数数组总是返回 []uint8

go - 提交 Gazelle 生成的 `BUILD.bazel` 文件是最佳做法吗?