Class CMSSignedDataGenerator

java.lang.Object
org.bouncycastle.cms.CMSSignedGenerator
org.bouncycastle.cms.CMSSignedDataGenerator

public class CMSSignedDataGenerator extends CMSSignedGenerator
general class for generating a pkcs7-signature message.

A simple example of usage, generating a detached signature.

      List             certList = new ArrayList();
      CMSTypedData     msg = new CMSProcessableByteArray("Hello world!".getBytes());

      certList.add(signCert);

      Store           certs = new JcaCertStore(certList);

      CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
      ContentSigner sha1Signer = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(signKP.getPrivate());

      gen.addSignerInfoGenerator(
                new JcaSignerInfoGeneratorBuilder(
                     new JcaDigestCalculatorProviderBuilder().setProvider("BC").build())
                     .build(sha1Signer, signCert));

      gen.addCertificates(certs);

      CMSSignedData sigData = gen.generate(msg, false);
 
  • Constructor Details

    • CMSSignedDataGenerator

      public CMSSignedDataGenerator()
      base constructor
    • CMSSignedDataGenerator

      public CMSSignedDataGenerator(DigestAlgorithmIdentifierFinder digestAlgIdFinder)
      base constructor with a custom DigestAlgorithmIdentifierFinder
  • Method Details

    • generate

      public CMSSignedData generate(CMSTypedData content) throws CMSException
      Generate a CMS Signed Data object carrying a detached CMS signature.
      Parameters:
      content - the content to be signed.
      Throws:
      CMSException
    • generate

      public CMSSignedData generate(CMSTypedData content, boolean encapsulate) throws CMSException
      Generate a CMS Signed Data object which can be carrying a detached CMS signature, or have encapsulated data, depending on the value of the encapsulated parameter.
      Parameters:
      content - the content to be signed.
      encapsulate - true if the content should be encapsulated in the signature, false otherwise.
      Throws:
      CMSException
    • generateCounterSigners

      public SignerInformationStore generateCounterSigners(SignerInformation signer) throws CMSException
      generate a set of one or more SignerInformation objects representing counter signatures on the passed in SignerInformation object.
      Parameters:
      signer - the signer to be countersigned
      Returns:
      a store containing the signers.
      Throws:
      CMSException