|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
org.bouncycastle.bcpg.ArmoredInputStream
reader for Base64 armored objects - read the headers and then start returning bytes when the data is reached. An IOException is thrown if the CRC check is detected and fails.
By default a missing CRC will not cause an exception. To force CRC detection use: ArmoredInputStream aIn = [] aIn.setDetectMissingCRC(true);
Nested Class Summary | |
static class |
ArmoredInputStream.Builder
|
Constructor Summary | |
ArmoredInputStream(java.io.InputStream in)
Create a stream for reading a PGP armoured message, parsing up to a header and then reading the data that follows. |
|
ArmoredInputStream(java.io.InputStream in,
boolean hasHeaders)
Create an armoured input stream which will assume the data starts straight away, or parse for headers first depending on the value of hasHeaders. |
Method Summary | |
int |
available()
|
static ArmoredInputStream.Builder |
builder()
|
void |
close()
|
java.lang.String |
getArmorHeaderLine()
Return the armor header line (if there is one) |
java.lang.String[] |
getArmorHeaders()
Return the armor headers (the lines after the armor header line), |
boolean |
isClearText()
|
boolean |
isEndOfStream()
|
int |
read()
|
int |
read(byte[] b,
int off,
int len)
Reads up to len bytes of data from the input stream into an array of bytes. |
void |
setDetectMissingCRC(boolean detectMissing)
Deprecated. use Builder class for configuring this. |
Methods inherited from class java.io.InputStream |
mark, markSupported, read, reset, skip |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ArmoredInputStream(java.io.InputStream in) throws java.io.IOException
in
- public ArmoredInputStream(java.io.InputStream in, boolean hasHeaders) throws java.io.IOException
in
- hasHeaders
- true if headers are to be looked for, false otherwise.Method Detail |
public int available() throws java.io.IOException
java.io.IOException
public boolean isClearText()
public boolean isEndOfStream()
public java.lang.String getArmorHeaderLine()
public java.lang.String[] getArmorHeaders()
public int read() throws java.io.IOException
java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
The first byte read is stored into element b[off], the next one into b[off+1], and so on. The number of bytes read is, at most, equal to len.
NOTE: We need to override the custom behavior of Java's InputStream.read(byte[], int, int)
,
as the upstream method silently swallows IOExceptions
.
This would cause CRC checksum errors to go unnoticed.
b
- byte arrayoff
- offset at which we start writing data to the arraylen
- number of bytes we write into the array
java.io.IOException
- if an exception happens AT ANY POINTpublic void close() throws java.io.IOException
java.io.IOException
public void setDetectMissingCRC(boolean detectMissing)
IOException
will be thrown if a missing CRC checksum is encountered.
detectMissing
- false if ignore missing CRC sums, true for exceptionpublic static ArmoredInputStream.Builder builder()
|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |