|
Bouncy Castle Cryptography Library 1.85 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.asn1.ASN1Generator
org.bouncycastle.asn1.DLGenerator
org.bouncycastle.asn1.DLSequenceGenerator
A stream generator for definite-length SEQUENCEs. The caller commits to the
total length of the SEQUENCE body up front; the header is written
immediately and the body then streams through getRawOutputStream()
/ addObject(ASN1Encodable). close() verifies the body
came out at exactly the promised length and throws an IOException
otherwise — by then the output is not usable, but every length mismatch is
a caller arithmetic bug that must not pass silently.
Unlike DERSequenceGenerator nothing is buffered, so the body may
exceed the size of a Java array; the trade-off is that the length has to be
known before any content is produced.
| Field Summary |
| Fields inherited from class org.bouncycastle.asn1.ASN1Generator |
_out |
| Constructor Summary | |
DLSequenceGenerator(java.io.OutputStream out,
int tagNo,
boolean isExplicit,
long bodyLength)
Use the passed in stream as the target for the generator, writing out the header for a tagged definite-length constructed SEQUENCE (possibly implicit). |
|
DLSequenceGenerator(java.io.OutputStream out,
long bodyLength)
Use the passed in stream as the target for the generator, writing out the header for a definite-length constructed SEQUENCE. |
|
| Method Summary | |
void |
addObject(ASN1Encodable object)
Add the DL encoding of the passed in object to the SEQUENCE body. |
void |
close()
Verify the declared body length was written in full. |
java.io.OutputStream |
getRawOutputStream()
Return the target stream for the SEQUENCE body. |
| Methods inherited from class org.bouncycastle.asn1.DLGenerator |
getDLEncodingLength, getLengthOctetCount, writeDLHeader |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public DLSequenceGenerator(java.io.OutputStream out,
long bodyLength)
throws java.io.IOException
out - target streambodyLength - the exact number of content octets that will be written
java.io.IOException - if the target stream cannot be written to.
public DLSequenceGenerator(java.io.OutputStream out,
int tagNo,
boolean isExplicit,
long bodyLength)
throws java.io.IOException
out - target streamtagNo - the tag number to introduceisExplicit - true if this is an explicitly tagged object, false otherwise.bodyLength - the exact number of content octets that will be written
java.io.IOException - if the target stream cannot be written to.| Method Detail |
public java.io.OutputStream getRawOutputStream()
getRawOutputStream in class DLGenerator
public void addObject(ASN1Encodable object)
throws java.io.IOException
java.io.IOException
public void close()
throws java.io.IOException
java.io.IOException - if fewer content octets were written than declared.
|
Bouncy Castle Cryptography Library 1.85 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||