Package org.bouncycastle.cms
Class CMSSignedData
java.lang.Object
org.bouncycastle.cms.CMSSignedData
public class CMSSignedData extends Object
general class for handling a pkcs7-signature message.
A simple example of usage - note, in the example below the validity of
the certificate isn't verified, just the fact that one of the certs
matches the given signer...
Store certStore = s.getCertificates();
SignerInformationStore signers = s.getSignerInfos();
Collection c = signers.getSigners();
Iterator it = c.iterator();
while (it.hasNext())
{
SignerInformation signer = (SignerInformation)it.next();
Collection certCollection = certStore.getMatches(signer.getSID());
Iterator certIt = certCollection.iterator();
X509CertificateHolder cert = (X509CertificateHolder)certIt.next();
if (signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(cert)))
{
verified++;
}
}
-
Constructor Summary
Constructors Constructor Description CMSSignedData(byte[] sigBlock)CMSSignedData(InputStream sigData)base constructor - with encapsulated contentCMSSignedData(Map hashes, byte[] sigBlock)Content with detached signature, digests precomputedCMSSignedData(Map hashes, ContentInfo sigData)CMSSignedData(ContentInfo sigData)CMSSignedData(CMSProcessable signedContent, byte[] sigBlock)CMSSignedData(CMSProcessable signedContent, InputStream sigData)base constructor - content with detached signature.CMSSignedData(CMSProcessable signedContent, ContentInfo sigData) -
Method Summary
Modifier and Type Method Description StoregetAttributeCertificates()Return any X.509 attribute certificate objects in this SignedData structure as a Store of X509AttributeCertificateHolder objects.X509StoregetAttributeCertificates(String type, String provider)Deprecated.use base Store returning methodX509StoregetAttributeCertificates(String type, Provider provider)Deprecated.use base Store returning methodStoregetCertificates()Return any X.509 certificate objects in this SignedData structure as a Store of X509CertificateHolder objects.ContentInfogetContentInfo()Deprecated.use toASN1Structure()StoregetCRLs()Return any X.509 CRL objects in this SignedData structure as a Store of X509CRLHolder objects.byte[]getEncoded()return the ASN.1 encoded representation of this object.CMSTypedDatagetSignedContent()StringgetSignedContentTypeOID()Return the a string representation of the OID associated with the encapsulated content info structure carried in the signed data.SignerInformationStoregetSignerInfos()return the collection of signers that are associated with the signatures for the message.intgetVersion()Return the version number for this objectstatic CMSSignedDatareplaceCertificatesAndCRLs(CMSSignedData signedData, CertStore certsAndCrls)Deprecated.use method taking Store arguments.static CMSSignedDatareplaceCertificatesAndCRLs(CMSSignedData signedData, Store certificates, Store attrCerts, Store crls)Replace the certificate and CRL information associated with this CMSSignedData object with the new one passed in.static CMSSignedDatareplaceSigners(CMSSignedData signedData, SignerInformationStore signerInformationStore)Replace the SignerInformation store associated with this CMSSignedData object with the new one passed in.ContentInfotoASN1Structure()return the ContentInfo
-
Constructor Details
-
CMSSignedData
- Throws:
CMSException
-
CMSSignedData
- Throws:
CMSException
-
CMSSignedData
Content with detached signature, digests precomputed- Parameters:
hashes- a map of precomputed digests for content indexed by name of hash.sigBlock- the signature object.- Throws:
CMSException
-
CMSSignedData
base constructor - content with detached signature.- Parameters:
signedContent- the content that was signed.sigData- the signature object.- Throws:
CMSException
-
CMSSignedData
base constructor - with encapsulated content- Throws:
CMSException
-
CMSSignedData
- Throws:
CMSException
-
CMSSignedData
- Throws:
CMSException
-
CMSSignedData
- Throws:
CMSException
-
-
Method Details
-
getVersion
public int getVersion()Return the version number for this object -
getSignerInfos
return the collection of signers that are associated with the signatures for the message. -
getAttributeCertificates
public X509Store getAttributeCertificates(String type, String provider) throws NoSuchStoreException, NoSuchProviderException, CMSExceptionDeprecated.use base Store returning methodreturn a X509Store containing the attribute certificates, if any, contained in this message.- Parameters:
type- type of store to createprovider- name of provider to use- Returns:
- a store of attribute certificates
- Throws:
NoSuchProviderException- if the provider requested isn't available.NoSuchStoreException- if the store type isn't available.CMSException- if a general exception prevents creation of the X509Store
-
getAttributeCertificates
public X509Store getAttributeCertificates(String type, Provider provider) throws NoSuchStoreException, CMSExceptionDeprecated.use base Store returning methodreturn a X509Store containing the attribute certificates, if any, contained in this message.- Parameters:
type- type of store to createprovider- provider to use- Returns:
- a store of attribute certificates
- Throws:
NoSuchStoreException- if the store type isn't available.CMSException- if a general exception prevents creation of the X509Store
-
getCertificates
Return any X.509 certificate objects in this SignedData structure as a Store of X509CertificateHolder objects.- Returns:
- a Store of X509CertificateHolder objects.
-
getCRLs
Return any X.509 CRL objects in this SignedData structure as a Store of X509CRLHolder objects.- Returns:
- a Store of X509CRLHolder objects.
-
getAttributeCertificates
Return any X.509 attribute certificate objects in this SignedData structure as a Store of X509AttributeCertificateHolder objects.- Returns:
- a Store of X509AttributeCertificateHolder objects.
-
getSignedContentTypeOID
Return the a string representation of the OID associated with the encapsulated content info structure carried in the signed data.- Returns:
- the OID for the content type.
-
getSignedContent
-
getContentInfo
Deprecated.use toASN1Structure()return the ContentInfo -
toASN1Structure
return the ContentInfo -
getEncoded
return the ASN.1 encoded representation of this object.- Throws:
IOException
-
replaceSigners
public static CMSSignedData replaceSigners(CMSSignedData signedData, SignerInformationStore signerInformationStore)Replace the SignerInformation store associated with this CMSSignedData object with the new one passed in. You would probably only want to do this if you wanted to change the unsigned attributes associated with a signer, or perhaps delete one.- Parameters:
signedData- the signed data object to be used as a base.signerInformationStore- the new signer information store to use.- Returns:
- a new signed data object.
-
replaceCertificatesAndCRLs
public static CMSSignedData replaceCertificatesAndCRLs(CMSSignedData signedData, CertStore certsAndCrls) throws CMSExceptionDeprecated.use method taking Store arguments.Replace the certificate and CRL information associated with this CMSSignedData object with the new one passed in.- Parameters:
signedData- the signed data object to be used as a base.certsAndCrls- the new certificates and CRLs to be used.- Returns:
- a new signed data object.
- Throws:
CMSException- if there is an error processing the CertStore
-
replaceCertificatesAndCRLs
public static CMSSignedData replaceCertificatesAndCRLs(CMSSignedData signedData, Store certificates, Store attrCerts, Store crls) throws CMSExceptionReplace the certificate and CRL information associated with this CMSSignedData object with the new one passed in.- Parameters:
signedData- the signed data object to be used as a base.certificates- the new certificates to be used.attrCerts- the new attribute certificates to be used.crls- the new CRLs to be used.- Returns:
- a new signed data object.
- Throws:
CMSException- if there is an error processing the CertStore
-