|
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.CMSAuthenticatedGenerator
org.bouncycastle.cms.CMSAuthenticatedDataStreamGenerator
General class for generating a CMS authenticated-data message stream.
A simple example of usage. CMSAuthenticatedDataStreamGenerator edGen = new CMSAuthenticatedDataStreamGenerator(); edGen.addRecipientInfoGenerator(new JceKeyTransRecipientInfoGenerator(cert).setProvider("BC")); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); OutputStream out = edGen.open( bOut, new JceCMSMacCalculatorBuilder(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 and emit the MAC. Closing the returned stream does not close the underlying OutputStream passed to . Callers are responsible for closing the underlying OutputStream separately.
| Field Summary |
| Fields inherited from class org.bouncycastle.cms.CMSAuthenticatedGenerator |
authGen, unauthGen |
| 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 | |
CMSAuthenticatedDataStreamGenerator()
base constructor |
|
| Method Summary | |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator)
Generate an authenticated data structure for content octets, with the encapsulated bytes marked as type dataType - see open(OutputStream, long, MacCalculator). |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
Generate an authenticated data structure for content octets, with the encapsulated bytes marked as type dataType - see open(OutputStream, long, MacCalculator) and
open(OutputStream, long, MacCalculator, DigestCalculator). |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
MacCalculator macCalculator)
generate an authenticated data structure with the encapsulated bytes marked as type dataType. |
java.io.OutputStream |
open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
generate an authenticated data structure with the encapsulated bytes marked as type dataType. |
java.io.OutputStream |
open(java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator)
Generate an authenticated data structure for content octets, with the encapsulated bytes marked as DATA. |
java.io.OutputStream |
open(java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
Generate an authenticated data structure with authenticated attributes for content octets, with the encapsulated bytes marked as DATA - see open(OutputStream, long, MacCalculator).
|
java.io.OutputStream |
open(java.io.OutputStream out,
MacCalculator macCalculator)
generate an authenticated data structure with the encapsulated bytes marked as DATA. |
java.io.OutputStream |
open(java.io.OutputStream out,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
|
void |
setBEREncodeRecipients(boolean useBerEncodingForRecipients)
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 |
getBaseParameters, setAuthenticatedAttributeGenerator, setUnauthenticatedAttributeGenerator |
| 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 CMSAuthenticatedDataStreamGenerator()
| Method Detail |
public void setBufferSize(int bufferSize)
bufferSize - length of octet strings to buffer the data.public void setBEREncodeRecipients(boolean useBerEncodingForRecipients)
useBerEncodingForRecipients - true if a BER set should be used, false if DER.
public java.io.OutputStream open(java.io.OutputStream out,
MacCalculator macCalculator)
throws CMSException
out - the stream to store the authenticated structure in.macCalculator - calculator for the MAC to be attached to the data.
CMSException
public java.io.OutputStream open(java.io.OutputStream out,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
throws CMSException
CMSException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
MacCalculator macCalculator)
throws CMSException
dataType - the type of the data been written to the object.out - the stream to store the authenticated structure in.macCalculator - calculator for the MAC to be attached to the data.
CMSException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
throws CMSException
dataType - the type of the data been written to the object.out - the stream to store the authenticated structure in.macCalculator - calculator for the MAC to be attached to the data.digestCalculator - calculator for computing digest of the encapsulated data.
CMSException
public java.io.OutputStream open(java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator)
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), and the MAC algorithm must have a spec-defined
output length (the HMAC family) so the mac field can be sized before the
content streams. Nothing is buffered, so content larger than a Java array
can carry is supported.
out - the stream to store the authenticated structure in.inputLength - the number of content octets that will be written.macCalculator - calculator for the MAC to be attached to the data.
CMSException
java.io.IOException
public java.io.OutputStream open(java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
throws CMSException,
java.io.IOException
open(OutputStream, long, MacCalculator).
In definite-length mode the authenticated (and any unauthenticated) attribute sets are sized up front using a placeholder digest of the digest algorithm's output length; attribute generators must produce sets whose encoded length does not depend on the digest value, or the enclosing length enforcement fails at close time.
out - the stream to store the authenticated structure in.inputLength - the number of content octets that will be written.macCalculator - calculator for the MAC to be attached to the data.digestCalculator - calculator for computing digest of the encapsulated data.
CMSException
java.io.IOException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator)
throws CMSException,
java.io.IOException
open(OutputStream, long, MacCalculator).
dataType - the type of the data been written to the object.out - the stream to store the authenticated structure in.inputLength - the number of content octets that will be written.macCalculator - calculator for the MAC to be attached to the data.
CMSException
java.io.IOException
public java.io.OutputStream open(org.bouncycastle.asn1.ASN1ObjectIdentifier dataType,
java.io.OutputStream out,
long inputLength,
MacCalculator macCalculator,
DigestCalculator digestCalculator)
throws CMSException,
java.io.IOException
open(OutputStream, long, MacCalculator) and
open(OutputStream, long, MacCalculator, DigestCalculator).
dataType - the type of the data been written to the object.out - the stream to store the authenticated structure in.inputLength - the number of content octets that will be written.macCalculator - calculator for the MAC to be attached to the data.digestCalculator - calculator for computing digest of the encapsulated data.
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 | |||||||||