Home | History | Annotate | Download | only in ocsp
      1 package org.bouncycastle.asn1.ocsp;
      2 
      3 import org.bouncycastle.asn1.ASN1EncodableVector;
      4 import org.bouncycastle.asn1.ASN1Object;
      5 import org.bouncycastle.asn1.ASN1ObjectIdentifier;
      6 import org.bouncycastle.asn1.ASN1OctetString;
      7 import org.bouncycastle.asn1.ASN1Primitive;
      8 import org.bouncycastle.asn1.ASN1Sequence;
      9 import org.bouncycastle.asn1.ASN1TaggedObject;
     10 import org.bouncycastle.asn1.DERSequence;
     11 
     12 public 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