Attribute.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:1k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.pkcs;
  2. import org.bouncycastle.asn1.*;
  3. public class Attribute
  4.     implements DEREncodable
  5. {
  6. private DERObjectIdentifier attrType;
  7. private ASN1Set             attrValues;
  8.     /**
  9.      * return an Attribute object from the given object.
  10.      *
  11.      * @param o the object we want converted.
  12.      * @exception IllegalArgumentException if the object cannot be converted.
  13.      */
  14. public static Attribute getInstance(
  15.         Object o)
  16.     {
  17. if (o == null || o instanceof Attribute)
  18.         {
  19. return (Attribute)o;
  20. }
  21. if (o instanceof ASN1Sequence)
  22.         {
  23. return new Attribute((ASN1Sequence)o);
  24. }
  25.         throw new IllegalArgumentException("unknown object in factory");
  26. }
  27. public Attribute(
  28.         ASN1Sequence seq)
  29.     {
  30. attrType = (DERObjectIdentifier)seq.getObjectAt(0);
  31. attrValues = (ASN1Set)seq.getObjectAt(1);
  32. }
  33. public Attribute(
  34.     DERObjectIdentifier attrType,
  35.     ASN1Set             attrValues)
  36.     {
  37. this.attrType = attrType;
  38. this.attrValues = attrValues;
  39. }
  40. public DERObjectIdentifier getAttrType()
  41.     {
  42. return attrType;
  43. }
  44. public ASN1Set getAttrValues()
  45.     {
  46. return attrValues;
  47. }
  48.     /** 
  49.      * <pre>
  50.      * Attribute ::= SEQUENCE {
  51.      *  attrType OBJECT IDENTIFIER,
  52.      *  attrValues SET OF AttributeValue
  53.      * }
  54.      * </pre>
  55.      */
  56. public DERObject getDERObject()
  57.     {
  58. ASN1EncodableVector v = new ASN1EncodableVector();
  59. v.add(attrType);
  60. v.add(attrValues);
  61. return new DERSequence(v);
  62. }
  63. }