com.dstc.security.cms
Interface SignerInfo


public interface SignerInfo

An interface to per-signer information in a CMS SignedData.

Signer information includes primarily an identifer for the signer and the digital signature constructed by that signer on the data associated with the encapsulating SignedData. It also includes the digest and signature algorithms used in the signing process. Per-signer attributes (eg. signing time) may optionally be included in the signing process and carried in the SignerInfo. Finally, unsigned attributes (attributes not used in the signing process but which may be useful to a verifier) may optionally be carried.

SignerInfo is defined in RFC2630 by the ASN.1 structure

    SignerInfo ::= SEQUENCE {
      version CMSVersion,
      sid SignerIdentifier,
      digestAlgorithm DigestAlgorithmIdentifier,
      signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
      signatureAlgorithm SignatureAlgorithmIdentifier,
      signature SignatureValue,
      unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }

   SignedAttributes ::= SET SIZE (1..MAX) OF Attribute

   UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute

   SignatureValue ::= OCTET STRING
 

See Also:
SignedData, Attribute

Method Summary
 String getDigestAlgorithm()
          Returns the digest algorithm JCA standard name used in the signing process and carried in this SignerInfo
 String getSignatureAlgorithm()
          Returns the signature algorithm JCA standard name used in the signing process and carried in this SignerInfo
 byte[] getSignatureValue()
          Returns the signature bytes generated by the signer and carried in this SignerInfo
 Attribute[] getSignedAttributes()
          Returns all (possibly empty) the signed Attributes used in the signing process and carried in this SignerInfo
 X509Certificate getSignerCertificate()
          Returns the signer Certificate (may be null, if it was not carried in the containing SignedData) for the signer associated with this SignerInfo
 SignerIdentifier getSignerIdentifier()
          Returns the SignerIdentifier for the signer associated with this SignerInfo
 Attribute[] getUnsignedAttributes()
          Returns all (possibly empty) the unsigned Attributes carried in this SignerInfo
 

Method Detail

getSignerIdentifier

public SignerIdentifier getSignerIdentifier()
Returns the SignerIdentifier for the signer associated with this SignerInfo

getSignerCertificate

public X509Certificate getSignerCertificate()
Returns the signer Certificate (may be null, if it was not carried in the containing SignedData) for the signer associated with this SignerInfo

getDigestAlgorithm

public String getDigestAlgorithm()
Returns the digest algorithm JCA standard name used in the signing process and carried in this SignerInfo

getSignedAttributes

public Attribute[] getSignedAttributes()
Returns all (possibly empty) the signed Attributes used in the signing process and carried in this SignerInfo

getSignatureAlgorithm

public String getSignatureAlgorithm()
Returns the signature algorithm JCA standard name used in the signing process and carried in this SignerInfo

getSignatureValue

public byte[] getSignatureValue()
Returns the signature bytes generated by the signer and carried in this SignerInfo

getUnsignedAttributes

public Attribute[] getUnsignedAttributes()
Returns all (possibly empty) the unsigned Attributes carried in this SignerInfo