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

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.cms;
  2. import org.bouncycastle.asn1.*;
  3. public class OtherKeyAttribute
  4.     implements DEREncodable
  5. {
  6. private DERObjectIdentifier keyAttrId;
  7. private DEREncodable        keyAttr;
  8.     /**
  9.      * return an OtherKeyAttribute 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 OtherKeyAttribute getInstance(
  15.         Object o)
  16.     {
  17. if (o == null || o instanceof OtherKeyAttribute)
  18.         {
  19. return (OtherKeyAttribute)o;
  20. }
  21. if (o instanceof ASN1Sequence)
  22.         {
  23. return new OtherKeyAttribute((ASN1Sequence)o);
  24. }
  25.         throw new IllegalArgumentException("unknown object in factory");
  26. }
  27. public OtherKeyAttribute(
  28.         ASN1Sequence seq)
  29.     {
  30. keyAttrId = (DERObjectIdentifier)seq.getObjectAt(0);
  31. keyAttr = seq.getObjectAt(1);
  32. }
  33. public OtherKeyAttribute(
  34.     DERObjectIdentifier keyAttrId,
  35.     DEREncodable        keyAttr)
  36.     {
  37. this.keyAttrId = keyAttrId;
  38. this.keyAttr = keyAttr;
  39. }
  40. public DERObjectIdentifier getKeyAttrId()
  41.     {
  42. return keyAttrId;
  43. }
  44. public DEREncodable getKeyAttr()
  45.     {
  46. return keyAttr;
  47. }
  48.     /** 
  49.      * <pre>
  50.      * OtherKeyAttribute ::= SEQUENCE {
  51.      *  keyAttrId OBJECT IDENTIFIER,
  52.      *  keyAttr ANY DEFINED BY keyAttrId OPTIONAL
  53.      * }
  54.      * </pre>
  55.      */
  56. public DERObject getDERObject()
  57.     {
  58. ASN1EncodableVector v = new ASN1EncodableVector();
  59. v.add(keyAttrId);
  60. v.add(keyAttr);
  61. return new DERSequence(v);
  62. }
  63. }