14c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompackage org.bouncycastle.asn1.pkcs; 24c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 34c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Encodable; 44c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1EncodableVector; 54c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Object; 64c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier; 74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Primitive; 84c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.ASN1Sequence; 94c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.DERSequence; 104c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport org.bouncycastle.asn1.DERTaggedObject; 114c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 124c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompublic class CRLBag 134c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom extends ASN1Object 144c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom{ 154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private ASN1ObjectIdentifier crlId; 164c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private ASN1Encodable crlValue; 174c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom private CRLBag( 194c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1Sequence seq) 204c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 214c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.crlId = (ASN1ObjectIdentifier)seq.getObjectAt(0); 224c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.crlValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); 234c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 244c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public static CRLBag getInstance(Object o) 264c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom if (o instanceof CRLBag) 284c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return (CRLBag)o; 304c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 314c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom else if (o != null) 324c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 334c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return new CRLBag(ASN1Sequence.getInstance(o)); 344c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 354c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 364c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return null; 374c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 384c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 394c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public CRLBag( 404c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1ObjectIdentifier crlId, 414c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1Encodable crlValue) 424c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 434c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.crlId = crlId; 444c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.crlValue = crlValue; 454c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 464c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 474c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1ObjectIdentifier getcrlId() 484c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 494c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return crlId; 504c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 514c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 524c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Encodable getCRLValue() 534c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 544c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return crlValue; 554c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 564c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 574c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom /** 584c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom * <pre> 594c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom CRLBag ::= SEQUENCE { 604c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom crlId BAG-TYPE.&id ({CRLTypes}), 614c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom crlValue [0] EXPLICIT BAG-TYPE.&Type ({CRLTypes}{@crlId}) 624c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 634c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 644c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom x509CRL BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1} 654c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom -- DER-encoded X.509 CRL stored in OCTET STRING 664c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 674c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom CRLTypes BAG-TYPE ::= { 684c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom x509CRL, 694c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ... -- For future extensions 704c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 714c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom </pre> 724c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom */ 734c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ASN1Primitive toASN1Primitive() 744c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 754c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom ASN1EncodableVector v = new ASN1EncodableVector(); 764c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 774c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom v.add(crlId); 784c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom v.add(new DERTaggedObject(0, crlValue)); 794c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 804c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return new DERSequence(v); 814c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 824c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom} 83