1package org.bouncycastle.asn1.ocsp; 2 3import org.bouncycastle.asn1.ASN1EncodableVector; 4import org.bouncycastle.asn1.ASN1Object; 5import org.bouncycastle.asn1.ASN1ObjectIdentifier; 6import org.bouncycastle.asn1.ASN1OctetString; 7import org.bouncycastle.asn1.ASN1Primitive; 8import org.bouncycastle.asn1.ASN1Sequence; 9import org.bouncycastle.asn1.ASN1TaggedObject; 10import org.bouncycastle.asn1.DERSequence; 11 12public class ResponseBytes 13 extends ASN1Object 14{ 15 ASN1ObjectIdentifier responseType; 16 ASN1OctetString response; 17 18 public ResponseBytes( 19 ASN1ObjectIdentifier responseType, 20 ASN1OctetString response) 21 { 22 this.responseType = responseType; 23 this.response = response; 24 } 25 26 /** 27 * @deprecated use getInstance() 28 */ 29 public ResponseBytes( 30 ASN1Sequence seq) 31 { 32 responseType = (ASN1ObjectIdentifier)seq.getObjectAt(0); 33 response = (ASN1OctetString)seq.getObjectAt(1); 34 } 35 36 public static ResponseBytes getInstance( 37 ASN1TaggedObject obj, 38 boolean explicit) 39 { 40 return getInstance(ASN1Sequence.getInstance(obj, explicit)); 41 } 42 43 public static ResponseBytes getInstance( 44 Object obj) 45 { 46 if (obj instanceof ResponseBytes) 47 { 48 return (ResponseBytes)obj; 49 } 50 else if (obj != null) 51 { 52 return new ResponseBytes(ASN1Sequence.getInstance(obj)); 53 } 54 55 return null; 56 } 57 58 public ASN1ObjectIdentifier getResponseType() 59 { 60 return responseType; 61 } 62 63 public ASN1OctetString getResponse() 64 { 65 return response; 66 } 67 68 /** 69 * Produce an object suitable for an ASN1OutputStream. 70 * <pre> 71 * ResponseBytes ::= SEQUENCE { 72 * responseType OBJECT IDENTIFIER, 73 * response OCTET STRING } 74 * </pre> 75 */ 76 public ASN1Primitive toASN1Primitive() 77 { 78 ASN1EncodableVector v = new ASN1EncodableVector(); 79 80 v.add(responseType); 81 v.add(response); 82 83 return new DERSequence(v); 84 } 85} 86