1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.asn1.pkcs; 2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.ASN1Encodable; 4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.ASN1EncodableVector; 54c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Object; 64c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier; 74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Primitive; 8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.ASN1Sequence; 9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.DERSequence; 10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallamimport org.bouncycastle.asn1.DERTaggedObject; 11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic class CertBag 134c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom extends ASN1Object 14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{ 154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private ASN1ObjectIdentifier certId; 164c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private ASN1Encodable certValue; 17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private CertBag( 19b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam ASN1Sequence seq) 20b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 214c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.certId = (ASN1ObjectIdentifier)seq.getObjectAt(0); 22b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam this.certValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); 23b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 24b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public static CertBag getInstance(Object o) 264c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom if (o instanceof CertBag) 284c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return (CertBag)o; 304c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 314c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom else if (o != null) 324c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 334c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return new CertBag(ASN1Sequence.getInstance(o)); 344c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 354c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 364c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return null; 374c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 384c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 39b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public CertBag( 404c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1ObjectIdentifier certId, 414c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1Encodable certValue) 42b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 43b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam this.certId = certId; 44b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam this.certValue = certValue; 45b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 46b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 474c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1ObjectIdentifier getCertId() 48b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 49b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return certId; 50b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 51b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 524c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Encodable getCertValue() 53b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 54b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return certValue; 55b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 56b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 574c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Primitive toASN1Primitive() 58b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam { 59b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam ASN1EncodableVector v = new ASN1EncodableVector(); 60b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 61b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam v.add(certId); 62b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam v.add(new DERTaggedObject(0, certValue)); 63b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 64b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam return new DERSequence(v); 65b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam } 66b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam} 67