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