[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Windows doesn't verify digital signature of CRL files



CryptoAPI in Windows will always verify the CRL signature when
determining revocation status of a certificate. While
CertVerifyCertRevocation can be used to validate certificates, we
recommend developers validate certificates using CertGetCertificateChain
in their code because it will construct a certificate chain, download
all necessary CRLs and validate the certificate chain as defined by the
IETF standard (RFC 3280) on certificate validation.

Generally we recommend devs call CertGetCertificateChain and
CertVerifyCertificateChainPolicy to validate certs rather than call
WinVerifyTrust or build their own verification algorithm using APIs such
as CertGetCRLFromStore, CertGetIssuerCertificateFromStore or
CertVerifyRevocation.

Finally, the CRL UI in Windows shows you what is in the CRL. Valid or
not. But code in Windows validates the CRL when needed.

I hope that helps...

Cheers, Michael

[Writing Secure Code 2nd Ed]
http://www.microsoft.com/mspress/books/5957.asp
[Protect Your PC] http://www.microsoft.com/protect
[Blog] http://blogs.msdn.com/michael_howard