我遇到了 SslStream.AuthenticateAsClient 需要“很长时间”(约 15 秒)的问题。这是一个已知问题,并在此MSDN 博客文章中进行了说明。
它提供了两种可能的解决方案
总而言之,这种行为是设计使然。我们有以下选择: 1) 在本地安装根 CA 证书,这样我们就不需要去 Internet 获取受信任的根 CA 证书列表。2) 通过 GPO 禁用自动根证书更新功能,这样我们无论如何都不会上网。
有人告诉我,从安全角度来看,选项 2 不是一个好主意,所以我需要执行选项 1。
问题是我不知道如何获得根 CA 证书。一旦我拥有它,我可能会弄清楚如何使用 certutil 来安装它。
我可以在这个函数中打破我的执行
private static bool CertificateValidationCallback(
object oSender,
X509Certificate oCertificate,
X509Chain oChain,
SslPolicyErrors oSslPolicyErrors)
{
}
所以我想我的问题是:
如何获得根 CA 证书?我需要什么信息才能得到它?我从哪里得到这些信息?