public override List<VerificationOK> Verify(X509Certificate signCert, X509Certificate issuerCert, DateTime signDate)
{
List<VerificationOK> result = new List<VerificationOK>();
int validCrlsFound = 0;
// first check the list of CRLs that is provided
if (crls != null) {
foreach (X509Crl crl in crls) {
if (Verify(crl, signCert, issuerCert, signDate))
validCrlsFound++;
}
}
// then check online if allowed
bool online = false;
if (onlineCheckingAllowed && validCrlsFound == 0) {
if (Verify(GetCrl(signCert, issuerCert), signCert, issuerCert, signDate)) {
validCrlsFound++;
online = true;
}
}
// show how many valid CRLs were found
LOGGER.Info("Valid CRLs found: " + validCrlsFound);
if (validCrlsFound > 0) {
result.Add(new VerificationOK(signCert, this, "Valid CRLs found: " + validCrlsFound + (online ? " (online)" : "")));
}
if (verifier != null)
result.AddRange(verifier.Verify(signCert, issuerCert, signDate));
// verify using the previous verifier in the chain (if any)
return result;
}