Skip navigation links

Oracle Fusion Middleware CMS Java API Reference for Oracle Security Developer Tools
11g Release 1 (11.1.1)

E10667-03


oracle.security.crypto.cms
Class CMSSignedDataOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by oracle.security.crypto.cms.CMSOutputStream
              extended by oracle.security.crypto.cms.CMSSignedDataOutputStream

All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class CMSSignedDataOutputStream
extends CMSOutputStream

A CMSSignedDataOutputStream writes its output in the form of a CMS signed-data structure, signing the data in the process.

Specifically, the effect of using this class is as if the following process took place:

except that the actual process is done in one pass, eliminating the necessity to accumulate all of the input data before writing any output.

In the case where a <ocde>CMSConnector is provided instead of a CMSOutputStream, only the exposed content i.e. the Content field of the ContentInfo structure minus the explicit [0] tag is written to the underlying output stream.

IMPORTANT: This class generates large CMS signed-data Objects more efficiently (Java VM memory usage) than the CMSSignedDataContentInfo class.

See Also:
CMSOutputStream, CMSSignedDataContentInfo, CMSSignedDataOutputStream

Field Summary

 

Fields inherited from class java.io.FilterOutputStream
out

 

Constructor Summary
CMSSignedDataOutputStream(CMSOutputConnector conn, java.util.Vector signers, java.util.Vector certificates, java.util.Vector crls, oracle.security.crypto.asn1.ASN1ObjectID contentType)
          Creates a CMSSignedDataOutputStream.
CMSSignedDataOutputStream(CMSOutputConnector conn, java.util.Vector signers, java.util.Vector certificates, java.util.Vector crls, oracle.security.crypto.asn1.ASN1ObjectID contentType, boolean createExternalSignatures)
          Creates a CMSSignedDataOutputStream.
CMSSignedDataOutputStream(java.io.OutputStream out, java.util.Vector signers, java.util.Vector certificates, java.util.Vector crls)
          Creates a CMSSignedDataOutputStream.
CMSSignedDataOutputStream(java.io.OutputStream out, java.util.Vector signers, java.util.Vector certificates, java.util.Vector crls, oracle.security.crypto.asn1.ASN1ObjectID contentType)
          Creates a CMSSignedDataOutputStream.
CMSSignedDataOutputStream(java.io.OutputStream out, java.util.Vector signers, java.util.Vector certificates, java.util.Vector crls, oracle.security.crypto.asn1.ASN1ObjectID contentType, boolean createExternalSignatures)
          Creates a CMSSignedDataOutputStream.

 

Method Summary
 void close()
           
 oracle.security.crypto.asn1.ASN1ObjectID getExposedContentType()
          Returns the content type of the data that is output to the underlying output stream.
 void terminate()
          Finish writing the signed-data structure.
 void write(byte[] b, int off, int len)
           
 void write(int ch)
           

 

Methods inherited from class java.io.FilterOutputStream
flush, write

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

CMSSignedDataOutputStream

public CMSSignedDataOutputStream(java.io.OutputStream out,
                                 java.util.Vector signers,
                                 java.util.Vector certificates,
                                 java.util.Vector crls)
                          throws java.security.NoSuchAlgorithmException
Creates a CMSSignedDataOutputStream.

Note the changes in the exceptions

Exceptions no longer thrown - AlgorithmIdentifierException

Exceptions introduced -- NoSuchAlgorithmException

Parameters:
out - The underlying output stream.
signers - A vector of CMSSignerInfoSpec objects.
certificates - A list of Certificates that are to be added to the signed-data object.
crls - A list of CRLs that are to be added to the signed-data object.
Throws:
java.security.NoSuchAlgorithmException - If one of the signer-info objects has an invalid algorithm identifier.

CMSSignedDataOutputStream

public CMSSignedDataOutputStream(java.io.OutputStream out,
                                 java.util.Vector signers,
                                 java.util.Vector certificates,
                                 java.util.Vector crls,
                                 oracle.security.crypto.asn1.ASN1ObjectID contentType)
                          throws java.security.NoSuchAlgorithmException
Creates a CMSSignedDataOutputStream.

Note the changes in the exceptions

Exceptions no longer thrown - AlgorithmIdentifierException

