List of usage examples for org.bouncycastle.asn1 ASN1Set iterator
public Iterator<ASN1Encodable> iterator()
From source file:se.tillvaxtverket.ttsigvalws.ttwssigvalidation.pdf.PdfBoxSigUtil.java
License:Open Source License
/** * Gets a map of recognized subject DN attributes * * @param subjectDn subhect Dn/*from w w w . j a va2 s. c o m*/ * @return Subject DN attribute map */ public static Map<SubjectDnAttribute, String> getSubjectAttributes(ASN1Sequence subjectDn) { Map<SubjectDnAttribute, String> subjectDnAttributeMap = new EnumMap<SubjectDnAttribute, String>( SubjectDnAttribute.class); try { Iterator<ASN1Encodable> subjDnIt = subjectDn.iterator(); while (subjDnIt.hasNext()) { ASN1Set rdnSet = (ASN1Set) subjDnIt.next(); Iterator<ASN1Encodable> rdnSetIt = rdnSet.iterator(); while (rdnSetIt.hasNext()) { ASN1Sequence rdnSeq = (ASN1Sequence) rdnSetIt.next(); ASN1ObjectIdentifier rdnOid = (ASN1ObjectIdentifier) rdnSeq.getObjectAt(0); String oidStr = rdnOid.getId(); ASN1Encodable rdnVal = rdnSeq.getObjectAt(1); String rdnValStr = getStringValue(rdnVal); SubjectDnAttribute subjectDnAttr = SubjectDnAttribute.getSubjectDnFromOid(oidStr); if (!subjectDnAttr.equals(SubjectDnAttribute.unknown)) { subjectDnAttributeMap.put(subjectDnAttr, rdnValStr); } } } } catch (Exception e) { } return subjectDnAttributeMap; }