Search in sources :

Example 1 with ObjectIdentifier

use of org.apache.harmony.security.utils.ObjectIdentifier in project robovm by robovm.

the class AttributeTypeAndValue method getObjectIdentifier.

/**
     * Parses OID string representation.
     *
     * @param sOid
     *            string representation of OID
     *
     * @throws IOException
     *             if OID can not be created from its string representation
     */
public static ObjectIdentifier getObjectIdentifier(String sOid) throws IOException {
    if (sOid.charAt(0) >= '0' && sOid.charAt(0) <= '9') {
        int[] array = org.apache.harmony.security.asn1.ObjectIdentifier.toIntArray(sOid);
        ObjectIdentifier thisOid = getOID(array);
        if (thisOid == null) {
            thisOid = new ObjectIdentifier(array);
        }
        return thisOid;
    }
    ObjectIdentifier thisOid = KNOWN_NAMES.get(sOid.toUpperCase(Locale.US));
    if (thisOid == null) {
        throw new IOException("Unrecognizable attribute name: " + sOid);
    }
    return thisOid;
}
Also used : IOException(java.io.IOException) ObjectIdentifier(org.apache.harmony.security.utils.ObjectIdentifier)

Example 2 with ObjectIdentifier

use of org.apache.harmony.security.utils.ObjectIdentifier in project robovm by robovm.

the class DNParser method parse.

/**
     * Parses DN
     *
     * @return a list of Relative Distinguished Names(RDN),
     *         each RDN is represented as a list of AttributeTypeAndValue objects
     */
public List<List<AttributeTypeAndValue>> parse() throws IOException {
    List<List<AttributeTypeAndValue>> list = new ArrayList<List<AttributeTypeAndValue>>();
    String attType = nextAT();
    if (attType == null) {
        //empty list of RDNs
        return list;
    }
    ObjectIdentifier oid = AttributeTypeAndValue.getObjectIdentifier(attType);
    List<AttributeTypeAndValue> atav = new ArrayList<AttributeTypeAndValue>();
    while (true) {
        if (pos == chars.length) {
            //empty Attribute Value
            atav.add(new AttributeTypeAndValue(oid, new AttributeValue("", false, oid)));
            list.add(0, atav);
            return list;
        }
        switch(chars[pos]) {
            case '"':
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(quotedAV(), hasQE, oid)));
                break;
            case '#':
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(hexAV(), encoded)));
                break;
            case '+':
            case ',':
            case // compatibility with RFC 1779: semicolon can separate RDNs
            ';':
                //empty attribute value
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue("", false, oid)));
                break;
            default:
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(escapedAV(), hasQE, oid)));
        }
        if (pos >= chars.length) {
            list.add(0, atav);
            return list;
        }
        if (chars[pos] == ',' || chars[pos] == ';') {
            list.add(0, atav);
            atav = new ArrayList<AttributeTypeAndValue>();
        } else if (chars[pos] != '+') {
            throw new IOException("Invalid distinguished name string");
        }
        pos++;
        attType = nextAT();
        if (attType == null) {
            throw new IOException("Invalid distinguished name string");
        }
        oid = AttributeTypeAndValue.getObjectIdentifier(attType);
    }
}
Also used : AttributeValue(org.apache.harmony.security.x501.AttributeValue) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) IOException(java.io.IOException) AttributeTypeAndValue(org.apache.harmony.security.x501.AttributeTypeAndValue) ObjectIdentifier(org.apache.harmony.security.utils.ObjectIdentifier)

Example 3 with ObjectIdentifier

use of org.apache.harmony.security.utils.ObjectIdentifier in project j2objc by google.

the class AttributeTypeAndValue method getObjectIdentifier.

/**
     * Parses OID string representation.
     *
     * @param sOid
     *            string representation of OID
     *
     * @throws IOException
     *             if OID can not be created from its string representation
     */
public static ObjectIdentifier getObjectIdentifier(String sOid) throws IOException {
    if (sOid.charAt(0) >= '0' && sOid.charAt(0) <= '9') {
        int[] array = org.apache.harmony.security.asn1.ObjectIdentifier.toIntArray(sOid);
        ObjectIdentifier thisOid = getOID(array);
        if (thisOid == null) {
            thisOid = new ObjectIdentifier(array);
        }
        return thisOid;
    }
    ObjectIdentifier thisOid = KNOWN_NAMES.get(sOid.toUpperCase(Locale.US));
    if (thisOid == null) {
        throw new IOException("Unrecognizable attribute name: " + sOid);
    }
    return thisOid;
}
Also used : IOException(java.io.IOException) ObjectIdentifier(org.apache.harmony.security.utils.ObjectIdentifier)

Example 4 with ObjectIdentifier

use of org.apache.harmony.security.utils.ObjectIdentifier in project j2objc by google.

the class DNParser method parse.

/**
     * Parses DN
     *
     * @return a list of Relative Distinguished Names(RDN),
     *         each RDN is represented as a list of AttributeTypeAndValue objects
     */
public List<List<AttributeTypeAndValue>> parse() throws IOException {
    List<List<AttributeTypeAndValue>> list = new ArrayList<List<AttributeTypeAndValue>>();
    String attType = nextAT();
    if (attType == null) {
        //empty list of RDNs
        return list;
    }
    ObjectIdentifier oid = AttributeTypeAndValue.getObjectIdentifier(attType);
    List<AttributeTypeAndValue> atav = new ArrayList<AttributeTypeAndValue>();
    while (true) {
        if (pos == chars.length) {
            //empty Attribute Value
            atav.add(new AttributeTypeAndValue(oid, new AttributeValue("", false, oid)));
            list.add(0, atav);
            return list;
        }
        switch(chars[pos]) {
            case '"':
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(quotedAV(), hasQE, oid)));
                break;
            case '#':
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(hexAV(), encoded)));
                break;
            case '+':
            case ',':
            case // compatibility with RFC 1779: semicolon can separate RDNs
            ';':
                //empty attribute value
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue("", false, oid)));
                break;
            default:
                atav.add(new AttributeTypeAndValue(oid, new AttributeValue(escapedAV(), hasQE, oid)));
        }
        if (pos >= chars.length) {
            list.add(0, atav);
            return list;
        }
        if (chars[pos] == ',' || chars[pos] == ';') {
            list.add(0, atav);
            atav = new ArrayList<AttributeTypeAndValue>();
        } else if (chars[pos] != '+') {
            throw new IOException("Invalid distinguished name string");
        }
        pos++;
        attType = nextAT();
        if (attType == null) {
            throw new IOException("Invalid distinguished name string");
        }
        oid = AttributeTypeAndValue.getObjectIdentifier(attType);
    }
}
Also used : AttributeValue(org.apache.harmony.security.x501.AttributeValue) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) IOException(java.io.IOException) AttributeTypeAndValue(org.apache.harmony.security.x501.AttributeTypeAndValue) ObjectIdentifier(org.apache.harmony.security.utils.ObjectIdentifier)

Aggregations

IOException (java.io.IOException)4 ObjectIdentifier (org.apache.harmony.security.utils.ObjectIdentifier)4 ArrayList (java.util.ArrayList)2 List (java.util.List)2 AttributeTypeAndValue (org.apache.harmony.security.x501.AttributeTypeAndValue)2 AttributeValue (org.apache.harmony.security.x501.AttributeValue)2