// Read the supplied CRL and verify that it is issued by the specified CA
final X509CRL x509crl = (X509CRL) CertTools.getCertificateFactory().generateCRL(new FileInputStream (crl_file));
if (!x509crl.getIssuerX500Principal().getName().equals(cacert.getSubjectX500Principal().getName())){
throw new IOException ("CRL wasn't issued by this CA");
}
x509crl.verify(cacert.getPublicKey());
int crl_no = CrlExtensions.getCrlNumber(x509crl).intValue();
getLogger().info("Processing CRL #" + crl_no);
int miss_count = 0; // Number of certs not already in database
int revoked = 0; // Number of certs activly revoked by this algorithm
int already_revoked = 0; // Number of certs already revoked in database and ignored in non-strict mode