1package org.bouncycastle.asn1.pkcs; 2 3import org.bouncycastle.asn1.ASN1Encodable; 4import org.bouncycastle.asn1.ASN1EncodableVector; 5import org.bouncycastle.asn1.ASN1Object; 6import org.bouncycastle.asn1.ASN1ObjectIdentifier; 7import org.bouncycastle.asn1.ASN1Primitive; 8import org.bouncycastle.asn1.ASN1Sequence; 9import org.bouncycastle.asn1.DERSequence; 10import org.bouncycastle.asn1.DERTaggedObject; 11 12public class CertBag 13 extends ASN1Object 14{ 15 private ASN1ObjectIdentifier certId; 16 private ASN1Encodable certValue; 17 18 private CertBag( 19 ASN1Sequence seq) 20 { 21 this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); 22 this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); 23 } 24 25 public static CertBag getInstance(Object o) 26 { 27 if (o instanceof CertBag) 28 { 29 return (CertBag)o; 30 } 31 else if (o != null) 32 { 33 return new CertBag(ASN1Sequence.getInstance(o)); 34 } 35 36 return null; 37 } 38 39 public CertBag( 40 ASN1ObjectIdentifier certId, 41 ASN1Encodable certValue) 42 { 43 this.certId = certId; 44 this.certValue = certValue; 45 } 46 47 public ASN1ObjectIdentifier getCertId() 48 { 49 return certId; 50 } 51 52 public ASN1Encodable getCertValue() 53 { 54 return certValue; 55 } 56 57 public ASN1Primitive toASN1Primitive() 58 { 59 ASN1EncodableVector v = new ASN1EncodableVector(); 60 61 v.add(certId); 62 v.add(new DERTaggedObject(0, certValue)); 63 64 return new DERSequence(v); 65 } 66} 67