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.
|
oracle.security.crypto.core.AlgorithmIdentifier |
getDigestAlgID()
Returns the message digest algorithm.
|
oracle.security.crypto.asn1.ASN1ObjectID |
getEnclosedContentType()
Returns the content type of the digested content.
|
oracle.security.crypto.asn1.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 oracle.security.crypto.asn1.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 oracle.security.crypto.core.AlgorithmIdentifier getDigestAlgID()
throws java.io.IOException
java.io.IOException - An I/O error occurred or the input is incorrectly encoded.public void verify()
throws oracle.security.crypto.core.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.
oracle.security.crypto.core.AuthenticationException - Message digest values are different.java.io.IOException - An I/O error occurred or no input has been read.CMSContentInfo.inputInstance(InputStream), CMSDigestedDataContentInfopublic oracle.security.crypto.asn1.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</false>.Overrides: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)