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
      • CMSSignedDataGenerator

        public CMSSignedDataGenerator​(org.bouncycastle.operator.DigestAlgorithmIdentifierFinder digestAlgIdFinder)
        base constructor with a custom DigestAlgorithmIdentifierFinder
    • Method Detail

      • setDefiniteLengthEncoding

        public void setDefiniteLengthEncoding​(boolean isDefiniteLength)
        Specify use of definite length rather than indefinite length encoding.
        Parameters:
        isDefiniteLength - true use definite length, false use indefinite (default false).
      • 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