|
Bouncy Castle Cryptography Library 1.85 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.cms.CMSEnvelopedGenerator
org.bouncycastle.cms.CMSEnvelopedDataStreamGenerator
General class for generating a CMS enveloped-data message stream.
A simple example of usage. CMSEnvelopedDataStreamGenerator edGen = new CMSEnvelopedDataStreamGenerator(); edGen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(recipientCert).setProvider("BC")); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); OutputStream out = edGen.open( bOut, new JceCMSContentEncryptorBuilder(CMSAlgorithm.DES_EDE3_CBC) .setProvider("BC").build()); out.write(data); out.close();
Stream handling note: The returned OutputStream must be closed to finalize the CMS structure. Closing the returned stream does not close the underlying OutputStream passed to . Callers are responsible for closing the underlying OutputStream separately. If the underlying OutputStream is a buffering encoder whose tail state only flushes on close (e.g. Apache Commons ), failing to close it will cause the encoded output to be truncated.
| 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, ECMQV_SHA224KDF, ECMQV_SHA256KDF, ECMQV_SHA384KDF, ECMQV_SHA512KDF, encoding, IDEA_CBC, originatorInfo, RC2_CBC, SEED_CBC, SEED_WRAP, unprotectedAttributeGenerator |
| Constructor Summary | |
CMSEnvelopedDataStreamGenerator()
base constructor |
|
| Method Summary | |
protected java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputEncryptor encryptor)
|
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
OutputEncryptor encryptor)
Generate an enveloped object that contains a CMS Enveloped Data object for content octets of the passed in type, using the given encryptor - see open(OutputStream, long, OutputEncryptor). |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
OutputEncryptor encryptor)
generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor and marking the data as being of the passed in type. |
protected java.io.OutputStream |
open(java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputEncryptor encryptor)
|
java.io.OutputStream |
open(java.io.OutputStream out,
long inputLength,
OutputEncryptor encryptor)
Generate an enveloped object that contains a CMS Enveloped Data object for content octets, using the given encryptor. |
java.io.OutputStream |
open(java.io.OutputStream out,
OutputEncryptor encryptor)
generate an enveloped object that contains an CMS Enveloped Data object using the given encryptor. |
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 |
addRecipientInfoGenerator, setEncoding, setOriginatorInfo, setUnprotectedAttributeGenerator |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public CMSEnvelopedDataStreamGenerator()
| Method Detail |
public void setBufferSize(int bufferSize)
bufferSize - length of octet strings to buffer the data.public void setBEREncodeRecipients(boolean berEncodeRecipientSet)
protected java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputEncryptor encryptor)
throws java.io.IOException
java.io.IOException
protected java.io.OutputStream open(java.io.OutputStream out,
org.bouncycastle.asn1.ASN1EncodableVector recipientInfos,
OutputEncryptor encryptor)
throws CMSException
CMSException
public java.io.OutputStream open(java.io.OutputStream out,
OutputEncryptor encryptor)
throws CMSException,
java.io.IOException
CMSException
java.io.IOException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
OutputEncryptor encryptor)
throws CMSException,
java.io.IOException
CMSException
java.io.IOException
public java.io.OutputStream open(java.io.OutputStream out,
long inputLength,
OutputEncryptor encryptor)
throws CMSException,
java.io.IOException
CMSEnvelopedGenerator.setEncoding(String)) the length is
used to pre-compute every enclosing header, so exactly that many content
octets must then be written to the returned stream - a mismatch fails
with an IOException, by which point the output is unusable and must be
discarded. In BER mode the length is ignored.
In definite-length mode the buffer size and
BER recipient set settings are
ignored (an indefinite-length encoding may not appear inside a
definite-length one). Nothing is buffered, so content larger than a Java
array can carry is supported.
CMSException
java.io.IOException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
OutputEncryptor encryptor)
throws CMSException,
java.io.IOException
open(OutputStream, long, OutputEncryptor).
CMSException
java.io.IOException
|
Bouncy Castle Cryptography Library 1.85 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||