List of usage examples for org.bouncycastle.asn1 DERPrintableString getString
public String getString()
From source file:br.gov.frameworkdemoiselle.certificate.oid.OIDGeneric.java
License:Open Source License
/** * Instance for object./* w w w.j a va2s.c o m*/ * * @param data -> byte array with certificate content. * @return Object GenericOID * @throws IOException * @throws Exception */ public static OIDGeneric getInstance(byte[] data) throws IOException, Exception { ASN1InputStream is = new ASN1InputStream(data); DERSequence sequence = (DERSequence) is.readObject(); DERObjectIdentifier objectIdentifier = (DERObjectIdentifier) sequence.getObjectAt(0); DERTaggedObject tag = (DERTaggedObject) sequence.getObjectAt(1); DEROctetString octetString = null; DERPrintableString printableString = null; DERUTF8String utf8String = null; DERIA5String ia5String = null; try { octetString = (DEROctetString) DEROctetString.getInstance(tag); } catch (Exception ex) { try { printableString = DERPrintableString.getInstance(tag); } catch (Exception e1) { try { utf8String = DERUTF8String.getInstance(tag); } catch (Exception e2) { ia5String = DERIA5String.getInstance(tag); } } } String className = "br.gov.frameworkdemoiselle.certificate.oid.OID_" + objectIdentifier.getId().replaceAll("[.]", "_"); OIDGeneric oidGenerico; try { oidGenerico = (OIDGeneric) Class.forName(className).newInstance(); } catch (InstantiationException e) { throw new Exception("Can not instace class '" + className + "'.", e); } catch (IllegalAccessException e) { throw new Exception("Was not possible instace class '" + className + "'.", e); } catch (ClassNotFoundException e) { oidGenerico = new OIDGeneric(); } oidGenerico.setOid(objectIdentifier.getId()); if (octetString != null) { oidGenerico.setData(new String(octetString.getOctets())); } else if (printableString != null) { oidGenerico.setData(printableString.getString()); } else if (utf8String != null) { oidGenerico.setData(utf8String.getString()); } else { oidGenerico.setData(ia5String.getString()); } oidGenerico.initialize(); return oidGenerico; }
From source file:cc.arduino.plugins.unowifi.certs.WiFi101Certificate.java
License:Open Source License
private static byte[] extractPrintableString(ASN1Encodable obj) throws IOException { if (obj instanceof DERPrintableString) { DERPrintableString s = (DERPrintableString) obj; // System.out.println("'" + s.getString() + "'"); return s.getString().getBytes(); }/*from www . ja va2 s. c o m*/ ByteArrayOutputStream res = new ByteArrayOutputStream(); if (obj instanceof DLSequence) { DLSequence s = (DLSequence) obj; for (int i = 0; i < s.size(); i++) { res.write(extractPrintableString(s.getObjectAt(i))); } } if (obj instanceof DLSet) { DLSet s = (DLSet) obj; for (int i = 0; i < s.size(); i++) { res.write(extractPrintableString(s.getObjectAt(i))); } } return res.toByteArray(); }
From source file:cc.arduino.plugins.wifi101.certs.WiFi101Certificate.java
License:Open Source License
private static byte[] extractPrintableString(ASN1Encodable obj) throws IOException { if (obj instanceof DERPrintableString) { DERPrintableString s = (DERPrintableString) obj; return s.getString().getBytes(); } else if (obj instanceof DERUTF8String) { DERUTF8String s = (DERUTF8String) obj; return s.getString().getBytes(); }//from w ww. jav a2 s . com ByteArrayOutputStream res = new ByteArrayOutputStream(); if (obj instanceof DLSequence) { DLSequence s = (DLSequence) obj; for (int i = 0; i < s.size(); i++) { res.write(extractPrintableString(s.getObjectAt(i))); } } if (obj instanceof DLSet) { DLSet s = (DLSet) obj; for (int i = 0; i < s.size(); i++) { res.write(extractPrintableString(s.getObjectAt(i))); } } return res.toByteArray(); }
From source file:me.it_result.ca.bouncycastle.Utils.java
License:Open Source License
public static String extractProfileId(ASN1Set csrAttributes, String defaultProfileId) { String profileId = null;//from w w w . jav a 2 s .c om try { Enumeration<?> attrEnum = csrAttributes.getObjects(); while (attrEnum.hasMoreElements()) { DERSequence attr = (DERSequence) attrEnum.nextElement(); if (attr.getObjectAt(0).equals(PROFILE_ID_ATTR)) { ASN1Set profileIdSet = (ASN1Set) attr.getObjectAt(1); DERPrintableString profileIdValue = (DERPrintableString) profileIdSet.getObjectAt(0); profileId = profileIdValue.getString(); break; } } } catch (Exception e) { } if (profileId == null) profileId = defaultProfileId; return profileId; }
From source file:me.it_result.ca.bouncycastle.Utils.java
License:Open Source License
public static String extractChallengePassword(ASN1Set csrAttributes) { String challengePassword = null; try {/*from www. j ava 2s . c o m*/ Enumeration<?> attrEnum = csrAttributes.getObjects(); while (attrEnum.hasMoreElements()) { DERSequence attr = (DERSequence) attrEnum.nextElement(); if (attr.getObjectAt(0).equals(PKCSObjectIdentifiers.pkcs_9_at_challengePassword)) { ASN1Set passwordSet = (ASN1Set) attr.getObjectAt(1); DERPrintableString passwordValue = (DERPrintableString) passwordSet.getObjectAt(0); challengePassword = passwordValue.getString(); break; } } } catch (Exception e) { } return challengePassword; }
From source file:net.sf.keystore_explorer.crypto.x509.X509Ext.java
License:Open Source License
private String getAttributeValueString(ASN1ObjectIdentifier attributeType, ASN1Encodable attributeValue) throws IOException { // @formatter:off /* AttributeValue ::= ANY */ // @formatter:on // Get value string for recognized attribute types AttributeTypeType attributeTypeType = AttributeTypeType.resolveOid(attributeType.getId()); if (attributeTypeType == COMMON_NAME) { DirectoryString commonName = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return commonName.getString(); } else if (attributeTypeType == SERIAL_NUMBER) { DERPrintableString serialNumber = DERPrintableString.getInstance(value); return serialNumber.getString(); } else if (attributeTypeType == COUNTRY_NAME) { DERPrintableString countryName = DERPrintableString.getInstance(value); return countryName.getString(); } else if (attributeTypeType == LOCALITY_NAME) { DirectoryString localityName = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return localityName.getString(); } else if (attributeTypeType == STATE_NAME) { DirectoryString stateName = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return stateName.getString(); } else if (attributeTypeType == STREET_ADDRESS) { DirectoryString street = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return street.getString(); } else if (attributeTypeType == ORGANIZATION_NAME) { DirectoryString organizationName = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return organizationName.getString(); } else if (attributeTypeType == ORGANIZATIONAL_UNIT) { DirectoryString organizationalUnitName = DirectoryString .getInstance(ASN1Primitive.fromByteArray(value)); return organizationalUnitName.getString(); } else if (attributeTypeType == TITLE) { DirectoryString title = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return title.getString(); } else if (attributeTypeType == EMAIL_ADDRESS) { DERIA5String emailAddress = DERIA5String.getInstance(value); return emailAddress.getString(); } else if (attributeTypeType == UNSTRUCTURED_NAME) { DERIA5String emailAddress = DERIA5String.getInstance(value); return emailAddress.getString(); } else if (attributeTypeType == UNSTRUCTURED_ADDRESS) { DERPrintableString serialNumber = DERPrintableString.getInstance(value); return serialNumber.getString(); } else if (attributeTypeType == USER_ID) { DirectoryString title = DirectoryString.getInstance(ASN1Primitive.fromByteArray(value)); return title.getString(); } else if (attributeTypeType == MAIL) { DERIA5String emailAddress = DERIA5String.getInstance(value); return emailAddress.getString(); } else if (attributeTypeType == DOMAIN_COMPONENT) { DERIA5String domainComponent = DERIA5String.getInstance(value); return domainComponent.getString(); }//from ww w . j a v a2 s . c o m // Attribute type not recognized - return hex string for value else { return HexUtil.getHexString(value); } }
From source file:nl.uva.vlet.grid.voms.VOMSAttributeCertificate.java
License:Apache License
private String DERSequencetoDN(DERSequence this_sequence) throws Exception { String thisDN = ""; try {/*www . j a v a 2 s. c o m*/ for (Enumeration n = this_sequence.getObjects(); n.hasMoreElements();) { DERSet this_set = (DERSet) n.nextElement(); DERSequence this_seq = (DERSequence) this_set.getObjectAt(0); try { DERPrintableString this_string = (DERPrintableString) this_seq.getObjectAt(1); thisDN = thisDN.concat("/" + Translate_OID.getStringFromOID("" + this_seq.getObjectAt(0)) + "=" + this_string.getString()); } catch (Exception notPS) { // email is encoded differently? DERIA5String this_string = (DERIA5String) this_seq.getObjectAt(1); thisDN = thisDN.concat("/" + Translate_OID.getStringFromOID("" + this_seq.getObjectAt(0)) + "=" + this_string.getString()); } } } catch (Exception e) { throw e; } return thisDN; }
From source file:org.demoiselle.signer.core.oid.OIDGeneric.java
License:Open Source License
/** * Instance for OIDGeneric.//from w w w . java2 s. c o m * * @param data * Set of bytes with the contents of the certificate. * @return Object GenericOID * @throws IOException exception of input/output * @throws Exception general exception */ public static OIDGeneric getInstance(byte[] data) throws IOException, Exception { is = new ASN1InputStream(data); DLSequence sequence = (DLSequence) is.readObject(); ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) sequence.getObjectAt(0); DERTaggedObject taggedObject = (DERTaggedObject) sequence.getObjectAt(1); DERTaggedObject taggedObject2 = (DERTaggedObject) taggedObject.getObject(); DEROctetString octet = null; DERPrintableString print = null; DERUTF8String utf8 = null; DERIA5String ia5 = null; try { octet = (DEROctetString) taggedObject2.getObject(); } catch (Exception e) { try { print = (DERPrintableString) taggedObject2.getObject(); } catch (Exception e1) { try { utf8 = (DERUTF8String) taggedObject2.getObject(); } catch (Exception e2) { ia5 = (DERIA5String) taggedObject2.getObject(); } } } String className = getPackageName() + oid.getId().replaceAll("[.]", "_"); OIDGeneric oidGenerico; try { oidGenerico = (OIDGeneric) Class.forName(className).newInstance(); } catch (InstantiationException e) { throw new Exception(coreMessagesBundle.getString("error.class.instance", className), e); } catch (IllegalAccessException e) { throw new Exception(coreMessagesBundle.getString("error.class.illegal.access", className), e); } catch (ClassNotFoundException e) { oidGenerico = new OIDGeneric(); } oidGenerico.oid = oid.getId(); if (octet != null) { oidGenerico.data = new String(octet.getOctets()); } else { if (print != null) { oidGenerico.data = print.getString(); } else { if (utf8 != null) { oidGenerico.data = utf8.getString(); } else { oidGenerico.data = ia5.getString(); } } } oidGenerico.initialize(); return oidGenerico; }
From source file:org.ejbca.util.cert.SeisCardNumberExtension.java
License:Open Source License
/** * CardNumber EXTENSION ::= {// w w w .ja v a2s. c om * SYNTAX CardNumber * IDENTIFIED BY id-seis-pe-cn} * -- id-seis-pe-cn is defined in Annex A * CardNumber ::= PrintableString * * * @param certificate containing card number * @return String containing card number. * @throws java.lang.Exception */ public static String getSeisCardNumber(Certificate certificate) throws Exception { log.debug("Search for CardNumber"); String ret = null; if (certificate instanceof X509Certificate) { X509Certificate x509cert = (X509Certificate) certificate; ASN1Primitive obj = CertTools.getExtensionValue(x509cert, SeisCardNumber.OID_CARDNUMBER); if (obj == null) { return null; } DERPrintableString number = (DERPrintableString) obj; ret = number.getString(); } return ret; }
From source file:org.signserver.testutils.TestUtils.java
License:Open Source License
public static void checkSigningCertificateAttribute(final ASN1Sequence scAttr, final X509Certificate cert) throws Exception { final ASN1ObjectIdentifier scOid = ASN1ObjectIdentifier.getInstance(scAttr.getObjectAt(0)); assertEquals("Invalid OID for content", SIGNING_CERT_OID, scOid.getId()); // calculate expected hash final byte[] digest = MessageDigest.getInstance("SHA-1").digest(cert.getEncoded()); // find hash in returned structure final ASN1Set set = ASN1Set.getInstance(scAttr.getObjectAt(1)); final ASN1Sequence s1 = ASN1Sequence.getInstance(set.getObjectAt(0)); final ASN1Sequence s2 = ASN1Sequence.getInstance(s1.getObjectAt(0)); final ASN1Sequence s3 = ASN1Sequence.getInstance(s2.getObjectAt(0)); final ASN1OctetString hashOctetString = ASN1OctetString.getInstance(s3.getObjectAt(0)); assertTrue("Hash doesn't match", Arrays.equals(digest, hashOctetString.getOctets())); // find serial number in structure final ASN1Sequence s4 = ASN1Sequence.getInstance(s3.getObjectAt(1)); final ASN1Integer snValue = ASN1Integer.getInstance(s4.getObjectAt(1)); final BigInteger sn = cert.getSerialNumber(); assertEquals("Serial number doesn't match", sn, snValue.getValue()); // examine issuer final ASN1Sequence s5 = ASN1Sequence.getInstance(s4.getObjectAt(0)); final ASN1TaggedObject obj = ASN1TaggedObject.getInstance(s5.getObjectAt(0)); final ASN1Sequence s6 = ASN1Sequence.getInstance(obj.getObject()); // expect 4 DN components in the signing cert assertEquals("Number of DN components", 4, s6.size()); final Enumeration objects = s6.getObjects(); while (objects.hasMoreElements()) { final ASN1Set component = ASN1Set.getInstance(objects.nextElement()); final ASN1Sequence seq = ASN1Sequence.getInstance(component.getObjectAt(0)); final ASN1ObjectIdentifier dnOid = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); if (CN_OID.equals(dnOid.getId())) { final DERUTF8String cn = DERUTF8String.getInstance(seq.getObjectAt(1)); assertEquals("Issuer CN doesn't match", CN, cn.getString()); } else if (OU_OID.equals(dnOid.getId())) { final DERUTF8String ou = DERUTF8String.getInstance(seq.getObjectAt(1)); assertEquals("Issuer OU doesn't match", OU, ou.getString()); } else if (O_OID.equals(dnOid.getId())) { final DERUTF8String o = DERUTF8String.getInstance(seq.getObjectAt(1)); assertEquals("Issuer O doesn't match", O, o.getString()); } else if (C_OID.equals(dnOid.getId())) { final DERPrintableString c = DERPrintableString.getInstance(seq.getObjectAt(1)); assertEquals("Issuer C doesn't match", C, c.getString()); } else {// w w w. ja va 2 s. co m fail("Unexpected issuer DN component"); } } }