Bouncy Castle Cryptography 1.18

org.bouncycastle.cms
Class CMSSignedDataGenerator

java.lang.Object
  |
  +--org.bouncycastle.cms.CMSSignedDataGenerator

public class CMSSignedDataGenerator
extends java.lang.Object

general class for generating a pkcs7-signature message.

A simple example of usage.

      CertStore               certs...
      CMSSignedDataGenerator    gen = new CMSSignedDataGenerator();

      gen.addSigner(privKey, cert, CMSSignedGenerator.DIGEST_SHA1);
      gen.addCertificatesAndCRLs(certs);

      CMSSignedData           data = gen.generate(content, "BC");
 


Field Summary
static java.lang.String DIGEST_MD5
           
static java.lang.String DIGEST_SHA1
           
static java.lang.String ENCRYPTION_DSA
           
static java.lang.String ENCRYPTION_RSA
           
 
Constructor Summary
CMSSignedDataGenerator()
          base constructor
 
Method Summary
 void addCertificatesAndCRLs(java.security.cert.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(java.security.PrivateKey key, java.security.cert.X509Certificate cert, java.lang.String digestOID)
          add a signer - no attributes other than the default ones will be provided here.
 void addSigner(java.security.PrivateKey key, java.security.cert.X509Certificate cert, java.lang.String digestOID, AttributeTable signedAttr, AttributeTable unsignedAttr)
          add a signer with extra signed/unsigned attributes.
 CMSSignedData generate(CMSProcessable content, boolean encapsulate, java.lang.String sigProvider)
          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.
 CMSSignedData generate(CMSProcessable content, java.lang.String sigProvider)
          generate a signed object that for a CMS Signed Data object using the given provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIGEST_SHA1

public static final java.lang.String DIGEST_SHA1
See Also:
Constant Field Values

DIGEST_MD5

public static final java.lang.String DIGEST_MD5
See Also:
Constant Field Values

ENCRYPTION_RSA

public static final java.lang.String ENCRYPTION_RSA
See Also:
Constant Field Values

ENCRYPTION_DSA

public static final java.lang.String ENCRYPTION_DSA
See Also:
Constant Field Values
Constructor Detail

CMSSignedDataGenerator

public CMSSignedDataGenerator()
base constructor

Method Detail

addSigner

public void addSigner(java.security.PrivateKey key,
                      java.security.cert.X509Certificate cert,
                      java.lang.String digestOID)
               throws java.lang.IllegalArgumentException
add a signer - no attributes other than the default ones will be provided here.

java.lang.IllegalArgumentException

addSigner

public void addSigner(java.security.PrivateKey key,
                      java.security.cert.X509Certificate cert,
                      java.lang.String digestOID,
                      AttributeTable signedAttr,
                      AttributeTable unsignedAttr)
               throws java.lang.IllegalArgumentException
add a signer with extra signed/unsigned attributes.

java.lang.IllegalArgumentException

addCertificatesAndCRLs

public void addCertificatesAndCRLs(java.security.cert.CertStore certStore)
                            throws java.security.cert.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.

java.security.cert.CertStoreException
CMSException

generate

public CMSSignedData generate(CMSProcessable content,
                              java.lang.String sigProvider)
                       throws java.security.NoSuchAlgorithmException,
                              java.security.NoSuchProviderException,
                              CMSException
generate a signed object that for a CMS Signed Data object using the given provider.

java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
CMSException

generate

public CMSSignedData generate(CMSProcessable content,
                              boolean encapsulate,
                              java.lang.String sigProvider)
                       throws java.security.NoSuchAlgorithmException,
                              java.security.NoSuchProviderException,
                              CMSException
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.

java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
CMSException

Bouncy Castle Cryptography 1.18