[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);
Declare Function CertVerifyRevocation Lib "crypt32.dll" (TODO) As TODO
None.
Do you know one? Please contribute it!
None.
Please add some!
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);