Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.cms
Class CMSAuthenticatedDataStreamGenerator

    java.lang.Object
      org.bouncycastle.cms.CMSEnvelopedGenerator
          org.bouncycastle.cms.CMSAuthenticatedGenerator
              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, ECMQV_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.45