List of usage examples for org.bouncycastle.asn1 DLSequence toArray
public ASN1Encodable[] toArray()
From source file:bluecrystal.bcdeps.helper.DerEncoder.java
License:Open Source License
public static Map<String, String> getAIAComplete(byte[] ext) throws UnsupportedEncodingException { Map<String, String> ret = new HashMap<String, String>(); try {//from w w w. java 2 s. c om if (ext == null) return null; ASN1InputStream oAsnInStream = new ASN1InputStream(new ByteArrayInputStream(ext)); ASN1Primitive derObjAIA = oAsnInStream.readObject(); DEROctetString dosAia = (DEROctetString) derObjAIA; byte[] aiaExtOctets = dosAia.getOctets(); // ------------ level 2 ASN1InputStream oAsnInStream2 = new ASN1InputStream(new ByteArrayInputStream(aiaExtOctets)); ASN1Primitive derObj2 = oAsnInStream2.readObject(); DLSequence aiaDLSeq = (DLSequence) derObj2; ASN1Encodable[] aiaAsArray = aiaDLSeq.toArray(); for (ASN1Encodable next : aiaAsArray) { DLSequence aiaDLSeq2 = (DLSequence) next; ASN1Encodable[] aiaAsArray2 = aiaDLSeq2.toArray(); // oid = 0 / content = 1 ASN1Encodable aiaOidEnc = aiaAsArray2[0]; ASN1ObjectIdentifier aiaOid = (ASN1ObjectIdentifier) aiaOidEnc; String idStr = aiaOid.getId(); // if (idStr.compareTo("1.3.6.1.5.5.7.48.2") == 0) { ASN1Encodable aiaContent = aiaAsArray2[1]; DERTaggedObject aiaDTO = (DERTaggedObject) aiaContent; ASN1Primitive aiaObj = aiaDTO.getObject(); DEROctetString aiaDOS = (DEROctetString) aiaObj; byte[] aiaOC = aiaDOS.getOctets(); ret.put(idStr, new String(aiaOC)); // break; // } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return ret; }