org.bouncycastle.cms

Class SignerInformation


public class SignerInformation
extends java.lang.Object

an expanded SignerInfo block from a CMS Signed message

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.
SignerInformationStore
getCounterSignatures()
Return a SignerInformationStore containing the counter signatures attached to this signer.
String
getDigestAlgOID()
return the object identifier for the signature.
byte[]
getDigestAlgParams()
return the signature parameters, or null if there aren't any.
byte[]
getEncodedSignedAttributes()
return the DER encoding of the signed attributes.
String
getEncryptionAlgOID()
return the object identifier for the signature.
byte[]
getEncryptionAlgParams()
return the signature/encyrption algorithm parameters, or null if there aren't any.
SignerId
getSID()
byte[]
getSignature()
return the encoded signature
AttributeTable
getSignedAttributes()
return a table of the signed attributes - indexed by the OID of the attribute.
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.
static SignerInformation
replaceUnsignedAttributes(SignerInformation signerInformation, 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.
SignerInfo
toSignerInfo()
Return the base ASN.1 CMS structure that this object contains.
boolean
verify(PublicKey key, String sigProvider)
verify that the given public key succesfully handles and confirms the signature associated with this signer.
boolean
verify(X509Certificate cert, String sigProvider)
verify that the given certificate successfully handles and confirms the signature associated with this signer and, if a signingTime attribute is available, that the certificate was valid at the time the signature was generated.

Method Details

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.

getContentDigest

public byte[] getContentDigest()
return the content digest that was calculated during verification.

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.

getDigestAlgOID

public String getDigestAlgOID()
return the object identifier for the signature.

getDigestAlgParams

public byte[] getDigestAlgParams()
return the signature parameters, or null if there aren't any.

getEncodedSignedAttributes

public byte[] getEncodedSignedAttributes()
            throws IOException
return the DER encoding of the signed attributes.

getEncryptionAlgOID

public String getEncryptionAlgOID()
return the object identifier for the signature.

getEncryptionAlgParams

public byte[] getEncryptionAlgParams()
return the signature/encyrption algorithm parameters, or null if there aren't any.

getSID

public SignerId getSID()

getSignature

public byte[] getSignature()
return the encoded signature

getSignedAttributes

public AttributeTable getSignedAttributes()
return a table of the signed attributes - indexed by the OID of the attribute.

getUnsignedAttributes

public AttributeTable getUnsignedAttributes()
return a table of the unsigned attributes indexed by the OID of the attribute.

getVersion

public int getVersion()
return the version number for this objects underlying SignerInfo structure.

replaceUnsignedAttributes

public static SignerInformation replaceUnsignedAttributes(SignerInformation signerInformation,
                                                          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.

toSignerInfo

public SignerInfo toSignerInfo()
Return the base ASN.1 CMS structure that this object contains.
Returns:
an object containing a CMS SignerInfo structure.

verify

public boolean verify(PublicKey key,
                      String sigProvider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException,
                   CMSException
verify that the given public key succesfully handles and confirms the signature associated with this signer.

verify

public boolean verify(X509Certificate cert,
                      String sigProvider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException,
                   CertificateExpiredException,
                   CertificateNotYetValidException,
                   CMSException
verify that the given certificate successfully handles and confirms the signature associated with this signer and, if a signingTime attribute is available, that the certificate was valid at the time the signature was generated.