org.bouncycastle.cms
Class CMSEnvelopedDataStreamGenerator
java.lang.Object
org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator
public class CMSEnvelopedDataStreamGenerator
extends java.lang.Object
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();
void | addKEKRecipient(SecretKey key, byte[] keyIdentifier) - add a KEK recipient.
|
void | addKeyTransRecipient(PublicKey key, byte[] subKeyId) - add a recipient
|
void | addKeyTransRecipient(X509Certificate cert) - add a recipient.
|
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
|
AES128_CBC
public static final String AES128_CBC
AES192_CBC
public static final String AES192_CBC
AES256_CBC
public static final String AES256_CBC
CAST5_CBC
public static final String CAST5_CBC
DES_EDE3_CBC
public static final String DES_EDE3_CBC
IDEA_CBC
public static final String IDEA_CBC
RC2_CBC
public static final String RC2_CBC
CMSEnvelopedDataStreamGenerator
public CMSEnvelopedDataStreamGenerator()
base constructor
addKEKRecipient
public void addKEKRecipient(SecretKey key,
byte[] keyIdentifier)
throws IllegalArgumentException
add a KEK recipient.
addKeyTransRecipient
public void addKeyTransRecipient(PublicKey key,
byte[] subKeyId)
throws IllegalArgumentException
add a recipient
key
- the public key used by the recipientsubKeyId
- the identifier for the recipient's public key
addKeyTransRecipient
public void addKeyTransRecipient(X509Certificate cert)
throws IllegalArgumentException
add a recipient.
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
bufferSize
- length of octet strings to buffer the data.