C#中的X509Certificate2链验证(验证)

X509Certificate2 chain verify(validation) in c#

我有三个证书,需要相互验证。 1 个根证书和 2 个叶证书。

尝试使用此代码块:

        bool retVal = false;

        X509Chain chain = new X509Chain();

        chain.ChainPolicy.ExtraStore.Add(rootCertificate.X509);

        chain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;

        retVal = chain.Build(leafCertificate.X509);

        return retVal;

我总是错的。在互联网上找不到任何不同的方式。

感谢您的帮助。

如果您将不受信任的证书添加到链中,您需要使用 A​​llowUnknownCertificateAuthority 标志进行验证。 尝试添加这个

chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllowUnknownCertificateAuthority;

在你打电话之前 chain.Build().