C# 使用自签名证书

C# 使用自签名证书,c#,x509certificate,x509certificate2,C#,X509certificate,X509certificate2,我有以下代码: X509Chain x509Chain = new X509Chain(); x509Chain.ChainPolicy.ExtraStore.Add(certificate1); x509Chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck; x509Chain.ChainPolicy.RevocationFlag = X509RevocationFlag.ExcludeRoot; x509Chain.Bui

我有以下代码:

X509Chain x509Chain = new X509Chain();
x509Chain.ChainPolicy.ExtraStore.Add(certificate1);
x509Chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
x509Chain.ChainPolicy.RevocationFlag = X509RevocationFlag.ExcludeRoot;
x509Chain.Build(certificate2);

foreach (X509ChainElement x509ChainElement in x509Chain.ChainElements)
{
    Log("Name: " + x509ChainElement.Certificate.GetNameInfo(X509NameType.SimpleName, false));
    foreach (X509ChainStatus x509ChainStatus in x509ChainElement.ChainElementStatus)
        Log("status: " + x509ChainStatus.StatusInformation);
    if (x509ChainElement.ChainElementStatus.Length != 0 && (x509ChainElement.Certificate.Thumbprint != certificate1.Thumbprint))// || x509ChainElement.ChainElementStatus[0].Status != X509ChainStatusFlags.UntrustedRoot))
                    return false;
}
如果证书是自签名的,或者至少我认为它没有安装,我无法让它安装证书。在状态日志消息中,我得到以下信息:

已处理证书链,但在根证书中终止 信任提供程序不信任的


如何忽略该检查?

设置要包括的策略。

如果添加此项:x509Chain.ChainPolicy.VerificationFlags=X509VerificationFlags.AllFlags;或者您提到的标志我仍然收到该消息,但x509Chain.Build返回true…这也将完全禁用权限检查,即PartialChain错误仍将导致true。比较以下问题的答案: