如何在SSLStream's AuthenticateAsServer()中提供证书链

本文关键字:证书链 AuthenticateAsServer SSLStream | 更新日期: 2023-09-27 18:08:37

我正在c#中实现一个SSL服务器,使用标准SSLStream。

到目前为止一切都很好,但是- AuthenticateAsServer只接受单个证书作为参数,而我必须提供完整的链(其中3个)。

我用所有证书(在monos . security的帮助下)构建了PKCS12结构体,然后调用new X509Certificate2(pkcs12.GetBytes()),但是,只有一个被呈现给客户端。

那么,问题是——这是如何做到的?

谢谢!

PS:我需要一个便携的解决方案,它将工作在Mono和。net在Windows上。

如何在SSLStream's AuthenticateAsServer()中提供证书链

你的设置是正确的。web服务器只使用一个证书和SslStream(或其他任何证书)。

证书可能缺少一些信息:您的服务器证书的Authority Information Access扩展应该指向将下载中间证书的URI。