Bouncy Castle Cryptography 1.50

org.bouncycastle.asn1.cms
Class SignerInfo

java.lang.Object
  extended by org.bouncycastle.asn1.ASN1Object
      extended by org.bouncycastle.asn1.cms.SignerInfo
All Implemented Interfaces:
ASN1Encodable

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 5256:

 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 Summary
SignerInfo(ASN1Sequence seq)
          Deprecated. use getInstance() method.
SignerInfo(SignerIdentifier sid, AlgorithmIdentifier digAlgorithm, ASN1Set authenticatedAttributes, AlgorithmIdentifier digEncryptionAlgorithm, ASN1OctetString encryptedDigest, ASN1Set unauthenticatedAttributes)
           
SignerInfo(SignerIdentifier sid, AlgorithmIdentifier digAlgorithm, Attributes authenticatedAttributes, AlgorithmIdentifier digEncryptionAlgorithm, ASN1OctetString encryptedDigest, Attributes unauthenticatedAttributes)
           
 
Method Summary
 ASN1Set getAuthenticatedAttributes()
           
 AlgorithmIdentifier getDigestAlgorithm()
           
 AlgorithmIdentifier getDigestEncryptionAlgorithm()
           
 ASN1OctetString getEncryptedDigest()
           
static SignerInfo getInstance(java.lang.Object o)
          Return a SignerInfo object from the given input
 SignerIdentifier getSID()
           
 ASN1Set getUnauthenticatedAttributes()
           
 ASN1Integer getVersion()
           
 ASN1Primitive toASN1Primitive()
          Produce an object suitable for an ASN1OutputStream.
 
Methods inherited from class org.bouncycastle.asn1.ASN1Object
equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode, toASN1Object
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

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.

getVersion

public ASN1Integer getVersion()

getSID

public SignerIdentifier getSID()

getAuthenticatedAttributes

public ASN1Set getAuthenticatedAttributes()

getDigestAlgorithm

public AlgorithmIdentifier getDigestAlgorithm()

getEncryptedDigest

public ASN1OctetString getEncryptedDigest()

getDigestEncryptionAlgorithm

public AlgorithmIdentifier getDigestEncryptionAlgorithm()

getUnauthenticatedAttributes

public ASN1Set getUnauthenticatedAttributes()

toASN1Primitive

public ASN1Primitive toASN1Primitive()
Produce an object suitable for an ASN1OutputStream.

Specified by:
toASN1Primitive in interface ASN1Encodable
Specified by:
toASN1Primitive in class ASN1Object

Bouncy Castle Cryptography 1.50