Class Attribute

  • All Implemented Interfaces:
    ASN1Encodable, Encodable
    Direct Known Subclasses:
    SMIMECapabilitiesAttribute, SMIMEEncryptionKeyPreferenceAttribute

    public class Attribute
    extends ASN1Object
    RFC 5652: Attribute is a pair of OID (as type identifier) + set of values.

     Attribute ::= SEQUENCE {
         attrType OBJECT IDENTIFIER,
         attrValues SET OF AttributeValue
     }
     
     AttributeValue ::= ANY
     

    General rule on values is that same AttributeValue must not be included multiple times into the set. That is, if the value is a SET OF INTEGERs, then having same value repeated is wrong: (1, 1), but different values is OK: (1, 2). Normally the AttributeValue syntaxes are more complicated than that.

    General rule of Attribute usage is that the Attributes containers must not have multiple Attribute:s with same attrType (OID) there.