package org.bouncycastle.x509;

import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Set;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERObjectIdentifier;
import org.bouncycastle.asn1.DERSet;
import org.bouncycastle.asn1.x509.Attribute;

Class for carrying the values in an X.509 Attribute.
/** * Class for carrying the values in an X.509 Attribute. */
public class X509Attribute extends ASN1Encodable { Attribute attr;
Params:
  • at – an object representing an attribute.
/** * @param at an object representing an attribute. */
X509Attribute( ASN1Encodable at) { this.attr = Attribute.getInstance(at); }
Create an X.509 Attribute with the type given by the passed in oid and the value represented by an ASN.1 Set containing value.
Params:
  • oid – type of the attribute
  • value – value object to go into the atribute's value set.
/** * Create an X.509 Attribute with the type given by the passed in oid and * the value represented by an ASN.1 Set containing value. * * @param oid type of the attribute * @param value value object to go into the atribute's value set. */
public X509Attribute( String oid, ASN1Encodable value) { this.attr = new Attribute(new DERObjectIdentifier(oid), new DERSet(value)); }
Create an X.59 Attribute with the type given by the passed in oid and the value represented by an ASN.1 Set containing the objects in value.
Params:
  • oid – type of the attribute
  • value – vector of values to go in the attribute's value set.
/** * Create an X.59 Attribute with the type given by the passed in oid and the * value represented by an ASN.1 Set containing the objects in value. * * @param oid type of the attribute * @param value vector of values to go in the attribute's value set. */
public X509Attribute( String oid, ASN1EncodableVector value) { this.attr = new Attribute(new DERObjectIdentifier(oid), new DERSet(value)); } public String getOID() { return attr.getAttrType().getId(); } 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; } public DERObject toASN1Object() { return attr.toASN1Object(); } }