org.bouncycastle.cms

Class CMSEnvelopedDataStreamGenerator


public class CMSEnvelopedDataStreamGenerator
extends CMSEnvelopedGenerator

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

A simple example of usage.

      CMSEnvelopedDataStreamGenerator edGen = new CMSEnvelopedDataStreamGenerator();

      edGen.addKeyTransRecipient(cert);

      ByteArrayOutputStream  bOut = new ByteArrayOutputStream();
      
      OutputStream out = edGen.open(
                              bOut, CMSEnvelopedDataGenerator.AES128_CBC, "BC");*
      out.write(data);
      
      out.close();
 

Nested Class Summary

Nested classes/interfaces inherited from class org.bouncycastle.cms.CMSEnvelopedGenerator

CMSEnvelopedGenerator.RecipientInf

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

CMSEnvelopedDataStreamGenerator()
base constructor

Method Summary

protected OutputStream
open(OutputStream out, String encryptionOID, SecretKey encKey, AlgorithmParameters params, ASN1EncodableVector recipientInfos, String provider)
OutputStream
open(OutputStream out, String encryptionOID, String provider)
generate an enveloped object that contains an CMS Enveloped Data object using the given provider.
OutputStream
open(OutputStream out, String encryptionOID, int keySize, 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.CMSEnvelopedGenerator

addKEKRecipient, addKeyAgreementRecipient, addKeyTransRecipient, addKeyTransRecipient, addPasswordRecipient, generateParameters, getAlgorithmIdentifier

Constructor Details

CMSEnvelopedDataStreamGenerator

public CMSEnvelopedDataStreamGenerator()
base constructor

Method Details

open

protected OutputStream open(OutputStream out,
                            String encryptionOID,
                            SecretKey encKey,
                            AlgorithmParameters params,
                            ASN1EncodableVector recipientInfos,
                            String provider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException,
                   CMSException

open

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

open

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

setBEREncodeRecipients

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

setBufferSize

public void setBufferSize(int bufferSize)
Set the underlying string size for encapsulated data
Parameters:
bufferSize - length of octet strings to buffer the data.