Class DLOctetStringGenerator
java.lang.Object
org.bouncycastle.asn1.ASN1Generator
org.bouncycastle.asn1.DLGenerator
org.bouncycastle.asn1.DLOctetStringGenerator
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 through
getOctetOutputStream(), which enforces the count — writing past it
fails immediately, and close() fails if it was not reached. The
count is a long, 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 ASN1Generator
_out -
Constructor Summary
ConstructorsConstructorDescriptionDLOctetStringGenerator(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(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
Modifier and TypeMethodDescriptionvoidclose()Verify the declared octet count was written in full.Return the content target for this OCTET STRING.Methods inherited from class DLGenerator
getDLEncodingLength, getLengthOctetCount, getRawOutputStream, writeDLHeader
-
Constructor Details
-
DLOctetStringGenerator
Use 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:
IOException- if the target stream cannot be written to.
-
DLOctetStringGenerator
public DLOctetStringGenerator(OutputStream out, int tagNo, boolean isExplicit, long octetCount) throws IOException 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).- 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:
IOException- if the target stream cannot be written to.
-
-
Method Details
-
getOctetOutputStream
Return the content target for this OCTET STRING. Writes are counted against the count declared at construction; writing past it fails immediately. -
close
Verify the declared octet count was written in full.- Throws:
IOException- if fewer octets were written than declared.
-