Class SignerInformation


  • public class SignerInformation
    extends java.lang.Object
    an expanded SignerInfo block from a CMS Signed message
    • Field Detail

      • info

        protected final org.bouncycastle.asn1.cms.SignerInfo info
      • digestAlgorithm

        protected final org.bouncycastle.asn1.x509.AlgorithmIdentifier digestAlgorithm
      • encryptionAlgorithm

        protected final org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlgorithm
      • signedAttributeSet

        protected final org.bouncycastle.asn1.ASN1Set signedAttributeSet
      • unsignedAttributeSet

        protected final org.bouncycastle.asn1.ASN1Set unsignedAttributeSet
    • Constructor Detail

      • SignerInformation

        protected SignerInformation​(SignerInformation baseInfo)
        Protected constructor. In some cases clients have their own idea about how to encode the signed attributes and calculate the signature. This constructor is to allow developers to deal with that by extending off the class and overriding methods like getSignedAttributes().
        Parameters:
        baseInfo - the SignerInformation to base this one on.
      • SignerInformation

        protected SignerInformation​(SignerInformation baseInfo,
                                    org.bouncycastle.asn1.cms.SignerInfo info)
        Protected constructor. In some cases clients also have their own ideas about what goes in various SignerInfo fields. This constructor is to allow developers to deal with that by also tweaking the SignerInfo so that these issues can be dealt with.
        Parameters:
        baseInfo - the SignerInformation to base this one on.
        info - the SignerInfo to associate with the existing baseInfo data.
    • Method Detail

      • isCounterSignature

        public boolean isCounterSignature()
      • getContentType

        public org.bouncycastle.asn1.ASN1ObjectIdentifier getContentType()
      • 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.