CertVerifyRevocation (crypt32)
Last changed: hashim.saleem@gmail.com-203.128.26.18

.
Summary
TODO - a short description

C# Signature:

[DllImport("Crypt32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool CertVerifyRevocation([In] uint dwEncodingType, [In] uint dwRevType,
                                [In] uint cContext, [In] IntPtr[] rgpvContext,
                      [In] uint dwFlags, [In, Optional] ref CERT_REVOCATION_PARA pRevPara,
                            [In, Out] ref CERT_REVOCATION_STATUS pRevStatus);

VB Signature:

Declare Function CertVerifyRevocation Lib "crypt32.dll" (TODO) As TODO

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

        CERT_REVOCATION_STATUS revStatus = new CERT_REVOCATION_STATUS();
        revStatus.cbSize = Marshal.SizeOf(revStatus);

        CERT_REVOCATION_PARA revPara = new CERT_REVOCATION_PARA();
        revPara.cbSize = Marshal.SizeOf(revPara);
        revPara.pftTimeToUse = Marshal.AllocHGlobal(sizeof(long));
        Marshal.StructureToPtr(DateTime.Now.ToFileTimeUtc(), revPara.pftTimeToUse, false);

        IntPtr[] rgpvContext = new IntPtr[1];
        rgpvContext[0] = RevArgs.TargetCert.Handle;
        revPara.pIssuerCert = issuerCert.Handle;
        bool bSuccess = CertVerifyRevocation(X509_ASN_ENCODING,
                         CERT_CONTEXT_REVOCATION_TYPE, 1, rgpvContext,
                         0, ref revPara, ref revStatus);

Documentation