CertificateValidate Method
Checks if the certificate is valid.

Namespace: MailBee.Security
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.5.0 build 687 for .NET 4.5
Syntax
public CertificateValidationFlags Validate()

Return Value

Type: CertificateValidationFlags
A bitwise combination of CertificateValidationFlags indicating criteria the validation failed for, or None if the certificate is valid.
Exceptions
ExceptionCondition
MailBeeCertificateWin32ExceptionWin32 returned an error during processing the certificate data.
Remarks
You may get IsUntrustedRoot value returned by this method even if you know the certificate is trusted. This may happen if the certification authority (CA) which issued the given certificate is not present in the system CA store. This often happens with ASP.NET applications because ASP.NET user by default has only a few CA's in its system store. You can either add more CA's there or export your CA (one or more) into a file and use it as an extra store. See Validate(CertificateStore) overload or ASP.NET S/MIME demo projects shipped with the product for more details.
Examples
This sample loads the certificate store from disk and validates all the certificates contained in this store.
// To use the code below, import MailBee namespace at the top of your code.
using System;
using MailBee.Security;

// The actual code (put it into a method of your class).
CertificateStore store = new CertificateStore(@"C:\Temp\certificate.p7b", CertStoreType.PublicFile, null);
CertificateCollection coll = store.GetAllCertificates();

foreach (Certificate cert in coll)
{
    Console.WriteLine(cert.Name);
    CertificateValidationFlags status = cert.Validate();
    if (status != CertificateValidationFlags.None)
    {
        Console.WriteLine("Untrusted");
        if ((status & CertificateValidationFlags.IsNotTimeValid) > 0)
        {
            Console.WriteLine("Certificate expired!");
        }
    }
    else
    {
        Console.WriteLine("Trusted");
    }
    Console.WriteLine("--------------------------------");
}
See Also