List of usage examples for org.bouncycastle.asn1.x500 X500Name getRDNs
public RDN[] getRDNs()
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)"); }