• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.bouncycastle.asn1;
2 
3 import java.io.IOException;
4 
5 /**
6  * Carrier class for a DER encoding OCTET STRING
7  */
8 public class DEROctetString
9     extends ASN1OctetString
10 {
11     /**
12      * Base constructor.
13      *
14      * @param string the octets making up the octet string.
15      */
DEROctetString( byte[] string)16     public DEROctetString(
17         byte[]  string)
18     {
19         super(string);
20     }
21 
22     /**
23      * Constructor from the encoding of an ASN.1 object.
24      *
25      * @param obj the object to be encoded.
26      */
DEROctetString( ASN1Encodable obj)27     public DEROctetString(
28         ASN1Encodable obj)
29         throws IOException
30     {
31         super(obj.toASN1Primitive().getEncoded(ASN1Encoding.DER));
32     }
33 
isConstructed()34     boolean isConstructed()
35     {
36         return false;
37     }
38 
encodedLength()39     int encodedLength()
40     {
41         return 1 + StreamUtil.calculateBodyLength(string.length) + string.length;
42     }
43 
encode( ASN1OutputStream out)44     void encode(
45         ASN1OutputStream out)
46         throws IOException
47     {
48         out.writeEncoded(BERTags.OCTET_STRING, string);
49     }
50 
encode( DEROutputStream derOut, byte[] bytes)51     static void encode(
52         DEROutputStream derOut,
53         byte[]          bytes)
54         throws IOException
55     {
56         derOut.writeEncoded(BERTags.OCTET_STRING, bytes);
57     }
58 }
59