如何在SSLStream的AuthenticateAsServer()中提供证书链?

时间:2011-09-15 17:51:49

标签: c# .net ssl https mono

我正在使用标准SSLStream在C#中实现SSL服务器。

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

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

所以,问题是 - 如何做到这一点?

谢谢!

PS:我需要一个便携式解决方案,它可以在Windows上以Mono和.NET工作。

1 个答案:

答案 0 :(得分:0)

您的设置是正确的。 Web服务器仅使用一个证书和SslStream(或其他任何内容)。

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

这些信息丢失了吗?