Search in sources :

Example 6 with X509CRLImpl

use of sun.security.x509.X509CRLImpl in project j2objc by google.

the class X509Factory method engineGenerateCRL.

/**
 * Generates an X.509 certificate revocation list (CRL) object and
 * initializes it with the data read from the given input stream
 * <code>is</code>.
 *
 * @param is an input stream with the CRL data.
 *
 * @return an X.509 CRL object initialized with the data
 * from the input stream.
 *
 * @exception CRLException on parsing errors.
 */
public CRL engineGenerateCRL(InputStream is) throws CRLException {
    if (is == null) {
        // clear the cache (for debugging)
        crlCache.clear();
        throw new CRLException("Missing input stream");
    }
    try {
        byte[] encoding = readOneBlock(is);
        if (encoding != null) {
            X509CRLImpl crl = (X509CRLImpl) getFromCache(crlCache, encoding);
            if (crl != null) {
                return crl;
            }
            crl = new X509CRLImpl(encoding);
            addToCache(crlCache, crl.getEncodedInternal(), crl);
            return crl;
        } else {
            throw new IOException("Empty input");
        }
    } catch (IOException ioe) {
        throw new CRLException(ioe.getMessage());
    }
}
Also used : IOException(java.io.IOException) CRLException(java.security.cert.CRLException) X509CRLImpl(sun.security.x509.X509CRLImpl)

Example 7 with X509CRLImpl

use of sun.security.x509.X509CRLImpl in project j2objc by google.

the class X509Factory method parseX509orPKCS7CRL.

/*
     * Parses the data in the given input stream as a sequence of DER encoded
     * X.509 CRLs (in binary or base 64 encoded format) OR as a single PKCS#7
     * encoded blob (in binary or base 64 encoded format).
     */
private Collection<? extends java.security.cert.CRL> parseX509orPKCS7CRL(InputStream is) throws CRLException, IOException {
    Collection<X509CRLImpl> coll = new ArrayList<>();
    byte[] data = readOneBlock(is);
    if (data == null) {
        return new ArrayList<>(0);
    }
    try {
        PKCS7 pkcs7 = new PKCS7(data);
        X509CRL[] crls = pkcs7.getCRLs();
        // CRLs are optional in PKCS #7
        if (crls != null) {
            return Arrays.asList(crls);
        } else {
            // no crls provided
            return new ArrayList<>(0);
        }
    } catch (ParsingException e) {
        while (data != null) {
            coll.add(new X509CRLImpl(data));
            data = readOneBlock(is);
        }
    }
    return coll;
}
Also used : X509CRL(java.security.cert.X509CRL) PKCS7(sun.security.pkcs.PKCS7) ParsingException(sun.security.pkcs.ParsingException) ArrayList(java.util.ArrayList) X509CRLImpl(sun.security.x509.X509CRLImpl)

Example 8 with X509CRLImpl

use of sun.security.x509.X509CRLImpl in project j2objc by google.

the class AlgorithmChecker method check.

/**
 * Check the signature algorithm with the specified public key.
 *
 * @param key the public key to verify the CRL signature
 * @param crl the target CRL
 */
static void check(PublicKey key, X509CRL crl) throws CertPathValidatorException {
    X509CRLImpl x509CRLImpl = null;
    try {
        x509CRLImpl = X509CRLImpl.toImpl(crl);
    } catch (CRLException ce) {
        throw new CertPathValidatorException(ce);
    }
    AlgorithmId algorithmId = x509CRLImpl.getSigAlgId();
    check(key, algorithmId);
}
Also used : CertPathValidatorException(java.security.cert.CertPathValidatorException) AlgorithmId(sun.security.x509.AlgorithmId) X509CRLImpl(sun.security.x509.X509CRLImpl) CRLException(java.security.cert.CRLException)

Example 9 with X509CRLImpl

use of sun.security.x509.X509CRLImpl in project jdk8u_jdk by JetBrains.

the class AlgorithmChecker method check.

/**
     * Check the signature algorithm with the specified public key.
     *
     * @param key the public key to verify the CRL signature
     * @param crl the target CRL
     * @param variant is the Validator variants of the operation. A null value
     *                passed will set it to Validator.GENERIC.
     */
static void check(PublicKey key, X509CRL crl, String variant) throws CertPathValidatorException {
    X509CRLImpl x509CRLImpl = null;
    try {
        x509CRLImpl = X509CRLImpl.toImpl(crl);
    } catch (CRLException ce) {
        throw new CertPathValidatorException(ce);
    }
    AlgorithmId algorithmId = x509CRLImpl.getSigAlgId();
    check(key, algorithmId, variant);
}
Also used : CertPathValidatorException(java.security.cert.CertPathValidatorException) AlgorithmId(sun.security.x509.AlgorithmId) X509CRLImpl(sun.security.x509.X509CRLImpl) CRLException(java.security.cert.CRLException)

Example 10 with X509CRLImpl

use of sun.security.x509.X509CRLImpl in project jdk8u_jdk by JetBrains.

the class X509Factory method engineGenerateCRL.

/**
     * Generates an X.509 certificate revocation list (CRL) object and
     * initializes it with the data read from the given input stream
     * <code>is</code>.
     *
     * @param is an input stream with the CRL data.
     *
     * @return an X.509 CRL object initialized with the data
     * from the input stream.
     *
     * @exception CRLException on parsing errors.
     */
@Override
public CRL engineGenerateCRL(InputStream is) throws CRLException {
    if (is == null) {
        // clear the cache (for debugging)
        crlCache.clear();
        throw new CRLException("Missing input stream");
    }
    try {
        byte[] encoding = readOneBlock(is);
        if (encoding != null) {
            X509CRLImpl crl = getFromCache(crlCache, encoding);
            if (crl != null) {
                return crl;
            }
            crl = new X509CRLImpl(encoding);
            addToCache(crlCache, crl.getEncodedInternal(), crl);
            return crl;
        } else {
            throw new IOException("Empty input");
        }
    } catch (IOException ioe) {
        throw new CRLException(ioe.getMessage());
    }
}
Also used : X509CRLImpl(sun.security.x509.X509CRLImpl)

Aggregations

X509CRLImpl (sun.security.x509.X509CRLImpl)18 CRLException (java.security.cert.CRLException)10 CertificateException (java.security.cert.CertificateException)6 X509CertImpl (sun.security.x509.X509CertImpl)6 X509CRL (java.security.cert.X509CRL)4 CertPathValidatorException (java.security.cert.CertPathValidatorException)3 CertificateFactory (java.security.cert.CertificateFactory)3 PKCS7 (sun.security.pkcs.PKCS7)3 ParsingException (sun.security.pkcs.ParsingException)3 AlgorithmId (sun.security.x509.AlgorithmId)3 IOException (java.io.IOException)1 CertificateParsingException (java.security.cert.CertificateParsingException)1 X509Certificate (java.security.cert.X509Certificate)1 ArrayList (java.util.ArrayList)1