Class XAdESEvidenceRecordDigestBuilder

java.lang.Object
eu.europa.esig.dss.spi.validation.evidencerecord.AbstractSignatureEvidenceRecordDigestBuilder
eu.europa.esig.dss.xades.evidencerecord.XAdESEvidenceRecordDigestBuilder
All Implemented Interfaces:
SignatureEvidenceRecordDigestBuilder

public class XAdESEvidenceRecordDigestBuilder extends AbstractSignatureEvidenceRecordDigestBuilder
Computes message-imprint of an XML signature to be protected by an evidence-record
  • Constructor Details

    • XAdESEvidenceRecordDigestBuilder

      public XAdESEvidenceRecordDigestBuilder(DSSDocument signatureDocument)
      Default constructor to instantiate XAdESEvidenceRecordDigestBuilder with a SHA-256 digest algorithm
      Parameters:
      signatureDocument - DSSDocument to compute message-imprint for
    • XAdESEvidenceRecordDigestBuilder

      public XAdESEvidenceRecordDigestBuilder(DSSDocument signatureDocument, DigestAlgorithm digestAlgorithm)
      Constructor to instantiate XAdESEvidenceRecordDigestBuilder with a custom digest algorithm
      Parameters:
      signatureDocument - DSSDocument to compute message-imprint for
      digestAlgorithm - DigestAlgorithm to be used
    • XAdESEvidenceRecordDigestBuilder

      protected XAdESEvidenceRecordDigestBuilder(AdvancedSignature signature, SignatureAttribute evidenceRecordAttribute, DigestAlgorithm digestAlgorithm)
      Constructor to instantiate XAdESEvidenceRecordDigestBuilder from a signature for the given evidenceRecordAttribute. This constructor is used on validation of existing evidence record.
      Parameters:
      signature - AdvancedSignature containing the incorporated evidence record
      evidenceRecordAttribute - SignatureAttribute location of the evidence record
      digestAlgorithm - DigestAlgorithm to be used
  • Method Details

    • setDetachedContent

      public XAdESEvidenceRecordDigestBuilder setDetachedContent(List<DSSDocument> detachedContent)
      Sets a list of detached documents covered by the signature
      Parameters:
      detachedContent - a list of detached DSSDocuments
      Returns:
      this builder
    • setSignatureId

      public XAdESEvidenceRecordDigestBuilder setSignatureId(String signatureId)
      Sets identifier of the signature to be covered by an evidence-record. Accepts a DSS identifier, or an internal signature element's identifier Note: required for documents containing multiple signatures
      Parameters:
      signatureId - String
      Returns:
      this builder
    • setParallelEvidenceRecord

      public XAdESEvidenceRecordDigestBuilder setParallelEvidenceRecord(boolean parallelEvidenceRecord)
      Description copied from class: AbstractSignatureEvidenceRecordDigestBuilder
      Sets whether the message-imprint for an evidence record shall be computed as for a parallel evidence-record (i.e. to be incorporated within the latest evidence-record attribute, when available). Otherwise, will compute message-imprint based on the whole signature's content, including coverage of other existing evidence-record. Default : FALSE (computes digest based on the whole signature's content)
      Overrides:
      setParallelEvidenceRecord in class AbstractSignatureEvidenceRecordDigestBuilder
      Parameters:
      parallelEvidenceRecord - whether the message-imprint for an evidence record shall be computed as for a parallel evidence-record
      Returns:
      this builder
    • build

      public Digest build()
      Description copied from interface: SignatureEvidenceRecordDigestBuilder
      Generates hash value for the signature enveloping the evidence-record. Note: the method is not supported for ASiC containers
      Returns:
      Digest containing the hash value of the binaries and the used digest algorithm
    • getXAdESSignature

      protected XAdESSignature getXAdESSignature()
      Returns a signature to compute evidence record's digest for
      Returns:
      XAdESSignature
    • getXmlSignatureMessageImprint

      protected DSSMessageDigest getXmlSignatureMessageImprint(XAdESSignature signature)
      Generates message-imprint for the given XAdESSignature
      Parameters:
      signature - XAdESSignature to be covered by an evidence-record
      Returns:
      Digest of the signature
    • getCanonicalizationAlgorithm

      protected String getCanonicalizationAlgorithm(XAdESSignature signature)
      Returns corresponding ds:CanonicalizationMethod used within the signature
      Parameters:
      signature - XAdESSignature
      Returns:
      String canonicalization method identifier