private static bool VerifyCertificateIgnoringErrors(SafeCertContextHandle pCertContext)
{
ChainPal chainPal = ChainPal.BuildChain(
true,
CertificatePal.FromHandle(pCertContext.DangerousGetHandle()),
null, //extraStore
null, //applicationPolicy
null, //certificatePolicy
X509RevocationMode.NoCheck,
X509RevocationFlag.ExcludeRoot,
DateTime.Now,
new TimeSpan(0, 0, 0));
if (chainPal == null)
{
return(false);
}
using (chainPal)
{
Exception verificationException;
bool? verified = chainPal.Verify(X509VerificationFlags.NoFlag, out verificationException);
if (!(verified.HasValue && verified.Value))
{
return(false);
}
}
return(true);
}