Exceptions introduced -- NoSuchAlgorithmException

Parameters:
out - The underlying output stream.
signers - A vector of CMSSignerInfoSpec objects.
certificates - A list of Certificates that are to be added to the signed-data object.
crls - A list of CRLs that are to be added to the signed-data object.
contentType - The content type of the enclosed content.
Throws:
java.security.NoSuchAlgorithmException - If one of the signer-info objects has an invalid algorithm identifier.

CMSSignedDataOutputStream

public CMSSignedDataOutputStream(java.io.OutputStream out,
                                 java.util.Vector signers,
                                 java.util.Vector certificates,
                                 java.util.Vector crls,
                                 oracle.security.crypto.asn1.ASN1ObjectID contentType,
                                 boolean createExternalSignatures)
                          throws java.security.NoSuchAlgorithmException
Creates a CMSSignedDataOutputStream.

Note the changes in the exceptions

Exceptions no longer thrown - AlgorithmIdentifierException

Exceptions introduced -- NoSuchAlgorithmException

Parameters:
out - The underlying output stream.
signers - A vector of CMSSignerInfoSpec objects.
certificates - A list of Certificates that are to be added to the signed-data object.
crls - A list of CRLs that are to be added to the signed-data object.
contentType - The content type of the enclosed content.
createExternalSignatures - Set to true if the signatures are to be external.
Throws:
java.security.NoSuchAlgorithmException - If one of the signer-info objects has an invalid algorithm identifier.

CMSSignedDataOutputStream

public CMSSignedDataOutputStream(CMSOutputConnector conn,
                                 java.util.Vector signers,
                                 java.util.Vector certificates,
                                 java.util.Vector crls,
                                 oracle.security.crypto.asn1.ASN1ObjectID contentType)
                          throws java.security.NoSuchAlgorithmException
Creates a CMSSignedDataOutputStream.

Note the changes in the exceptions

Exceptions no longer thrown - AlgorithmIdentifierException

Exceptions introduced -- NoSuchAlgorithmException

Parameters:
conn - The underlying output connector.
signers - A vector of CMSSignerInfoSpec objects.
certificates - A list of Certificates that are to be added to the signed-data object.
crls - A list of CRLs that are to be added to the signed-data object.
contentType - The content type of the enclosed content.
Throws:
java.security.NoSuchAlgorithmException - If one of the signer-info objects has an invalid algorithm identifier.

CMSSignedDataOutputStream

public CMSSignedDataOutputStream(CMSOutputConnector conn,
                                 java.util.Vector signers,
                                 java.util.Vector certificates,
                                 java.util.Vector crls,
                                 oracle.security.crypto.asn1.ASN1ObjectID contentType,
                                 boolean createExternalSignatures)
                          throws java.security.NoSuchAlgorithmException
Creates a CMSSignedDataOutputStream.

Note the changes in the exceptions

Exceptions no longer thrown - AlgorithmIdentifierException

Exceptions introduced -- NoSuchAlgorithmException

Parameters:
conn - The underlying output connector.
signers - A vector of CMSSignerInfoSpec objects.
certificates - A list of Certificates that are to be added to the signed-data object.
crls - A list of CRLs that are to be added to the signed-data object.
createExternalSignatures - Set to true if the signatures are to be external.
contentType - The content type of the enclosed content.
Throws:
java.security.NoSuchAlgorithmException - If one of the signer-info objects has an invalid algorithm identifier.

Method Detail

terminate

public void terminate()
               throws java.io.IOException
Finish writing the signed-data structure.

Do not call this method before all the data has been written to the output stream.

Specified by:
terminate in class CMSOutputStream
Throws:
java.io.IOException - If an I/O error occurs.

write

public void write(int ch)
           throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException

getExposedContentType

public oracle.security.crypto.asn1.ASN1ObjectID getExposedContentType()
Returns the content type of the data that is output to the underlying output stream.
Specified by:
getExposedContentType in class CMSOutputStream
Returns:
The content type identifier.

Skip navigation links

Oracle Fusion Middleware CMS Java API Reference for Oracle Security Developer Tools
11g Release 1 (11.1.1)

E10667-03


Copyright © 2005, 2011 , Oracle. All rights reserved.