Class 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 Detail

      • CMSSignedDataGenerator

        public CMSSignedDataGenerator()
        base constructor
    • Method Detail

      • 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