code: public RevocationStatus checkRevocationStatus(X509Certificate peerCert, X509Certificate issuerCert)
              throws CertificateVerificationException {
  
          List<String> list = getCrlDistributionPoints(peerCert);
          //check with distributions points in the list one by one. if one fails move to the other.
          for (String crlUrl : list) {
              if (LOG.isInfoEnabled()) {
                  LOG.info("Trying to get CRL for URL: {}", crlUrl);
              }
  
              if (cache != null) {
                  X509CRL x509CRL = cache.getCacheValue(crlUrl);
                  if (x509CRL != null) {
                      RevocationStatus status = getRevocationStatus(x509CRL, peerCert);
                      if (LOG.isInfoEnabled()) {
                          LOG.info("CRL taken from cache.");
                      }
                      return status;
                  }
              }
              try {
                  X509CRL x509CRL = downloadCRLFromWeb(crlUrl);
                  if (x509CRL != null) {
                      if (cache != null) {
                          cache.setCacheValue(crlUrl, x509CRL);
                      }
                      return getRevocationStatus(x509CRL, peerCert);
                  }
              } catch (IOException e) {
                  if (LOG.isInfoEnabled()) {
                      LOG.info("Either URL is bad or can't build X509CRL. So check with the next url in the list.", e);
                  }
              }
          }
          throw new CertificateVerificationException("Cannot check revocation status with the certificate");
      }
docs: Checks revocation status (Good, Revoked, unknown) of the peer certificate.
  
  @param peerCert   peer certificate
  @param issuerCert issuer certificate of the peer.
  @return revocation status of the peer certificate.
  @throws CertificateVerificationException Occurs when it fails to verify the status of certificate.