Example usage for org.bouncycastle.asn1 DERUTF8String getInstance

List of usage examples for org.bouncycastle.asn1 DERUTF8String getInstance

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 DERUTF8String getInstance.

Prototype

public static DERUTF8String getInstance(ASN1TaggedObject obj, boolean explicit) 

Source Link

Document

Return an UTF8 String from a tagged object.

Usage

From source file:ca.trustpoint.m2m.M2mCertificateFactory.java

License:Apache License

/**
 * Parses ASN.1 tagged object to construct an {@link EntityNameAttribute} object.
 *
 * @param obj ASN.1 tagged object for {@link EntityNameAttribute}.
 * @return An instance of {@link EntityNameAttribute} constructed from obj.
 * @throw IOException if parsing has error or unknown ID or no value.
 *///from  w w  w .  j a  v a2 s. co  m
private EntityNameAttribute parseEntityNameAttribute(ASN1TaggedObject obj) throws IOException {
    EntityNameAttributeId aid = EntityNameAttributeId.getInstance(obj.getTagNo());
    String value = null;

    switch (aid) {
    case Country:
    case DistinguishedNameQualifier:
    case SerialNumber:
        value = DERPrintableString.getInstance(obj, false).getString();
        break;
    case Organization:
    case OrganizationalUnit:
    case StateOrProvince:
    case Locality:
    case CommonName:
        value = DERUTF8String.getInstance(obj, false).getString();
        break;
    case DomainComponent:
        value = DERIA5String.getInstance(obj, false).getString();
        break;
    case RegisteredId:
        value = ASN1ObjectIdentifier.getInstance(obj, false).getId();
        break;
    case OctetsName:
        byte[] octets = ASN1OctetString.getInstance(obj, false).getOctets();
        value = Hex.toHexString(octets);
        break;
    default:
        throw new IOException("unknown entity name attribute id: " + aid.getIndexId());
    }

    if (value == null) {
        throw new IOException("null entity name attribute value for id: " + aid.getIndexId());
    }

    EntityNameAttribute attribute = new EntityNameAttribute();
    attribute.setId(aid);
    attribute.setValue(value);

    if (!attribute.isValid()) {
        throw new IOException("invalid entity name attribute value for id: " + aid.getIndexId());
    }

    return attribute;
}

From source file:io.aos.crypto.spl05.MyStructure.java

License:Apache License

/**
 * Constructor from an ASN.1 SEQUENCE/*w w w.j av  a  2s .  com*/
 */
public MyStructure(ASN1Sequence seq) {
    int index = 0;

    // check for version field
    if (seq.getObjectAt(0) instanceof DERInteger) {
        this.version = (DERInteger) seq.getObjectAt(0);
        index++;
    } else {
        this.version = new DERInteger(0);
    }

    this.created = (DERGeneralizedTime) seq.getObjectAt(index++);
    this.baseData = (ASN1OctetString) seq.getObjectAt(index++);

    // check for optional fields
    for (int i = index; i != seq.size(); i++) {
        ASN1TaggedObject t = (ASN1TaggedObject) seq.getObjectAt(i);

        switch (t.getTagNo()) {
        case 0:
            extraData = DERUTF8String.getInstance(t, false);
            break;
        case 1:
            commentData = DERUTF8String.getInstance(t, false);
            break;
        default:
            throw new IllegalArgumentException("Unknown tag " + t.getTagNo() + " in constructor");
        }
    }
}