cryptnet: Fall back to online CRL verification if OCSP verification fails.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53136
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53138
This commit is contained in:
Hans Leidekker 2022-06-15 14:09:00 +02:00 committed by Alexandre Julliard
parent f08dcbf894
commit 987d637e31

View file

@ -2149,12 +2149,16 @@ static DWORD verify_cert_revocation(const CERT_CONTEXT *cert, FILETIME *pTime,
if ((ext = CertFindExtension(szOID_AUTHORITY_INFO_ACCESS, cert->pCertInfo->cExtension, cert->pCertInfo->rgExtension)))
{
error = verify_cert_revocation_from_aia_ext(&ext->Value, cert, pTime, dwFlags, pRevPara, pRevStatus);
TRACE("verify_cert_revocation_from_aia_ext() returned %08lx\n", error);
if (error == ERROR_SUCCESS || error == CRYPT_E_REVOKED) return error;
}
else if ((ext = CertFindExtension(szOID_CRL_DIST_POINTS, cert->pCertInfo->cExtension, cert->pCertInfo->rgExtension)))
if ((ext = CertFindExtension(szOID_CRL_DIST_POINTS, cert->pCertInfo->cExtension, cert->pCertInfo->rgExtension)))
{
error = verify_cert_revocation_from_dist_points_ext(&ext->Value, cert, pTime, dwFlags, pRevPara, pRevStatus);
TRACE("verify_cert_revocation_from_dist_points_ext() returned %08lx\n", error);
if (error == ERROR_SUCCESS || error == CRYPT_E_REVOKED) return error;
}
else
if (!ext)
{
if (pRevPara && pRevPara->hCrlStore && pRevPara->pIssuerCert)
{