JcaSimpleSignerInfoGeneratorBuilder (Bouncy Castle Library 1.52 API Specification)
Date: 2015-03-01

org.bouncycastle.cms.jcajce

## Class JcaSimpleSignerInfoGeneratorBuilder

- java.lang.Object
- - org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoGeneratorBuilder

-     public class JcaSimpleSignerInfoGeneratorBuilder
      extends java.lang.Object

  Use this class if you are using a provider that has all the facilities you need.

  For example:

            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));

  becomes:

            CMSSignedDataGenerator gen = new CMSSignedDataGenerator();

            gen.addSignerInfoGenerator(
                      new JcaSimpleSignerInfoGeneratorBuilder()
                           .setProvider("BC")
                           .build("SHA1withRSA", signKP.getPrivate(), signCert));

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JcaSimpleSignerInfoGeneratorBuilder()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `SignerInfoGenerator` | `build(java.lang.String algorithmName, java.security.PrivateKey privateKey, byte[] keyIdentifier)`
    `SignerInfoGenerator` | `build(java.lang.String algorithmName, java.security.PrivateKey privateKey, java.security.cert.X509Certificate certificate)`
    `JcaSimpleSignerInfoGeneratorBuilder` | `setDirectSignature(boolean hasNoSignedAttributes)` If the passed in flag is true, the signer signature will be based on the data, not a collection of signed attributes, and no signed attributes will be included.
    `JcaSimpleSignerInfoGeneratorBuilder` | `setProvider(java.security.Provider provider)`
    `JcaSimpleSignerInfoGeneratorBuilder` | `setProvider(java.lang.String providerName)`
    `JcaSimpleSignerInfoGeneratorBuilder` | `setSignedAttributeGenerator(org.bouncycastle.asn1.cms.AttributeTable attrTable)` set up a DefaultSignedAttributeTableGenerator primed with the passed in AttributeTable.
    `JcaSimpleSignerInfoGeneratorBuilder` | `setSignedAttributeGenerator(CMSAttributeTableGenerator signedGen)`
    `JcaSimpleSignerInfoGeneratorBuilder` | `setUnsignedAttributeGenerator(CMSAttributeTableGenerator unsignedGen)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JcaSimpleSignerInfoGeneratorBuilder

          public JcaSimpleSignerInfoGeneratorBuilder()
                                              throws OperatorCreationException

      Throws:
        `OperatorCreationException`

  - ### Method Detail

    - #### setProvider

          public JcaSimpleSignerInfoGeneratorBuilder setProvider(java.lang.String providerName)
                                                          throws OperatorCreationException

      Throws:
        `OperatorCreationException`

    - #### setProvider

          public JcaSimpleSignerInfoGeneratorBuilder setProvider(java.security.Provider provider)
                                                          throws OperatorCreationException

      Throws:
        `OperatorCreationException`

    - #### setDirectSignature

          public JcaSimpleSignerInfoGeneratorBuilder setDirectSignature(boolean hasNoSignedAttributes)

      If the passed in flag is true, the signer signature will be based on the data, not a collection of signed attributes, and no signed attributes will be included.
      Returns:
        the builder object

    - #### setSignedAttributeGenerator

          public JcaSimpleSignerInfoGeneratorBuilder setSignedAttributeGenerator(CMSAttributeTableGenerator signedGen)

    - #### setSignedAttributeGenerator

          public JcaSimpleSignerInfoGeneratorBuilder setSignedAttributeGenerator(org.bouncycastle.asn1.cms.AttributeTable attrTable)

      set up a DefaultSignedAttributeTableGenerator primed with the passed in AttributeTable.
      Parameters:
        `attrTable` - table of attributes for priming generator
      Returns:
        this.

    - #### setUnsignedAttributeGenerator

          public JcaSimpleSignerInfoGeneratorBuilder setUnsignedAttributeGenerator(CMSAttributeTableGenerator unsignedGen)

    - #### build

          public SignerInfoGenerator build(java.lang.String algorithmName,
                                  java.security.PrivateKey privateKey,
                                  java.security.cert.X509Certificate certificate)
                                    throws OperatorCreationException,
                                           java.security.cert.CertificateEncodingException

      Throws:
        `OperatorCreationException`
        `java.security.cert.CertificateEncodingException`

    - #### build

          public SignerInfoGenerator build(java.lang.String algorithmName,
                                  java.security.PrivateKey privateKey,
                                  byte[] keyIdentifier)
                                    throws OperatorCreationException,
                                           java.security.cert.CertificateEncodingException

      Throws:
        `OperatorCreationException`
        `java.security.cert.CertificateEncodingException`