be.cardon.asn1.x509
Class Attribute

java.lang.Object
  extended by org.bouncycastle.asn1.ASN1Encodable
      extended by be.cardon.asn1.x509.Attribute
All Implemented Interfaces:
org.bouncycastle.asn1.DEREncodable

public class Attribute
extends org.bouncycastle.asn1.ASN1Encodable

Attribute ASN.1 Object.

Documentation from RFC 3280:

Attribute data types:


    Attribute       ::=     SEQUENCE {
          type              AttributeType,
          values    SET OF AttributeValue }
                -- at least one value is required

    AttributeType           ::=  OBJECT IDENTIFIER

    AttributeValue          ::=  ANY

    AttributeTypeAndValue           ::=     SEQUENCE {
            type    AttributeType,
            value   AttributeValue }

    

Suggested naming attributes: Definition of the following information object set may be augmented to meet local requirements. Note that deleting members of the set may prevent interoperability with conforming implementations./p>

Presented in pairs: the AttributeType followed by the type definition for the corresponding AttributeValue

Arc for standard naming attributes:

    id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
    

Naming attributes of type X520name:

    id-at-name              AttributeType ::= { id-at 41 }
    id-at-surname           AttributeType ::= { id-at 4 }
    id-at-givenName         AttributeType ::= { id-at 42 }
    id-at-initials          AttributeType ::= { id-at 43 }
    id-at-generationQualifier AttributeType ::= { id-at 44 }

    X520name ::= CHOICE {
          teletexString     TeletexString   (SIZE (1..ub-name)),
          printableString   PrintableString (SIZE (1..ub-name)),
          universalString   UniversalString (SIZE (1..ub-name)),
          utf8String        UTF8String      (SIZE (1..ub-name)),
          bmpString         BMPString       (SIZE (1..ub-name)) }
    

Naming attributes of type X520CommonName:

    id-at-commonName        AttributeType ::= { id-at 3 }

    X520CommonName ::= CHOICE {
          teletexString     TeletexString   (SIZE (1..ub-common-name)),
          printableString   PrintableString (SIZE (1..ub-common-name)),
          universalString   UniversalString (SIZE (1..ub-common-name)),
          utf8String        UTF8String      (SIZE (1..ub-common-name)),
          bmpString         BMPString       (SIZE (1..ub-common-name)) }
    

Naming attributes of type X520LocalityName:

    id-at-localityName      AttributeType ::= { id-at 7 }

    X520LocalityName ::= CHOICE {
          teletexString     TeletexString   (SIZE (1..ub-locality-name)),
          printableString   PrintableString (SIZE (1..ub-locality-name)),
          universalString   UniversalString (SIZE (1..ub-locality-name)),
          utf8String        UTF8String      (SIZE (1..ub-locality-name)),
          bmpString         BMPString       (SIZE (1..ub-locality-name)) }
    

Naming attributes of type X520StateOrProvinceName

    id-at-stateOrProvinceName AttributeType ::= { id-at 8 }

    X520StateOrProvinceName ::= CHOICE {
          teletexString     TeletexString   (SIZE (1..ub-state-name)),
          printableString   PrintableString (SIZE (1..ub-state-name)),
          universalString   UniversalString (SIZE (1..ub-state-name)),
          utf8String        UTF8String      (SIZE (1..ub-state-name)),
          bmpString         BMPString       (SIZE(1..ub-state-name)) }
    

Naming attributes of type X520OrganizationName

    id-at-organizationName  AttributeType ::= { id-at 10 }

    X520OrganizationName ::= CHOICE {
          teletexString     TeletexString
                              (SIZE (1..ub-organization-name)),
          printableString   PrintableString
                              (SIZE (1..ub-organization-name)),
          universalString   UniversalString
                              (SIZE (1..ub-organization-name)),
          utf8String        UTF8String
                              (SIZE (1..ub-organization-name)),
          bmpString         BMPString
                              (SIZE (1..ub-organization-name))  }
    

Naming attributes of type X520OrganizationalUnitName:

    id-at-organizationalUnitName AttributeType ::= { id-at 11 }

    X520OrganizationalUnitName ::= CHOICE {
          teletexString     TeletexString
                              (SIZE (1..ub-organizational-unit-name)),
          printableString   PrintableString
                              (SIZE (1..ub-organizational-unit-name)),
          universalString   UniversalString
                              (SIZE (1..ub-organizational-unit-name)),
          utf8String        UTF8String
                              (SIZE (1..ub-organizational-unit-name)),
          bmpString         BMPString
                              (SIZE (1..ub-organizational-unit-name)) }
    

