gpt4 book ai didi

c# - SslStream.AuthenticateAsServer 证书链

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:27 24 4
gpt4 key购买 nike

是否可以使用证书链作为服务器连接到客户端?

clientStream.AuthenticateAsServerAsync(certificate, false, System.Security.Authentication.SslProtocols.Tls, false).Wait();

我只是尝试使用自签名证书链连接到客户端,但运气不佳。 SslStream 实例 AuthenticateAsServer 的方法只有一个证书作为参数。但是浏览器要求 additional root certificate .您有任何想法或代码示例吗?

最佳答案

链不发送根,因为 A) 您已经拥有它,所以它对您的根存储是多余的;或 B) 你不相信,在这种情况下你不会相信它,所以何必呢?

RFC 5246, section 7.4.2 :

certificate_list:This is a sequence (chain) of certificates. The sender'scertificate MUST come first in the list. Each followingcertificate MUST directly certify the one preceding it. Becausecertificate validation requires that root keys be distributedindependently, the self-signed certificate that specifies the rootcertificate authority MAY be omitted from the chain, under theassumption that the remote end must already possess it in order tovalidate it in any case.

SslStream 类将发送服务器身份证书,后跟任何它知道的中间件,但不会发送根证书(当然,除非服务器身份证书是自签名的)。

通常不受信任的根可以通过他们写入其子/中间 CA 的权限信息访问记录来查找。如果您没有 AIA 或无法访问端点,则必须通过不同的机制将根传输到客户端计算机。

关于c# - SslStream.AuthenticateAsServer 证书链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com