org.bouncycastle.asn1.DEROctetString Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-debug-jdk18on Show documentation
Show all versions of bcprov-ext-debug-jdk18on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for Java 1.8 and later with debug enabled.
The newest version!
package org.bouncycastle.asn1;
import java.io.IOException;
/**
* Carrier class for a DER encoding OCTET STRING
*/
public class DEROctetString
extends ASN1OctetString
{
/**
* Base constructor.
*
* @param string the octets making up the octet string.
*/
public DEROctetString(
byte[] string)
{
super(string);
}
/**
* Constructor from the encoding of an ASN.1 object.
*
* @param obj the object to be encoded.
*/
public DEROctetString(
ASN1Encodable obj)
throws IOException
{
super(obj.toASN1Primitive().getEncoded(ASN1Encoding.DER));
}
boolean encodeConstructed()
{
return false;
}
int encodedLength(boolean withTag)
{
return ASN1OutputStream.getLengthOfEncodingDL(withTag, string.length);
}
void encode(ASN1OutputStream out, boolean withTag) throws IOException
{
out.writeEncodingDL(withTag, BERTags.OCTET_STRING, string);
}
ASN1Primitive toDERObject()
{
return this;
}
ASN1Primitive toDLObject()
{
return this;
}
static void encode(ASN1OutputStream out, boolean withTag, byte[] buf, int off, int len) throws IOException
{
out.writeEncodingDL(withTag, BERTags.OCTET_STRING, buf, off, len);
}
static int encodedLength(boolean withTag, int contentsLength)
{
return ASN1OutputStream.getLengthOfEncodingDL(withTag, contentsLength);
}
}