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</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), CMSDigestedDataContentInfo
public 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.IOException
public int read(byte[] buffer,
int offset,
int len)
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOException
public int available()
throws java.io.IOException
available in class java.io.FilterInputStreamjava.io.IOException
public long skip(long n)
throws java.io.IOException
skip in class java.io.FilterInputStreamjava.io.IOExceptionpublic boolean markSupported()
false</false>.Overrides:markSupported in class java.io.FilterInputStreampublic void mark(int readlimit)
mark in class java.io.FilterInputStream
public void reset()
throws java.io.IOException
reset in class java.io.FilterInputStreamjava.io.IOException - always(not supported)