Class XAdESLevelBaselineT

All Implemented Interfaces:
SignatureExtension<XAdESSignatureParameters>
Direct Known Subclasses:
XAdESLevelBaselineLT, XAdESLevelC

public class XAdESLevelBaselineT extends ExtensionBuilder implements SignatureExtension<XAdESSignatureParameters>
-T profile of XAdES signature
  • Field Details

    • tspSource

      protected TSPSource tspSource
      The object encapsulating the Time Stamp Protocol needed to create the level -T, of the signature
  • Constructor Details

    • XAdESLevelBaselineT

      public XAdESLevelBaselineT(CertificateVerifier certificateVerifier)
      The default constructor for XAdESLevelBaselineT.
      Parameters:
      certificateVerifier - CertificateVerifier
  • Method Details

    • extendSignatures

      public DSSDocument extendSignatures(DSSDocument dssDocument, XAdESSignatureParameters params) throws DSSException
      Description copied from interface: SignatureExtension
      Extends the level of the signatures contained in a document.
      Specified by:
      extendSignatures in interface SignatureExtension<XAdESSignatureParameters>
      Parameters:
      dssDocument - The signed document to be signed
      params - the parameters for the extension
      Returns:
      the extended document
      Throws:
      DSSException
    • extendSignatures

      protected void extendSignatures(List<AdvancedSignature> signatures)
      Extends signatures to a desired level.
      This method is overridden by other profiles.
      For -T profile adds the SignatureTimeStamp element which contains a single HashDataInfo element that refers to the ds:SignatureValue element of the [XMLDSIG] signature. The timestamp token is obtained from TSP source.
      Adds <SignatureTimeStamp> segment into <UnsignedSignatureProperties> element.
      Parameters:
      signatures - a list of AdvancedSignatures to extend
    • setTspSource

      public void setTspSource(TSPSource tspSource)
      Sets the TSP source to be used when extending the digital signature
      Parameters:
      tspSource - the tspSource to set
    • incorporateCertificateValues

      protected Element incorporateCertificateValues(Element parentDom, Collection<CertificateToken> certificatesToBeAdded)
      This method incorporates all certificates passed as parameter :
       
       	<xades:CertificateValues>
      		<xades:EncapsulatedX509Certificate>MIIC9TC...</xades:EncapsulatedX509Certificate>
      		...
       	</xades:CertificateValues>
       
       
      Parameters:
      parentDom - the parent element
      certificatesToBeAdded - a collection of CertificateTokens to be added into the signature values element
      Returns:
      Element incorporated signature values element
    • incorporateRevocationValues

      protected Element incorporateRevocationValues(Element parentDom, Collection<CRLToken> crlsToAdd, Collection<OCSPToken> ocspsToAdd)
      This method incorporates revocation values.
              
       		<xades:RevocationValues>
       	
       
      Parameters:
      parentDom - the parent element
      crlsToAdd - a collection of CRLTokens to be added into the signature
      ocspsToAdd - a collection of OCSPTokens to be added into the signature
      Returns:
      Element incorporated revocation values element
    • incorporateCertificateValues

      protected void incorporateCertificateValues(Element parentDom, Collection<CertificateToken> certificatesToBeAdded, String indent)
      This method incorporates all certificates passed as parameter, as well as adds missing indents if the parameter is specified
       
       	<xades:CertificateValues>
      		<xades:EncapsulatedX509Certificate>MIIC9TC...</xades:EncapsulatedX509Certificate>
      		...
       	</xades:CertificateValues>
       
       
      Parameters:
      parentDom - the parent element
      certificatesToBeAdded - the certificates to be added into the signature
      indent - String to add between elements (if not NULL)
    • incorporateRevocationValues

      protected void incorporateRevocationValues(Element parentDom, Collection<CRLToken> crlsToAdd, Collection<OCSPToken> ocspsToAdd, String indent)
      This method incorporates revocation values, as well as adds missing indents if the parameter is specified:
              
       		<xades:RevocationValues>
       	
       
      Parameters:
      parentDom - the parent element
      crlsToAdd - a collection of CRLTokens to be added into the signature
      ocspsToAdd - a collection of OCSPTokens to be added into the signature
      indent - String to add between elements (if not NULL)
    • removeOldCertificateValues

      protected String removeOldCertificateValues()
      This method removes old certificate values from the unsigned signature properties element.
      Returns:
      String indent
    • removeOldRevocationValues

      protected void removeOldRevocationValues()
      This method removes old revocation values from the unsigned signature properties element.
    • removeLastTimestampValidationData

      protected String removeLastTimestampValidationData()
      This method removes the timestamp validation data of the last archive timestamp.
      Returns:
      indent of the last TimeStampValidationData xml element, if present
    • incorporateTimestampValidationData

      protected void incorporateTimestampValidationData(ValidationData validationDataForInclusion, String indent)
      This method incorporates the timestamp validation data in the signature
      Parameters:
      validationDataForInclusion - ValidationData to be included into the signature
      indent - String
    • incorporateArchiveTimestamp

      protected void incorporateArchiveTimestamp()
      This method incorporate timestamp type object.
    • createXAdESTimeStampType

      protected void createXAdESTimeStampType(TimestampType timestampType, String timestampC14nMethod, DSSMessageDigest messageDigest) throws DSSException
      Creates any XAdES TimeStamp object representation. The timestamp token is obtained from TSP source
      Parameters:
      timestampType - TimestampType
      timestampC14nMethod - canonicalization method
      messageDigest - DSSMessageDigest representing the message-imprint digest to timestamp
      Throws:
      DSSException - in case of any error
    • assertDetachedDocumentsContainBinaries

      protected void assertDetachedDocumentsContainBinaries()
      Checks if the detached content represented by binary documents (used for -LTA level extension)