Search in sources :

Example 26 with ASN1Encodable

use of org.bouncycastle.asn1.ASN1Encodable in project robovm by robovm.

the class X509V2AttributeCertificate method getAttributes.

public X509Attribute[] getAttributes() {
    ASN1Sequence seq = cert.getAcinfo().getAttributes();
    X509Attribute[] attrs = new X509Attribute[seq.size()];
    for (int i = 0; i != seq.size(); i++) {
        attrs[i] = new X509Attribute((ASN1Encodable) seq.getObjectAt(i));
    }
    return attrs;
}
Also used : ASN1Sequence(org.bouncycastle.asn1.ASN1Sequence) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable)

Example 27 with ASN1Encodable

use of org.bouncycastle.asn1.ASN1Encodable in project robovm by robovm.

the class AttributeCertificateIssuer method getNames.

private Object[] getNames() {
    GeneralNames name;
    if (form instanceof V2Form) {
        name = ((V2Form) form).getIssuerName();
    } else {
        name = (GeneralNames) form;
    }
    GeneralName[] names = name.getNames();
    List l = new ArrayList(names.length);
    for (int i = 0; i != names.length; i++) {
        if (names[i].getTagNo() == GeneralName.directoryName) {
            try {
                l.add(new X500Principal(((ASN1Encodable) names[i].getName()).toASN1Primitive().getEncoded()));
            } catch (IOException e) {
                throw new RuntimeException("badly formed Name object");
            }
        }
    }
    return l.toArray(new Object[l.size()]);
}
Also used : V2Form(org.bouncycastle.asn1.x509.V2Form) GeneralNames(org.bouncycastle.asn1.x509.GeneralNames) ArrayList(java.util.ArrayList) X500Principal(javax.security.auth.x500.X500Principal) ArrayList(java.util.ArrayList) List(java.util.List) GeneralName(org.bouncycastle.asn1.x509.GeneralName) IOException(java.io.IOException)

Example 28 with ASN1Encodable

use of org.bouncycastle.asn1.ASN1Encodable in project robovm by robovm.

the class X509Attribute method getValues.

public ASN1Encodable[] getValues() {
    ASN1Set s = attr.getAttrValues();
    ASN1Encodable[] values = new ASN1Encodable[s.size()];
    for (int i = 0; i != s.size(); i++) {
        values[i] = (ASN1Encodable) s.getObjectAt(i);
    }
    return values;
}
Also used : ASN1Set(org.bouncycastle.asn1.ASN1Set) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable)

Example 29 with ASN1Encodable

use of org.bouncycastle.asn1.ASN1Encodable in project athenz by yahoo.

the class Crypto method extractX509CSREmail.

public static String extractX509CSREmail(PKCS10CertificationRequest certReq) {
    String rfc822 = null;
    Attribute[] attributes = certReq.getAttributes(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest);
    for (Attribute attribute : attributes) {
        for (ASN1Encodable value : attribute.getAttributeValues()) {
            Extensions extensions = Extensions.getInstance(value);
            GeneralNames gns = GeneralNames.fromExtensions(extensions, Extension.subjectAlternativeName);
            for (GeneralName name : gns.getNames()) {
                if (name.getTagNo() == GeneralName.rfc822Name) {
                    rfc822 = (((DERIA5String) name.getName()).getString());
                    break;
                }
            }
        }
    }
    return rfc822;
}
Also used : DERIA5String(org.bouncycastle.asn1.DERIA5String) GeneralNames(org.bouncycastle.asn1.x509.GeneralNames) Attribute(org.bouncycastle.asn1.pkcs.Attribute) DEROctetString(org.bouncycastle.asn1.DEROctetString) DERIA5String(org.bouncycastle.asn1.DERIA5String) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable) GeneralName(org.bouncycastle.asn1.x509.GeneralName) Extensions(org.bouncycastle.asn1.x509.Extensions)

Example 30 with ASN1Encodable

use of org.bouncycastle.asn1.ASN1Encodable in project athenz by yahoo.

the class Crypto method extractX509CSRDnsNames.

public static List<String> extractX509CSRDnsNames(PKCS10CertificationRequest certReq) {
    List<String> dnsNames = new ArrayList<>();
    Attribute[] attributes = certReq.getAttributes(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest);
    for (Attribute attribute : attributes) {
        for (ASN1Encodable value : attribute.getAttributeValues()) {
            Extensions extensions = Extensions.getInstance(value);
            GeneralNames gns = GeneralNames.fromExtensions(extensions, Extension.subjectAlternativeName);
            for (GeneralName name : gns.getNames()) {
                if (name.getTagNo() == GeneralName.dNSName) {
                    dnsNames.add(((DERIA5String) name.getName()).getString());
                }
            }
        }
    }
    return dnsNames;
}
Also used : GeneralNames(org.bouncycastle.asn1.x509.GeneralNames) Attribute(org.bouncycastle.asn1.pkcs.Attribute) ArrayList(java.util.ArrayList) DEROctetString(org.bouncycastle.asn1.DEROctetString) DERIA5String(org.bouncycastle.asn1.DERIA5String) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable) GeneralName(org.bouncycastle.asn1.x509.GeneralName) Extensions(org.bouncycastle.asn1.x509.Extensions)

Aggregations

ASN1Encodable (org.bouncycastle.asn1.ASN1Encodable)28 IOException (java.io.IOException)17 ArrayList (java.util.ArrayList)16 List (java.util.List)13 GeneralName (org.bouncycastle.asn1.x509.GeneralName)12 ASN1ObjectIdentifier (org.bouncycastle.asn1.ASN1ObjectIdentifier)11 X500Principal (javax.security.auth.x500.X500Principal)9 GeneralNames (org.bouncycastle.asn1.x509.GeneralNames)9 ASN1Sequence (org.bouncycastle.asn1.ASN1Sequence)8 AlgorithmIdentifier (org.bouncycastle.asn1.x509.AlgorithmIdentifier)8 X509Certificate (java.security.cert.X509Certificate)7 HashSet (java.util.HashSet)7 Set (java.util.Set)7 Enumeration (java.util.Enumeration)6 ASN1OctetString (org.bouncycastle.asn1.ASN1OctetString)6 ASN1Primitive (org.bouncycastle.asn1.ASN1Primitive)6 DERIA5String (org.bouncycastle.asn1.DERIA5String)6 DEROctetString (org.bouncycastle.asn1.DEROctetString)6 X500Name (org.bouncycastle.asn1.x500.X500Name)6 Asn1Integer (com.android.hotspot2.asn1.Asn1Integer)5