繁体   English   中英

如何向客户端发送ssl证书链

[英]How to send ssl certificate chain to client

我已经创建了Nodejs Websocket服务器或基于Python的服务器。 如何将证书链发送到 WebSocket 浏览器客户端,以便连接变得可信?

我在这里描述了这个问题 我在示例代码中看到服务器正在使用两个证书——密钥证书和公共证书。 但是,两个示例中都没有使用“ca-bundle”文件。 然而,在 Apache 网络服务器中,它使用了所有三个证书。

Apache 对于包含服务器端点证书的文件有单独的配置选项,它从SSLCertificateFile定义的路径名中读取,对于包含中间证书链的文件,它从SSLCertificateChainFile定义的路径名中读取。

Python 希望将端点和中间证书一起收集在一个文件中,服务器的端点证书显示为该文件中的第一个证书,然后是中间证书。 该文件的路径名应作为certfile参数传递给ssl.wrap_socket()ssl.SSLContext.load_cert_chain() ,或传递给您用来构建 HTTPS 服务器的任何更高级别的 API。 您可以通过简单地将两个 Apache 文件的内容粘贴在一起来为 Python 构建这个单一的组合文件。

Node.js 希望将端点和中间证书作为一个字符串收集在一起,服务器的端点证书显示为该字符串中的第一个证书,中间证书紧随其后——这与 Python 想要的顺序相同。 此字符串作为options参数的cert成员传递给https.createServer() ,或传递给您用来构建 HTTPS 服务器的任何其他 API。 由您来构建证书字符串。 您的程序可以通过从 Apache 使用的两个单独文件中读取证书,然后将字符串连接在一起来执行此操作,或者它可以从您创建的供 Python 使用的单个组合端点+中间文件中将它们全部读取到一个 go 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM