Class CAdESLevelBaselineLTA

All Implemented Interfaces:
SignatureExtension<CAdESSignatureParameters>

public class CAdESLevelBaselineLTA extends CAdESLevelBaselineLT
This class holds the CAdES-A signature profiles; it supports the later, over time _extension_ of a signature with id-aa-ets-archiveTimestampV2 attributes as defined in ETSI TS 101 733 V1.8.1, clause 6.4.1. "If the certificate-values and revocation-values attributes are not present in the CAdES-BES or CAdES-EPES, then they shall be added to the electronic signature prior to computing the archive time-stamp token." is the reason we extend from the XL profile.
  • Field Details

    • tspSource

      protected final TSPSource tspSource
      The TSPSource to request a timestamp (T- and LTA-levels)
    • certificateVerifier

      protected final CertificateVerifier certificateVerifier
      The CertificateVerifier to use
  • Constructor Details

  • Method Details

    • extendCMSSignatures

      protected org.bouncycastle.cms.CMSSignedData extendCMSSignatures(org.bouncycastle.cms.CMSSignedData cmsSignedData, CAdESSignatureParameters parameters, List<String> signatureIdsToExtend)
      This method extends the signatures in the cmsSignedData with ids listed within signatureIdsToExtend
      Overrides:
      extendCMSSignatures in class CAdESLevelBaselineLT
      Parameters:
      cmsSignedData - CMSSignedData containing the signatures to be extended
      parameters - CAdESSignatureParameters
      signatureIdsToExtend - a list of String signature Ids to be extended
      Returns:
      CMSSignedData
    • extendSignatures

      public CMSSignedDocument extendSignatures(DSSDocument signatureToExtend, CAdESSignatureParameters parameters)
      Description copied from interface: SignatureExtension
      Extends the level of the signatures contained in a document.
      Specified by:
      extendSignatures in interface SignatureExtension<CAdESSignatureParameters>
      Parameters:
      signatureToExtend - DSSDocument to be extended
      parameters - CAdESSignatureParameters of the extension
      Returns:
      CMSSignedDocument a new extended document
    • extendCMSSignatures

      public org.bouncycastle.cms.CMSSignedData extendCMSSignatures(org.bouncycastle.cms.CMSSignedData cmsSignedData, CAdESSignatureParameters parameters)
      Extends a CMSSignedData
      Parameters:
      cmsSignedData - CMSSignedData to extend
      parameters - CAdESSignatureParameters
      Returns:
      CMSSignedData
    • extendCMSSignatures

      public org.bouncycastle.cms.CMSSignedData extendCMSSignatures(org.bouncycastle.cms.CMSSignedData cmsSignedData, org.bouncycastle.cms.SignerInformation signerInformation, CAdESSignatureParameters parameters)
      Extends a CMSSignedData with a specified SignerInformation NOTE: does not modify other SignerInformations
      Parameters:
      cmsSignedData - CMSSignedData to extend
      signerInformation - SignerInformation to extend
      parameters - CAdESSignatureParameters
      Returns:
      CMSSignedData
    • extendCMSSignatures

      protected org.bouncycastle.cms.CMSSignedData extendCMSSignatures(org.bouncycastle.cms.CMSSignedData cmsSignedData, Collection<org.bouncycastle.cms.SignerInformation> signerInformationsToExtend, CAdESSignatureParameters parameters)
      Loops on each signerInformation of the cmsSignedData and extends ones defined in the collection signerInformationsToExtend
      Parameters:
      cmsSignedData - CMSSignedData
      signerInformationsToExtend - a collection of SignerInformation to be extended
      parameters - CAdESSignatureParameters for the extension
      Returns:
      CMSSignedData with extended signerInformations
    • replaceSigners

      protected org.bouncycastle.cms.CMSSignedData replaceSigners(org.bouncycastle.cms.CMSSignedData cmsSignedData, List<org.bouncycastle.cms.SignerInformation> newSignerInformationList)
      This method replaces the signers within the provided cmsSignedData
      Parameters:
      cmsSignedData - CMSSignedData to replace SignerInformations within
      newSignerInformationList - a list of new SignerInformations
      Returns:
      CMSSignedData
    • newCAdESSignature

      protected CAdESSignature newCAdESSignature(org.bouncycastle.cms.CMSSignedData cmsSignedData, org.bouncycastle.cms.SignerInformation signerInformation, List<DSSDocument> detachedContents)
      Creates a CAdESSignature. Note: recommended method to use.
      Parameters:
      cmsSignedData - CMSSignedData of a signature to create
      signerInformation - SignerInformation
      detachedContents - a list of detached DSSDocuments
      Returns:
      created CAdESSignature
    • getTimeStampAttributeValue

      protected org.bouncycastle.asn1.ASN1Object getTimeStampAttributeValue(DSSMessageDigest timestampMessageDigest, DigestAlgorithm timestampDigestAlgorithm, org.bouncycastle.asn1.cms.Attribute... attributesForTimestampToken)
      Generates and returns a TimeStamp attribute value
      Parameters:
      timestampMessageDigest - DSSMessageDigest message-digest to be timestamped
      timestampDigestAlgorithm - DigestAlgorithm to use
      attributesForTimestampToken - Attributes to add
      Returns:
      ASN1Object representing a TimeStamp token attribute value
    • getDocumentValidator

      protected CMSDocumentValidator getDocumentValidator(org.bouncycastle.cms.CMSSignedData signedData, CAdESSignatureParameters parameters)
      This method returns a document validator for a CMSSignedData
      Parameters:
      signedData - CMSSignedData to get validation for
      parameters - CAdESSignatureParameters
      Returns:
      CMSDocumentValidator