Bouncy Castle Cryptography Library 1.60

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


Field Summary
protected  org.bouncycastle.asn1.x509.AlgorithmIdentifier digestAlgorithm
           
protected  org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlgorithm
           
protected  org.bouncycastle.asn1.cms.SignerInfo info
           
protected  org.bouncycastle.asn1.ASN1Set signedAttributeSet
           
protected  org.bouncycastle.asn1.ASN1Set unsignedAttributeSet
           
 
Constructor Summary
protected SignerInformation(SignerInformation baseInfo)
          Protected constructor.
 
Method Summary
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
 

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 overridng methods like getSignedAttributes().
Parameters:
baseInfo - the SignerInformation to base this one on.
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.

Bouncy Castle Cryptography Library 1.60