Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.asn1.cms;
  
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.

 
 public class Attribute
     extends ASN1Object
 {
     private ASN1ObjectIdentifier attrType;
     private ASN1Set             attrValues;

    
Return an Attribute object from the given object.

Accepted inputs:

  • null → null
  • Attribute object
  • ASN1Sequence input formats with Attribute structure inside

Parameters:
o the object we want converted.
Throws:
java.lang.IllegalArgumentException if the object cannot be converted.
 
     public static Attribute getInstance(
         Object o)
     {
         if (o instanceof Attribute)
         {
             return (Attribute)o;
         }
         
         if (o != null)
         {
             return new Attribute(ASN1Sequence.getInstance(o));
         }
 
         return null;
     }
     
     private Attribute(
         ASN1Sequence seq)
     {
          = (ASN1ObjectIdentifier)seq.getObjectAt(0);
          = (ASN1Set)seq.getObjectAt(1);
     }
 
     public Attribute(
         ASN1ObjectIdentifier attrType,
         ASN1Set             attrValues)
     {
         this. = attrType;
         this. = attrValues;
     }
 
     public ASN1ObjectIdentifier getAttrType()
     {
         return ;
     }
     
     public ASN1Set getAttrValues()
     {
         return ;
     }
 
     public ASN1Encodable[] getAttributeValues()
     {
         return .toArray();
     }

    
Produce an object suitable for an ASN1OutputStream.
    {
        ASN1EncodableVector v = new ASN1EncodableVector();
        v.add();
        v.add();
        return new DERSequence(v);
    }
New to GrepCode? Check out our FAQ X