Search in sources :

Example 6 with PemReader

use of com.android.org.bouncycastle.util.io.pem.PemReader in project android_frameworks_base by crdroidandroid.

the class Credentials method convertFromPem.

/**
     * Convert objects from PEM format, which is used for
     * CA_CERTIFICATE and USER_CERTIFICATE entries.
     */
public static List<X509Certificate> convertFromPem(byte[] bytes) throws IOException, CertificateException {
    ByteArrayInputStream bai = new ByteArrayInputStream(bytes);
    Reader reader = new InputStreamReader(bai, StandardCharsets.US_ASCII);
    PemReader pr = new PemReader(reader);
    try {
        CertificateFactory cf = CertificateFactory.getInstance("X509");
        List<X509Certificate> result = new ArrayList<X509Certificate>();
        PemObject o;
        while ((o = pr.readPemObject()) != null) {
            if (o.getType().equals("CERTIFICATE")) {
                Certificate c = cf.generateCertificate(new ByteArrayInputStream(o.getContent()));
                result.add((X509Certificate) c);
            } else {
                throw new IllegalArgumentException("Unknown type " + o.getType());
            }
        }
        return result;
    } finally {
        pr.close();
    }
}
Also used : PemReader(com.android.org.bouncycastle.util.io.pem.PemReader) PemObject(com.android.org.bouncycastle.util.io.pem.PemObject) InputStreamReader(java.io.InputStreamReader) ByteArrayInputStream(java.io.ByteArrayInputStream) ArrayList(java.util.ArrayList) Reader(java.io.Reader) PemReader(com.android.org.bouncycastle.util.io.pem.PemReader) InputStreamReader(java.io.InputStreamReader) CertificateFactory(java.security.cert.CertificateFactory) X509Certificate(java.security.cert.X509Certificate) X509Certificate(java.security.cert.X509Certificate) Certificate(java.security.cert.Certificate)

Aggregations

PemObject (com.android.org.bouncycastle.util.io.pem.PemObject)6 PemReader (com.android.org.bouncycastle.util.io.pem.PemReader)6 ByteArrayInputStream (java.io.ByteArrayInputStream)6 InputStreamReader (java.io.InputStreamReader)6 Reader (java.io.Reader)6 Certificate (java.security.cert.Certificate)6 CertificateFactory (java.security.cert.CertificateFactory)6 X509Certificate (java.security.cert.X509Certificate)6 ArrayList (java.util.ArrayList)6