org.bouncycastle.asn1.DLBitString 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;
/**
* A Definite length BIT STRING
*/
public class DLBitString
extends ASN1BitString
{
public DLBitString(byte[] data)
{
this(data, 0);
}
public DLBitString(byte data, int padBits)
{
super(data, padBits);
}
public DLBitString(byte[] data, int padBits)
{
super(data, padBits);
}
public DLBitString(int value)
{
// TODO[asn1] Unify in single allocation of 'contents'
super(getBytes(value), getPadBits(value));
}
public DLBitString(ASN1Encodable obj) throws IOException
{
// TODO[asn1] Unify in single allocation of 'contents'
super(obj.toASN1Primitive().getEncoded(ASN1Encoding.DER), 0);
}
DLBitString(byte[] contents, boolean check)
{
super(contents, check);
}
boolean encodeConstructed()
{
return false;
}
int encodedLength(boolean withTag)
{
return ASN1OutputStream.getLengthOfEncodingDL(withTag, contents.length);
}
void encode(ASN1OutputStream out, boolean withTag) throws IOException
{
out.writeEncodingDL(withTag, BERTags.BIT_STRING, contents);
}
ASN1Primitive toDLObject()
{
return this;
}
static int encodedLength(boolean withTag, int contentsLength)
{
return ASN1OutputStream.getLengthOfEncodingDL(withTag, contentsLength);
}
static void encode(ASN1OutputStream out, boolean withTag, byte[] buf, int off, int len) throws IOException
{
out.writeEncodingDL(withTag, BERTags.BIT_STRING, buf, off, len);
}
static void encode(ASN1OutputStream out, boolean withTag, byte pad, byte[] buf, int off, int len)
throws IOException
{
out.writeEncodingDL(withTag, BERTags.BIT_STRING, pad, buf, off, len);
}
}