/** return the issuer of the given CRL as an X509PrincipalObject. */ public static X509Principal getIssuerX509Principal(X509CRL crl) throws CRLException { try { TBSCertList tbsCertList = TBSCertList.getInstance(ASN1Object.fromByteArray(crl.getTBSCertList())); return new X509Principal(tbsCertList.getIssuer()); } catch (IOException e) { throw new CRLException(e.toString()); } }
/** * Return an interned X509CRLImpl for the given certificate. For more information, see * intern(X509Certificate). */ public static synchronized X509CRLImpl intern(X509CRL c) throws CRLException { if (c == null) { return null; } boolean isImpl = c instanceof X509CRLImpl; byte[] encoding; if (isImpl) { encoding = ((X509CRLImpl) c).getEncodedInternal(); } else { encoding = c.getEncoded(); } X509CRLImpl newC = getFromCache(crlCache, encoding); if (newC != null) { return newC; } if (isImpl) { newC = (X509CRLImpl) c; } else { newC = new X509CRLImpl(encoding); encoding = newC.getEncodedInternal(); } addToCache(crlCache, encoding, newC); return newC; }