org.bouncycastle.cms
Class CMSSignedDataStreamGenerator
public class CMSSignedDataStreamGenerator
General class for generating a pkcs7-signature message stream.
A simple example of usage.
CertStore certs...
CMSSignedDataStreamGenerator gen = new CMSSignedDataStreamGenerator();
gen.addSigner(privateKey, cert, CMSSignedDataStreamGenerator.DIGEST_SHA1, "BC");
gen.addCertificatesAndCRLs(certs);
OutputStream sigOut = gen.open(bOut);
sigOut.write("Hello World!".getBytes());
sigOut.close();
DATA , DIGEST_GOST3411 , DIGEST_MD5 , DIGEST_SHA1 , DIGEST_SHA224 , DIGEST_SHA256 , DIGEST_SHA384 , DIGEST_SHA512 , ENCRYPTION_DSA , ENCRYPTION_ECDSA , ENCRYPTION_ECGOST3410 , ENCRYPTION_GOST3410 , ENCRYPTION_RSA , ENCRYPTION_RSA_PSS |
void | addCertificatesAndCRLs(CertStore certStore) - add the certificates and CRLs contained in the given CertStore
to the pool that will be included in the encoded signature block.
|
void | addSigner(PrivateKey key, X509Certificate cert, String digestOID, AttributeTable signedAttr, AttributeTable unsignedAttr, String sigProvider) - add a signer with extra signed/unsigned attributes.
|
void | addSigner(PrivateKey key, X509Certificate cert, String digestOID, String sigProvider) - add a signer - no attributes other than the default ones will be
provided here.
|
void | addSigners(SignerInformationStore signerStore) - Add a store of precalculated signers to the generator.
|
OutputStream | open(OutputStream out) - generate a signed object that for a CMS Signed Data
object using the given provider.
|
OutputStream | open(OutputStream out, String signedContentType, boolean encapsulate) - generate a signed object that for a CMS Signed Data
object using the given provider - if encapsulate is true a copy
of the message will be included in the signature.
|
OutputStream | open(OutputStream out, boolean encapsulate) - generate a signed object that for a CMS Signed Data
object using the given provider - if encapsulate is true a copy
of the message will be included in the signature with the
default content type "data".
|
void | setBufferSize(int bufferSize) - Set the underlying string size for encapsulated data
|
CMSSignedDataStreamGenerator
public CMSSignedDataStreamGenerator()
base constructor
addCertificatesAndCRLs
public void addCertificatesAndCRLs(CertStore certStore)
throws CertStoreException,
CMSException
add the certificates and CRLs contained in the given CertStore
to the pool that will be included in the encoded signature block.
Note: this assumes the CertStore will support null in the get
methods.
addSigner
public void addSigner(PrivateKey key,
X509Certificate cert,
String digestOID,
AttributeTable signedAttr,
AttributeTable unsignedAttr,
String sigProvider)
throws NoSuchAlgorithmException,
NoSuchProviderException,
InvalidKeyException
add a signer with extra signed/unsigned attributes.
addSigner
public void addSigner(PrivateKey key,
X509Certificate cert,
String digestOID,
String sigProvider)
throws NoSuchAlgorithmException,
NoSuchProviderException,
InvalidKeyException
add a signer - no attributes other than the default ones will be
provided here.
addSigners
public void addSigners(SignerInformationStore signerStore)
Add a store of precalculated signers to the generator.
open
public OutputStream open(OutputStream out)
throws IOException
generate a signed object that for a CMS Signed Data
object using the given provider.
open
public OutputStream open(OutputStream out,
String signedContentType,
boolean encapsulate)
throws IOException
generate a signed object that for a CMS Signed Data
object using the given provider - if encapsulate is true a copy
of the message will be included in the signature. The content type
is set according to the OID represented by the string signedContentType.
open
public OutputStream open(OutputStream out,
boolean encapsulate)
throws IOException
generate a signed object that for a CMS Signed Data
object using the given provider - if encapsulate is true a copy
of the message will be included in the signature with the
default content type "data".
setBufferSize
public void setBufferSize(int bufferSize)
Set the underlying string size for encapsulated data
bufferSize
- length of octet strings to buffer the data.