Package org.bouncycastle.asn1
Class DLOctetStringGenerator
- java.lang.Object
-
- org.bouncycastle.asn1.ASN1Generator
-
- org.bouncycastle.asn1.DLGenerator
-
- org.bouncycastle.asn1.DLOctetStringGenerator
-
public class DLOctetStringGenerator extends DLGenerator
A stream generator for definite-length (primitive) OCTET STRINGs. The caller commits to the octet count up front; the header is written immediately and the octets then stream throughgetOctetOutputStream(), which enforces the count — writing past it fails immediately, andclose()fails if it was not reached. The count is along, so content larger than a Java array can carry is supported.The result is a single primitive OCTET STRING (as DER requires), in contrast to
BEROctetStringGenerator's indefinite-length constructed chunking.
-
-
Field Summary
-
Fields inherited from class org.bouncycastle.asn1.ASN1Generator
_out
-
-
Constructor Summary
Constructors Constructor Description DLOctetStringGenerator(java.io.OutputStream out, int tagNo, boolean isExplicit, long octetCount)Use the passed in stream as the target for the generator, writing out the header for a tagged definite-length OCTET STRING (primitive when implicit, per X.690 8.14.3).DLOctetStringGenerator(java.io.OutputStream out, long octetCount)Use the passed in stream as the target for the generator, writing out the header for a definite-length primitive OCTET STRING.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Verify the declared octet count was written in full.java.io.OutputStreamgetOctetOutputStream()Return the content target for this OCTET STRING.-
Methods inherited from class org.bouncycastle.asn1.DLGenerator
getDLEncodingLength, getLengthOctetCount, getRawOutputStream, writeDLHeader
-
-
-
-
Constructor Detail
-
DLOctetStringGenerator
public DLOctetStringGenerator(java.io.OutputStream out, long octetCount) throws java.io.IOExceptionUse the passed in stream as the target for the generator, writing out the header for a definite-length primitive OCTET STRING.- Parameters:
out- target streamoctetCount- the exact number of octets that will be written- Throws:
java.io.IOException- if the target stream cannot be written to.
-
DLOctetStringGenerator
public DLOctetStringGenerator(java.io.OutputStream out, int tagNo, boolean isExplicit, long octetCount) throws java.io.IOExceptionUse the passed in stream as the target for the generator, writing out the header for a tagged definite-length OCTET STRING (primitive when implicit, per X.690 8.14.3).- Parameters:
out- target streamtagNo- the tag number to introduceisExplicit- true if this is an explicitly tagged object, false otherwise.octetCount- the exact number of octets that will be written- Throws:
java.io.IOException- if the target stream cannot be written to.
-
-
Method Detail
-
getOctetOutputStream
public java.io.OutputStream getOctetOutputStream()
Return the content target for this OCTET STRING. Writes are counted against the count declared at construction; writing past it fails immediately.
-
close
public void close() throws java.io.IOExceptionVerify the declared octet count was written in full.- Throws:
java.io.IOException- if fewer octets were written than declared.
-
-