Class ArmoredInputStream.Builder
java.lang.Object
org.bouncycastle.bcpg.ArmoredInputStream.Builder
- Enclosing class:
ArmoredInputStream
-
Method Summary
Modifier and TypeMethodDescriptionaddAllowedArmorHeader(String header) build(InputStream inputStream) setDetectMissingCRC(boolean detectMissingCRC) Change how the stream should react if it encounters missing CRC checksum.setIgnoreCRC(boolean ignoreCRC) Specifically ignore the CRC if in place (this will also avoid the cost of calculation).setParseForHeaders(boolean hasHeaders) Enable or disable header parsing (default value true).setRejectPrefixedDashesInCSFMessages(boolean rejectDashes) Configure how a cleartext-signed (CSF) message is handled when a payload line begins with a dash that is neither a "-----" armor header nor a "- " dash-escape.setValidateClearsignedMessageHeaders(boolean validateHeaders)
-
Method Details
-
setParseForHeaders
Enable or disable header parsing (default value true).- Parameters:
hasHeaders- true if headers should be expected, false otherwise.- Returns:
- the current builder instance.
-
setValidateClearsignedMessageHeaders
-
setRejectPrefixedDashesInCSFMessages
Configure how a cleartext-signed (CSF) message is handled when a payload line begins with a dash that is neither a "-----" armor header nor a "- " dash-escape. RFC 4880 7.1 requires every cleartext line beginning with a dash to be prefixed with "- " (dash, space), so a leading dash not followed by a space signals a malformed message. Historically the two leading characters were dropped unconditionally, so a signature over "payload" also verified against a tampered "-Xpayload" line.Defaults to
true(reject with anArmoredInputException). RFC-conformant messages - including everything written byArmoredOutputStream- never trigger this. When set tofalsethe offending bytes are returned verbatim instead of being dropped, so a signature check over the recovered text fails rather than silently succeeding.- Parameters:
rejectDashes- true to reject malformed dash-prefixed CSF messages, false to surface their bytes verbatim.- Returns:
- the current builder instance.
-
addAllowedArmorHeader
-
setDetectMissingCRC
Change how the stream should react if it encounters missing CRC checksum. The default value is false (ignore missing CRC checksums). If the behavior is set to true, anIOExceptionwill be thrown if a missing CRC checksum is encountered.- Parameters:
detectMissingCRC- false if ignore missing CRC sums, true for exception
-
setIgnoreCRC
Specifically ignore the CRC if in place (this will also avoid the cost of calculation).- Parameters:
ignoreCRC- true if CRC should be ignored, false otherwise.- Returns:
- the current builder instance.
-
build
- Throws:
IOException
-