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

org.bouncycastle.cms

## Class SignerInformation

- java.lang.Object
- - org.bouncycastle.cms.SignerInformation

-     public class SignerInformation
      extends java.lang.Object

  an expanded SignerInfo block from a CMS Signed message

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SignerInformation` | `addCounterSigners(SignerInformation signerInformation, SignerInformationStore counterSigners)` Return a signer information object with passed in SignerInformationStore representing counter signatures attached as an unsigned attribute.
    `byte[]` | `getContentDigest()` return the content digest that was calculated during verification.
    `org.bouncycastle.asn1.ASN1ObjectIdentifier` | `getContentType()`
    `SignerInformationStore` | `getCounterSignatures()` Return a SignerInformationStore containing the counter signatures attached to this signer.
    `java.lang.String` | `getDigestAlgOID()` return the object identifier for the signature.
    `org.bouncycastle.asn1.x509.AlgorithmIdentifier` | `getDigestAlgorithmID()`
    `byte[]` | `getDigestAlgParams()` return the signature parameters, or null if there aren't any.
    `byte[]` | `getEncodedSignedAttributes()` return the DER encoding of the signed attributes.
    `java.lang.String` | `getEncryptionAlgOID()` return the object identifier for the signature.
    `byte[]` | `getEncryptionAlgParams()` return the signature/encryption algorithm parameters, or null if there aren't any.
    `SignerId` | `getSID()`
    `byte[]` | `getSignature()` return the encoded signature
    `org.bouncycastle.asn1.cms.AttributeTable` | `getSignedAttributes()` return a table of the signed attributes - indexed by the OID of the attribute.
    `org.bouncycastle.asn1.cms.AttributeTable` | `getUnsignedAttributes()` return a table of the unsigned attributes indexed by the OID of the attribute.
    `int` | `getVersion()` return the version number for this objects underlying SignerInfo structure.
    `boolean` | `isCounterSignature()`
    `static SignerInformation` | `replaceUnsignedAttributes(SignerInformation signerInformation, org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)` Return a signer information object with the passed in unsigned attributes replacing the ones that are current associated with the object passed in.
    `org.bouncycastle.asn1.cms.SignerInfo` | `toASN1Structure()` Return the underlying ASN.1 object defining this SignerInformation object.
    `boolean` | `verify(SignerInformationVerifier verifier)` Verify that the given verifier can successfully verify the signature on this SignerInformation object.

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

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

- - ### Method Detail

    - #### isCounterSignature

          public boolean isCounterSignature()

    - #### getContentType

          public org.bouncycastle.asn1.ASN1ObjectIdentifier getContentType()

    - #### getSID

          public SignerId getSID()

    - #### getVersion

          public int getVersion()

      return the version number for this objects underlying SignerInfo structure.

    - #### getDigestAlgorithmID

          public org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigestAlgorithmID()

    - #### getDigestAlgOID

          public java.lang.String getDigestAlgOID()

      return the object identifier for the signature.

    - #### getDigestAlgParams

          public byte[] getDigestAlgParams()

      return the signature parameters, or null if there aren't any.

    - #### getContentDigest

          public byte[] getContentDigest()

      return the content digest that was calculated during verification.

    - #### getEncryptionAlgOID

          public java.lang.String getEncryptionAlgOID()

      return the object identifier for the signature.

    - #### getEncryptionAlgParams

          public byte[] getEncryptionAlgParams()

      return the signature/encryption algorithm parameters, or null if there aren't any.

    - #### getSignedAttributes

          public org.bouncycastle.asn1.cms.AttributeTable getSignedAttributes()

      return a table of the signed attributes - indexed by the OID of the attribute.

    - #### getUnsignedAttributes

          public org.bouncycastle.asn1.cms.AttributeTable getUnsignedAttributes()

      return a table of the unsigned attributes indexed by the OID of the attribute.

    - #### getSignature

          public byte[] getSignature()

      return the encoded signature

    - #### getCounterSignatures

          public SignerInformationStore getCounterSignatures()

      Return a SignerInformationStore containing the counter signatures attached to this signer. If no counter signatures are present an empty store is returned.

    - #### getEncodedSignedAttributes

          public byte[] getEncodedSignedAttributes()
                                            throws java.io.IOException

      return the DER encoding of the signed attributes.
      Throws:
        `java.io.IOException` - if an encoding error occurs.

    - #### verify

          public boolean verify(SignerInformationVerifier verifier)
                         throws CMSException

      Verify that the given verifier can successfully verify the signature on this SignerInformation object.
      Parameters:
        `verifier` - a suitably configured SignerInformationVerifier.
      Returns:
        true if the signer information is verified, false otherwise.
      Throws:
        `CMSVerifierCertificateNotValidException` - if the provider has an associated certificate and the certificate is not valid at the time given as the SignerInfo's signing time.
        `CMSException` - if the verifier is unable to create a ContentVerifiers or DigestCalculators.

    - #### toASN1Structure

          public org.bouncycastle.asn1.cms.SignerInfo toASN1Structure()

      Return the underlying ASN.1 object defining this SignerInformation object.
      Returns:
        a SignerInfo.

    - #### replaceUnsignedAttributes

          public static SignerInformation replaceUnsignedAttributes(SignerInformation signerInformation,
                                                    org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)

      Return a signer information object with the passed in unsigned attributes replacing the ones that are current associated with the object passed in.
      Parameters:
        `signerInformation` - the signerInfo to be used as the basis.
        `unsignedAttributes` - the unsigned attributes to add.
      Returns:
        a copy of the original SignerInformationObject with the changed attributes.

    - #### addCounterSigners

          public static SignerInformation addCounterSigners(SignerInformation signerInformation,
                                            SignerInformationStore counterSigners)

      Return a signer information object with passed in SignerInformationStore representing counter signatures attached as an unsigned attribute.
      Parameters:
        `signerInformation` - the signerInfo to be used as the basis.
        `counterSigners` - signer info objects carrying counter signature.
      Returns:
        a copy of the original SignerInformationObject with the changed attributes.