Bouncy Castle Cryptography Library 1.44

org.bouncycastle.cms
Class CMSAuthenticatedDataStreamGenerator

java.lang.Object
  extended by org.bouncycastle.cms.CMSEnvelopedGenerator
      extended by org.bouncycastle.cms.CMSAuthenticatedGenerator
          extended by org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator

public class CMSAuthenticatedDataStreamGenerator
extends CMSAuthenticatedGenerator

General class for generating a CMS authenticated-data message stream.

A simple example of usage.

      CMSAuthenticatedDataStreamGenerator edGen = new CMSAuthenticatedDataStreamGenerator();

      edGen.addKeyTransRecipient(cert);

      ByteArrayOutputStream  bOut = new ByteArrayOutputStream();

      OutputStream out = edGen.open(
                              bOut, CMSAuthenticatedDataGenerator.AES128_CBC, "BC");*
      out.write(data);

      out.close();
 


Nested Class Summary
 
Nested classes/interfaces inherited from class org.bouncycastle.cms.CMSAuthenticatedGenerator
CMSAuthenticatedGenerator.MacOutputStream
 
Field Summary
 
Fields inherited from class org.bouncycastle.cms.CMSEnvelopedGenerator
AES128_CBC, AES128_WRAP, AES192_CBC, AES192_WRAP, AES256_CBC, AES256_WRAP, CAMELLIA128_CBC, CAMELLIA128_WRAP, CAMELLIA192_CBC, CAMELLIA192_WRAP, CAMELLIA256_CBC, CAMELLIA256_WRAP, CAST5_CBC, DES_EDE3_CBC, DES_EDE3_WRAP, ECDH_SHA1KDF, IDEA_CBC, RC2_CBC, SEED_CBC, SEED_WRAP
 
Constructor Summary
CMSAuthenticatedDataStreamGenerator()
          base constructor
CMSAuthenticatedDataStreamGenerator(java.security.SecureRandom rand)
          constructor allowing specific source of randomness
 
Method Summary
 java.io.OutputStream open(java.io.OutputStream out, java.lang.String encryptionOID, int keySize, java.security.Provider provider)
          generate an enveloped object that contains an CMS Enveloped Data object using the given provider.
 java.io.OutputStream open(java.io.OutputStream out, java.lang.String encryptionOID, int keySize, java.lang.String provider)
          generate an enveloped object that contains an CMS Enveloped Data object using the given provider.
 java.io.OutputStream open(java.io.OutputStream out, java.lang.String encryptionOID, java.security.Provider provider)
           
protected  java.io.OutputStream open(java.io.OutputStream out, java.lang.String macOID, javax.crypto.SecretKey encKey, java.security.spec.AlgorithmParameterSpec params, org.bouncycastle.asn1.ASN1EncodableVector recipientInfos, java.security.Provider provider)
           
protected  java.io.OutputStream open(java.io.OutputStream out, java.lang.String macOID, javax.crypto.SecretKey encKey, java.security.spec.AlgorithmParameterSpec params, org.bouncycastle.asn1.ASN1EncodableVector recipientInfos, java.lang.String provider)
           
 java.io.OutputStream open(java.io.OutputStream out, java.lang.String encryptionOID, java.lang.String provider)
          generate an enveloped object that contains an CMS Enveloped Data object using the given provider.
 void setBEREncodeRecipients(boolean berEncodeRecipientSet)
          Use a BER Set to store the recipient information
 void setBufferSize(int bufferSize)
          Set the underlying string size for encapsulated data
 
Methods inherited from class org.bouncycastle.cms.CMSAuthenticatedGenerator
generateParameterSpec, getAlgorithmIdentifier
 
Methods inherited from class org.bouncycastle.cms.CMSEnvelopedGenerator
addKEKRecipient, addKeyAgreementRecipient, addKeyAgreementRecipient, addKeyTransRecipient, addKeyTransRecipient, addPasswordRecipient, generateParameters, getAlgorithmIdentifier
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CMSAuthenticatedDataStreamGenerator

public CMSAuthenticatedDataStreamGenerator()
base constructor


CMSAuthenticatedDataStreamGenerator

public CMSAuthenticatedDataStreamGenerator(java.security.SecureRandom rand)
constructor allowing specific source of randomness

Parameters:
rand - instance of SecureRandom to use
Method Detail

setBufferSize

public void setBufferSize(int bufferSize)
Set the underlying string size for encapsulated data

Parameters:
bufferSize - length of octet strings to buffer the data.

setBEREncodeRecipients

public void setBEREncodeRecipients(boolean berEncodeRecipientSet)
Use a BER Set to store the recipient information


open

protected java.io.OutputStream open(java.io.OutputStream out,
                                    java.lang.String macOID,
                                    javax.crypto.SecretKey encKey,
                                    java.security.spec.AlgorithmParameterSpec params,
                                    org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
                                    java.lang.String provider)
                             throws java.security.NoSuchAlgorithmException,
                                    java.security.NoSuchProviderException,
                                    CMSException
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
CMSException

open

protected java.io.OutputStream open(java.io.OutputStream out,
                                    java.lang.String macOID,
                                    javax.crypto.SecretKey encKey,
                                    java.security.spec.AlgorithmParameterSpec params,
                                    org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
                                    java.security.Provider provider)
                             throws java.security.NoSuchAlgorithmException,
                                    CMSException
Throws:
java.security.NoSuchAlgorithmException
CMSException

open

public java.io.OutputStream open(java.io.OutputStream out,
                                 java.lang.String encryptionOID,
                                 java.lang.String provider)
                          throws java.security.NoSuchAlgorithmException,
                                 java.security.NoSuchProviderException,
                                 CMSException,
                                 java.io.IOException
generate an enveloped object that contains an CMS Enveloped Data object using the given provider.

Throws:
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
CMSException

open

public java.io.OutputStream open(java.io.OutputStream out,
                                 java.lang.String encryptionOID,
                                 java.security.Provider provider)
                          throws java.security.NoSuchAlgorithmException,
                                 CMSException,
                                 java.io.IOException
Throws:
java.security.NoSuchAlgorithmException
CMSException
java.io.IOException

open

public java.io.OutputStream open(java.io.OutputStream out,
                                 java.lang.String encryptionOID,
                                 int keySize,
                                 java.lang.String provider)
                          throws java.security.NoSuchAlgorithmException,
                                 java.security.NoSuchProviderException,
                                 CMSException,
                                 java.io.IOException
generate an enveloped object that contains an CMS Enveloped Data object using the given provider.

Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
CMSException
java.io.IOException

open

public java.io.OutputStream open(java.io.OutputStream out,
                                 java.lang.String encryptionOID,
                                 int keySize,
                                 java.security.Provider provider)
                          throws java.security.NoSuchAlgorithmException,
                                 CMSException,
                                 java.io.IOException
generate an enveloped object that contains an CMS Enveloped Data object using the given provider.

Throws:
java.security.NoSuchAlgorithmException
CMSException
java.io.IOException

Bouncy Castle Cryptography Library 1.44