001package org.apache.commons.ssl.org.bouncycastle.asn1.pkcs; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Encodable; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1ObjectIdentifier; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 008import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 009import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 010import org.apache.commons.ssl.org.bouncycastle.asn1.DERTaggedObject; 011 012public class CertBag 013 extends ASN1Object 014{ 015 private ASN1ObjectIdentifier certId; 016 private ASN1Encodable certValue; 017 018 private CertBag( 019 ASN1Sequence seq) 020 { 021 this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); 022 this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); 023 } 024 025 public static CertBag getInstance(Object o) 026 { 027 if (o instanceof CertBag) 028 { 029 return (CertBag)o; 030 } 031 else if (o != null) 032 { 033 return new CertBag(ASN1Sequence.getInstance(o)); 034 } 035 036 return null; 037 } 038 039 public CertBag( 040 ASN1ObjectIdentifier certId, 041 ASN1Encodable certValue) 042 { 043 this.certId = certId; 044 this.certValue = certValue; 045 } 046 047 public ASN1ObjectIdentifier getCertId() 048 { 049 return certId; 050 } 051 052 public ASN1Encodable getCertValue() 053 { 054 return certValue; 055 } 056 057 public ASN1Primitive toASN1Primitive() 058 { 059 ASN1EncodableVector v = new ASN1EncodableVector(); 060 061 v.add(certId); 062 v.add(new DERTaggedObject(0, certValue)); 063 064 return new DERSequence(v); 065 } 066}