Naming attributes of type X520Title:

    id-at-title             AttributeType ::= { id-at 12 }

    X520Title ::= CHOICE {
          teletexString     TeletexString   (SIZE (1..ub-title)),
          printableString   PrintableString (SIZE (1..ub-title)),
          universalString   UniversalString (SIZE (1..ub-title)),
          utf8String        UTF8String      (SIZE (1..ub-title)),
          bmpString         BMPString       (SIZE (1..ub-title)) }
    

Naming attributes of type X520dnQualifier:

    id-at-dnQualifier       AttributeType ::= { id-at 46 }

    X520dnQualifier ::=     PrintableString
    

Naming attributes of type X520countryName (digraph from IS 3166):

    id-at-countryName       AttributeType ::= { id-at 6 }

    X520countryName ::=     PrintableString (SIZE (2))
    

Naming attributes of type X520SerialNumber:

    id-at-serialNumber      AttributeType ::= { id-at 5 }

    X520SerialNumber ::=    PrintableString (SIZE (1..ub-serial-number))
    

Naming attributes of type X520Pseudonym:

    id-at-pseudonym         AttributeType ::= { id-at 65 }

    X520Pseudonym ::= CHOICE {
       teletexString     TeletexString   (SIZE (1..ub-pseudonym)),
       printableString   PrintableString (SIZE (1..ub-pseudonym)),
       universalString   UniversalString (SIZE (1..ub-pseudonym)),
       utf8String        UTF8String      (SIZE (1..ub-pseudonym)),
       bmpString         BMPString       (SIZE (1..ub-pseudonym)) }
    

Naming attributes of type DomainComponent (from RFC 2247):

    id-domainComponent      AttributeType ::=
                              { 0 9 2342 19200300 100 1 25 }

    DomainComponent ::=     IA5String
    

Legacy attributes:

    pkcs-9 OBJECT IDENTIFIER ::=
           { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }

    id-emailAddress          AttributeType ::= { pkcs-9 1 }

    EmailAddress ::=         IA5String (SIZE (1..ub-emailaddress-length))
    


Field Summary
 
Fields inherited from class org.bouncycastle.asn1.ASN1Encodable
BER, DER
 
Constructor Summary
Attribute(org.bouncycastle.asn1.ASN1Sequence seq)
          Creates a new instance from a ASN1Sequence object.
Attribute(org.bouncycastle.asn1.DERObjectIdentifier attrType, org.bouncycastle.asn1.ASN1Set attrValues)
          Creates a new instance from given attrType and attrValues.
 
Method Summary
 org.bouncycastle.asn1.DERObjectIdentifier getAttrType()
          Returns the attrType.
 org.bouncycastle.asn1.ASN1Set getAttrValues()
          Returns the attrValues.
static Attribute getInstance(java.lang.Object o)
          Returns an Attribute object from a ASN1Sequence, or Attribute object.
 org.bouncycastle.asn1.DERObject toASN1Object()
           
 
Methods inherited from class org.bouncycastle.asn1.ASN1Encodable
equals, getDEREncoded, getDERObject, getEncoded, getEncoded, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Attribute

public Attribute(org.bouncycastle.asn1.ASN1Sequence seq)
Creates a new instance from a ASN1Sequence object.


Attribute

public Attribute(org.bouncycastle.asn1.DERObjectIdentifier attrType,
                 org.bouncycastle.asn1.ASN1Set attrValues)
Creates a new instance from given attrType and attrValues.

Method Detail

getInstance

public static Attribute getInstance(java.lang.Object o)
Returns an Attribute object from a ASN1Sequence, or Attribute object.

Parameters:
o - the object we want converted.
Throws:
java.lang.IllegalArgumentException - if the object cannot be converted.

getAttrType

public org.bouncycastle.asn1.DERObjectIdentifier getAttrType()
Returns the attrType.


getAttrValues

public org.bouncycastle.asn1.ASN1Set getAttrValues()
Returns the attrValues.


toASN1Object

public org.bouncycastle.asn1.DERObject toASN1Object()
Specified by:
toASN1Object in class org.bouncycastle.asn1.ASN1Encodable