如何在 SSLStream 的 AuthenticateAsServer() 中提供证书链?
我正在使用标准 SSLStream 在 C# 中实现 SSL 服务器。
到目前为止一切都很好,但是 - AuthenticateAsServer 仅接受单个证书作为参数,而我必须提供完整的链(其中 3 个)。
我已经使用所有证书构建了 PKCS12 结构(在 Mono.Security 的帮助下),然后调用 new X509Certificate2(pkcs12.GetBytes()) ,但尽管如此,只向客户端提供了一个。
那么,问题是——如何做到这一点?
谢谢!
PS:我需要一个可移植的解决方案,它可以在 Windows 上的 Mono 和 .NET 中运行。
I'am implementing a SSL server in C#, using standard SSLStream.
Everything is fine so far, but - AuthenticateAsServer accepts only single certificate as parameter, while I have to provide the complete chain (3 of them).
I've built PKCS12 struct with all certificates (with help of Mono.Security), then call new X509Certificate2(pkcs12.GetBytes())
, but nevertheless, only one is presented to the client.
So, the question is - how this could be done?
Thanks!
PS: I need a portable solution, which will work both in Mono and .NET on Windows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的设置是正确的。 Web 服务器仅使用一个带有
SslStream
(或其他任何内容)的证书。证书可能缺少一些信息:服务器证书的
Authority Information Access
扩展应指向将下载中间证书的 URI。是否缺少此信息?
Your setup is correct. The web server uses only one certificate with the
SslStream
(or anything else).The certificate might be missing some information : The
Authority Information Access
extension of your server certificate shall point to the URI where the intermediary certificate will be downloaded.Is this information missing ?