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

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.pkcs;
  2. import org.bouncycastle.asn1.*;
  3. import org.bouncycastle.asn1.x509.*;
  4. public class SafeBag
  5.     implements DEREncodable
  6. {
  7.     DERObjectIdentifier         bagId;
  8.     DERObject                   bagValue;
  9.     ASN1Set                     bagAttributes;
  10.     public SafeBag(
  11.         DERObjectIdentifier     oid,
  12.         DERObject               obj)
  13.     {
  14.         this.bagId = oid;
  15.         this.bagValue = obj;
  16.         this.bagAttributes = null;
  17.     }
  18.     public SafeBag(
  19.         DERObjectIdentifier     oid,
  20.         DERObject               obj,
  21.         ASN1Set                 bagAttributes)
  22.     {
  23.         this.bagId = oid;
  24.         this.bagValue = obj;
  25.         this.bagAttributes = bagAttributes;
  26.     }
  27. public SafeBag(
  28. ASN1Sequence seq)
  29. {
  30. this.bagId = (DERObjectIdentifier)seq.getObjectAt(0);
  31. this.bagValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject();
  32.         if (seq.size() == 3)
  33.         {
  34.             this.bagAttributes = (ASN1Set)seq.getObjectAt(2);
  35.         }
  36. }
  37. public DERObjectIdentifier getBagId()
  38. {
  39. return bagId;
  40. }
  41.     public DERObject getBagValue()
  42.     {
  43. return bagValue;
  44.     }
  45.     public ASN1Set getBagAttributes()
  46.     {
  47. return bagAttributes;
  48.     }
  49.     public DERObject getDERObject()
  50.     {
  51.         ASN1EncodableVector v = new ASN1EncodableVector();
  52.         v.add(bagId);
  53.         v.add(new DERTaggedObject(0, bagValue));
  54.         if (bagAttributes != null)
  55.         {
  56.             v.add(bagAttributes);
  57.         }
  58.         return new DERSequence(v);
  59.     }
  60. }