Example usage for org.bouncycastle.asn1.x500 X500Name getRDNs

List of usage examples for org.bouncycastle.asn1.x500 X500Name getRDNs

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.x500 X500Name getRDNs.

Prototype

public RDN[] getRDNs() 

Source Link

Document

return an array of RDNs in structure order.

Usage

From source file:test.integ.be.e_contract.mycarenet.sts.EHealthCertificateTest.java

License:Open Source License

@Test
public void testReadCertificate() throws Exception {
    KeyStore keyStore = KeyStore.getInstance("PKCS12");
    LOG.debug("eHealth PKCS12 path: " + this.config.getEHealthPKCS12Path());
    FileInputStream fileInputStream = new FileInputStream(this.config.getEHealthPKCS12Path());
    keyStore.load(fileInputStream, this.config.getEHealthPKCS12Password().toCharArray());
    Enumeration<String> aliasesEnum = keyStore.aliases();
    while (aliasesEnum.hasMoreElements()) {
        String alias = aliasesEnum.nextElement();
        LOG.debug("alias: " + alias);
        X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
        // LOG.debug("certificate: " + certificate);
        LOG.debug("certificate subject: " + certificate.getSubjectX500Principal());

        X509CertificateHolder certificateHolder = new X509CertificateHolder(certificate.getEncoded());
        X500Name subjectName = certificateHolder.getSubject();
        RDN[] rdns = subjectName.getRDNs();
        for (RDN rdn : rdns) {
            LOG.debug("--------");
            AttributeTypeAndValue[] attributes = rdn.getTypesAndValues();
            for (AttributeTypeAndValue attribute : attributes) {
                LOG.debug(attribute.getType() + " = " + attribute.getValue());
                LOG.debug("value type: " + attribute.getValue().getClass().getName());
            }//from  w  w  w .j a  va 2  s  .  c o  m
        }

        Certificate[] certificateChain = keyStore.getCertificateChain(alias);
        for (Certificate cert : certificateChain) {
            // LOG.debug("certificate chain: " + cert);
        }
    }
}

From source file:uk.ac.cam.gpe21.droidssl.mitm.crypto.cert.CertificateUtils.java

License:Apache License

public static String extractCn(X509Certificate certificate) {
    X500Name dn = JcaX500NameUtil.getSubject(certificate);
    for (RDN rdn : dn.getRDNs()) {
        AttributeTypeAndValue first = rdn.getFirst();
        if (first.getType().equals(BCStyle.CN)) {
            return first.getValue().toString();
        }//from w ww .j  a  va  2  s . co  m
    }

    throw new IllegalArgumentException("certificate subject has no common name (CN)");
}