public class CMSDigestedDataInputStream extends CMSInputStream
CMSDigestedDataInputStream is used to read digested-data
CMS objects.
A CMSDigestedDataInputStream is essentially a input stream filter that unwraps the
CMS digested-data structure from the data read in.
You will be able to read a detached digested-data object using the CMSDigestedDataInputStream
class but you will not be able to verify the digest.
IMPORTANT: This class processes large CMS digested-data Objects more efficiently (Java VM memory usage) than the
CMSDigestedDataContentInfo class.
| Constructor and Description |
|---|
CMSDigestedDataInputStream(CMSInputConnector conn)
Creates a
CMSDigestedDataInputStream. |
CMSDigestedDataInputStream(java.io.InputStream in)
Creates a
CMSDigestedDataInputStream. |
| Modifier and Type | Method and Description |
|---|---|
int |
available() |
byte[] |
getDigest()
Returns the message digest value.
|
AlgorithmIdentifier |
getDigestAlgID()
Returns the message digest algorithm.
|
ASN1ObjectID |
getEnclosedContentType()
Returns the content type of the digested content.
|
ASN1Integer |
getVersion()
Deprecated.
As of Phaos CMS 2.0.1, replaced by
getVersionNumber() |
java.math.BigInteger |
getVersionNumber()
Returns the version number of this CMS Object.
|
void |
mark(int readlimit)
Not supported.
|
boolean |
markSupported()
Always returns
false. |
int |
read() |
int |
read(byte[] buffer,
int offset,
int len) |
void |
reset()
Not supported.
|
long |
skip(long n) |
void |
terminate()
Finish reading the
digested-data structure. |
void |
verify()
Verify the Message Digest.
|
public CMSDigestedDataInputStream(java.io.InputStream in)
CMSDigestedDataInputStream.in - The underlying input stream.public CMSDigestedDataInputStream(CMSInputConnector conn)
CMSDigestedDataInputStream.conn - The underlying input connector.public void terminate()
throws java.io.IOException
digested-data structure.
Invoke this method only after all the underlying content has been read.
terminate in class CMSInputStreamjava.io.IOException - An I/O error occurred or some of the underlying content is still present
in the input stream.public java.math.BigInteger getVersionNumber()
throws java.io.IOException
java.io.IOException - An I/O error occurred or the input is incorrectly encoded.public ASN1Integer getVersion()
throws java.io.IOException
getVersionNumber()java.io.IOException - An I/O error occurred or the input is incorrectly encoded.public byte[] getDigest()
throws java.io.IOException
java.io.IOException - An I/O error occurred or the input is incorrectly encoded.public AlgorithmIdentifier getDigestAlgID()
throws java.io.IOException
java.io.IOException - An I/O error occurred or the input is incorrectly encoded.public void verify()
throws AuthenticationException,
java.io.IOException
This method will always fail when reading a detached CMS id-digestedData. To
process detached CMS Objects, use the CMSDigestedDataContentInfo instead.
AuthenticationException - Message digest values are different.java.io.IOException - An I/O error occurred or no input has been read.CMSContentInfo.inputInstance(InputStream),
CMSDigestedDataContentInfopublic ASN1ObjectID getEnclosedContentType()
throws java.io.IOException
getEnclosedContentType in class CMSInputStreamjava.io.IOException - An I/O error occurred or no input has been read.public int read()
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic int read(byte[] buffer,
int offset,
int len)
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic int available()
throws java.io.IOException
available in class java.io.FilterInputStreamjava.io.IOExceptionpublic long skip(long n)
throws java.io.IOException
skip in class java.io.FilterInputStreamjava.io.IOExceptionpublic boolean markSupported()
false.markSupported in class java.io.FilterInputStreampublic void mark(int readlimit)
mark in class java.io.FilterInputStreampublic void reset()
throws java.io.IOException
reset in class java.io.FilterInputStreamjava.io.IOException - always(not supported)