Class SignerInfo

  • All Implemented Interfaces:
    ASN1Encodable, Encodable

    public class SignerInfo
    extends ASN1Object
    RFC 5652: Signature container per Signer, see SignerIdentifier.
     PKCS#7:
    
     SignerInfo ::= SEQUENCE {
         version                   Version,
         sid                       SignerIdentifier,
         digestAlgorithm           DigestAlgorithmIdentifier,
         authenticatedAttributes   [0] IMPLICIT Attributes OPTIONAL,
         digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
         encryptedDigest           EncryptedDigest,
         unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
     }
    
     EncryptedDigest ::= OCTET STRING
    
     DigestAlgorithmIdentifier ::= AlgorithmIdentifier
    
     DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
    
     -----------------------------------------
    
     RFC 5652:
    
     SignerInfo ::= SEQUENCE {
         version            CMSVersion,
         sid                SignerIdentifier,
         digestAlgorithm    DigestAlgorithmIdentifier,
         signedAttrs        [0] IMPLICIT SignedAttributes OPTIONAL,
         signatureAlgorithm SignatureAlgorithmIdentifier,
         signature          SignatureValue,
         unsignedAttrs      [1] IMPLICIT UnsignedAttributes OPTIONAL
     }
    
     -- SignerIdentifier referenced certificates are at containing
     -- SignedData certificates element.
    
     SignerIdentifier ::= CHOICE {
         issuerAndSerialNumber IssuerAndSerialNumber,
         subjectKeyIdentifier  [0] SubjectKeyIdentifier }
    
     -- See Attributes for generalized SET OF Attribute
    
     SignedAttributes   ::= SET SIZE (1..MAX) OF Attribute
     UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute
     
     Attribute ::= SEQUENCE {
         attrType   OBJECT IDENTIFIER,
         attrValues SET OF AttributeValue }
    
     AttributeValue ::= ANY
     
     SignatureValue ::= OCTET STRING
     
    • Constructor Detail

      • SignerInfo

        public SignerInfo​(SignerIdentifier sid,
                          AlgorithmIdentifier digAlgorithm,
                          ASN1Set authenticatedAttributes,
                          AlgorithmIdentifier digEncryptionAlgorithm,
                          ASN1OctetString encryptedDigest,
                          ASN1Set unauthenticatedAttributes)
        Parameters:
        sid -
        digAlgorithm - CMS knows as 'digestAlgorithm'
        authenticatedAttributes - CMS knows as 'signedAttrs'
        digEncryptionAlgorithm - CMS knows as 'signatureAlgorithm'
        encryptedDigest - CMS knows as 'signature'
        unauthenticatedAttributes - CMS knows as 'unsignedAttrs'
      • SignerInfo

        public SignerInfo​(SignerIdentifier sid,
                          AlgorithmIdentifier digAlgorithm,
                          Attributes authenticatedAttributes,
                          AlgorithmIdentifier digEncryptionAlgorithm,
                          ASN1OctetString encryptedDigest,
                          Attributes unauthenticatedAttributes)
        Parameters:
        sid -
        digAlgorithm - CMS knows as 'digestAlgorithm'
        authenticatedAttributes - CMS knows as 'signedAttrs'
        digEncryptionAlgorithm - CMS knows as 'signatureAlgorithm'
        encryptedDigest - CMS knows as 'signature'
        unauthenticatedAttributes - CMS knows as 'unsignedAttrs'
      • SignerInfo

        public SignerInfo​(ASN1Sequence seq)
        Deprecated.
        use getInstance() method.
    • Method Detail

      • getInstance

        public static SignerInfo getInstance​(java.lang.Object o)
                                      throws java.lang.IllegalArgumentException
        Return a SignerInfo object from the given input

        Accepted inputs:

        Parameters:
        o - the object we want converted.
        Throws:
        java.lang.IllegalArgumentException - if the object cannot be converted.
      • getAuthenticatedAttributes

        public ASN1Set getAuthenticatedAttributes()
      • getUnauthenticatedAttributes

        public ASN1Set getUnauthenticatedAttributes()