Class DiagnosticDataBuilder

java.lang.Object
eu.europa.esig.dss.validation.DiagnosticDataBuilder
Direct Known Subclasses:
CertificateDiagnosticDataBuilder, SignedDocumentDiagnosticDataBuilder

public abstract class DiagnosticDataBuilder extends Object
Contains a common code for DiagnosticData building
  • Field Details

    • usedCertificates

      protected Set<eu.europa.esig.dss.model.x509.CertificateToken> usedCertificates
      The certificates used during the validation process
    • usedRevocations

      protected Set<RevocationToken> usedRevocations
      The revocation used during the validation process
    • allCertificateSources

      protected ListCertificateSource allCertificateSources
      The list of all certificate sources
    • validationDate

      protected Date validationDate
      The validation time
    • tokenExtractionStrategy

      protected eu.europa.esig.dss.enumerations.TokenExtractionStrategy tokenExtractionStrategy
      The token extraction strategy
    • defaultDigestAlgorithm

      protected eu.europa.esig.dss.enumerations.DigestAlgorithm defaultDigestAlgorithm
      The digest algorithm to use for digest computation
    • identifierProvider

      protected TokenIdentifierProvider identifierProvider
      Generates ids for the tokens
    • xmlCertsMap

      protected Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlCertificate> xmlCertsMap
      The cached map of certificates
    • xmlRevocationsMap

      protected Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlRevocation> xmlRevocationsMap
      The cached map of revocation data
    • xmlTrustedListsMap

      protected Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlTrustedList> xmlTrustedListsMap
      The cached map of trusted lists
    • xmlOrphanCertificateTokensMap

      protected Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanCertificateToken> xmlOrphanCertificateTokensMap
      The cached map of orphan certificates
    • xmlOrphanRevocationTokensMap

      protected Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanRevocationToken> xmlOrphanRevocationTokensMap
      The cached map of orphan revocation data
    • referenceMap

      protected Map<String,String> referenceMap
      A map between references ids and their related token ids (used to map references for timestamped refs)
    • certificateIdsMap

      protected Map<String,eu.europa.esig.dss.model.x509.CertificateToken> certificateIdsMap
      A map between certificate id Strings and the related CertificateTokens
    • signingCertificateMap

      protected Map<String,eu.europa.esig.dss.model.x509.CertificateToken> signingCertificateMap
      A map between certificate id Strings and the related CertificateTokens for signing certificates
    • tlInfoMap

      protected Map<String,TLInfo> tlInfoMap
      The cached map of trusted lists with corresponding TLInfo
  • Constructor Details

    • DiagnosticDataBuilder

      protected DiagnosticDataBuilder()
      Default constructor instantiating object with null values
  • Method Details

    • usedCertificates

      public DiagnosticDataBuilder usedCertificates(Set<eu.europa.esig.dss.model.x509.CertificateToken> usedCertificates)
      This method allows to set the used certificates
      Parameters:
      usedCertificates - the used certificates
      Returns:
      the builder
    • usedRevocations

      public DiagnosticDataBuilder usedRevocations(Set<RevocationToken> usedRevocations)
      This method allows to set the used revocation data
      Parameters:
      usedRevocations - the used revocation data
      Returns:
      the builder
    • allCertificateSources

      public DiagnosticDataBuilder allCertificateSources(ListCertificateSource allCertificateSources)
      This method allows to set ListCertificateSource containing all certificate sources used in the validator (including trusted certificate sources)
      Parameters:
      allCertificateSources - the list of trusted lists certificate sources
      Returns:
      the builder
    • validationDate

      public DiagnosticDataBuilder validationDate(Date validationDate)
      This method allows to set the validation date
      Parameters:
      validationDate - the validation date
      Returns:
      the builder
    • tokenExtractionStrategy

      public DiagnosticDataBuilder tokenExtractionStrategy(eu.europa.esig.dss.enumerations.TokenExtractionStrategy tokenExtractionStrategy)
      This method allows to set the TokenExtractionStrategy to follow for the token extraction
      Parameters:
      tokenExtractionStrategy - TokenExtractionStrategy to use
      Returns:
      the builder
    • tokenIdentifierProvider

      public DiagnosticDataBuilder tokenIdentifierProvider(TokenIdentifierProvider identifierProvider)
      This method allows to set the TokenIdentifierProvider for identifiers generation
      Parameters:
      identifierProvider - TokenIdentifierProvider to use
      Returns:
      the builder
    • defaultDigestAlgorithm

      public DiagnosticDataBuilder defaultDigestAlgorithm(eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm)
      This method allows to set the default DigestAlgorithm which will be used for tokens' DigestAlgoAndValue calculation
      Parameters:
      digestAlgorithm - DigestAlgorithm to set as default
      Returns:
      the builder
    • build

      public eu.europa.esig.dss.diagnostic.jaxb.XmlDiagnosticData build()
      Builds XmlDiagnosticData
      Returns:
      XmlDiagnosticData
    • linkSigningCertificateAndChains

      protected void linkSigningCertificateAndChains(Set<eu.europa.esig.dss.model.x509.CertificateToken> certificates)
      Links the certificates and their certificate chains
      Parameters:
      certificates - a set of CertificateTokens
    • buildXmlOrphanTokens

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanTokens buildXmlOrphanTokens()
      Builds a list of XmlOrphanTokens
      Returns:
      XmlOrphanTokens
    • getXmlSignerInfo

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlSignerInfo getXmlSignerInfo(SignerIdentifier signerIdentifier)
      Creates a XmlSignerInfo from SignerIdentifier
      Parameters:
      signerIdentifier - SignerIdentifier
      Returns:
      XmlSignerInfo
    • buildDetachedXmlRevocation

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlRevocation buildDetachedXmlRevocation(RevocationToken<?> revocationToken)
      This method builds an XmlRevocation from the given RevocationToken
      Parameters:
      revocationToken - RevocationToken
      Returns:
      XmlRevocation
    • getXmlRevocationRefs

      protected <R extends eu.europa.esig.dss.model.x509.revocation.Revocation> List<eu.europa.esig.dss.diagnostic.jaxb.XmlRevocationRef> getXmlRevocationRefs(String tokenId, Map<RevocationRef<R>,Set<eu.europa.esig.dss.enumerations.RevocationRefOrigin>> refsAndOrigins)
      Returns a list of XmlRevocationRef for a token with tokenId
      Type Parameters:
      R - Revocation
      Parameters:
      tokenId - String
      refsAndOrigins - a map of RevocationRefs and their RevocationRefOrigins
      Returns:
      a list of XmlRevocationRefs
    • getXmlCRLRevocationRef

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlRevocationRef getXmlCRLRevocationRef(CRLRef crlRef, Set<eu.europa.esig.dss.enumerations.RevocationRefOrigin> origins)
      Builds a XmlRevocationRef from CRLRef
      Parameters:
      crlRef - CRLRef
      origins - a set of RevocationRefOrigins
      Returns:
      XmlRevocationRef
    • getXmlOCSPRevocationRef

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlRevocationRef getXmlOCSPRevocationRef(OCSPRef ocspRef, Set<eu.europa.esig.dss.enumerations.RevocationRefOrigin> origins)
      Builds a XmlRevocationRef from OCSPRef
      Parameters:
      ocspRef - OCSPRef
      origins - a set of RevocationRefOrigins
      Returns:
      XmlRevocationRef
    • getXmlForCertificateChain

      protected List<eu.europa.esig.dss.diagnostic.jaxb.XmlChainItem> getXmlForCertificateChain(eu.europa.esig.dss.model.x509.Token token)
      Returns a certificate chain for the token
      Parameters:
      token - Token
      Returns:
      a list of XmlChainItem
    • getXmlForCertificateChain

      protected List<eu.europa.esig.dss.diagnostic.jaxb.XmlChainItem> getXmlForCertificateChain(eu.europa.esig.dss.model.x509.Token token, CertificateSource certificateSource)
      Returns a certificate chain for the token from the certificateSource
      Parameters:
      token - Token
      certificateSource - CertificateSource
      Returns:
      a list of XmlChainItem
    • getXmlForCertificateChain

      protected List<eu.europa.esig.dss.diagnostic.jaxb.XmlChainItem> getXmlForCertificateChain(CertificateValidity certificateValidity, CertificateSource certificateSource)
      Builds a certificate chain for a CertificateValidity
      Parameters:
      certificateValidity - CertificateValidity
      certificateSource - CertificateSource
      Returns:
      a list of XmlChainItem
    • getXmlSigningCertificate

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlSigningCertificate getXmlSigningCertificate(eu.europa.esig.dss.model.identifier.Identifier tokenIdentifier, CertificateValidity certificateValidity)
      Gets a signing certificate token for a token with tokenIdentifier
      Parameters:
      tokenIdentifier - Identifier
      certificateValidity - CertificateValidity
      Returns:
      XmlSigningCertificate
    • getXmlFoundCertificates

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlFoundCertificates getXmlFoundCertificates(eu.europa.esig.dss.model.identifier.Identifier tokenIdentifier, TokenCertificateSource certificateSource)
      Returns found certificates from the source
      Parameters:
      tokenIdentifier - Identifier of the token
      certificateSource - TokenCertificateSource
      Returns:
      XmlFoundCertificates
    • populateCertificateOriginMap

      protected void populateCertificateOriginMap(Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlRelatedCertificate> relatedCertificatesMap, eu.europa.esig.dss.enumerations.CertificateOrigin origin, List<eu.europa.esig.dss.model.x509.CertificateToken> certificateTokens, TokenCertificateSource certificateSource)
      Fills the certificates origins map with the given properties
      Parameters:
      relatedCertificatesMap - a map to fill
      origin - CertificateOrigin
      certificateTokens - a list of CertificateTokens
      certificateSource - TokenCertificateSource
    • populateXmlRelatedCertificatesList

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlRelatedCertificate populateXmlRelatedCertificatesList(eu.europa.esig.dss.enumerations.CertificateOrigin origin, eu.europa.esig.dss.model.x509.CertificateToken cert, TokenCertificateSource certificateSource)
      Builds an XmlRelatedCertificate
      Parameters:
      origin - CertificateOrigin
      cert - CertificateToken
      certificateSource - TokenCertificateSource
      Returns:
      XmlRelatedCertificate
    • populateXmlRelatedCertificatesList

      protected void populateXmlRelatedCertificatesList(List<eu.europa.esig.dss.diagnostic.jaxb.XmlRelatedCertificate> relatesCertificates, TokenCertificateSource certificateSource, eu.europa.esig.dss.model.x509.CertificateToken cert, CertificateRef certificateRef)
      Builds an XmlRelatedCertificate and populates the relatesCertificates list
      Parameters:
      relatesCertificates - a list of created earlier XmlRelatedCertificate
      certificateSource - TokenCertificateSource
      cert - CertificateToken
      certificateRef - CertificateRef
    • getXmlCertificateRef

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlCertificateRef getXmlCertificateRef(CertificateRef ref, eu.europa.esig.dss.enumerations.CertificateRefOrigin origin)
      Builds a XmlCertificateRef from CertificateRef
      Parameters:
      ref - XmlCertificateRef
      origin - CertificateRefOrigin
      Returns:
      XmlCertificateRef
    • populateOrphanCertificateOriginMap

      protected void populateOrphanCertificateOriginMap(Map<String,eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanCertificate> orphanCertificatesMap, eu.europa.esig.dss.enumerations.CertificateOrigin origin, List<eu.europa.esig.dss.model.x509.CertificateToken> certificateTokens, TokenCertificateSource certificateSource, eu.europa.esig.dss.model.x509.CertificateToken signingCertificate)
      Fills the orphan certificate map with the given values
      Parameters:
      orphanCertificatesMap - a map to fill
      origin - CertificateOrigin
      certificateTokens - a list of CertificateTokens
      certificateSource - TokenCertificateSource
      signingCertificate - CertificateToken
    • getXmlOrphanCertificate

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanCertificate getXmlOrphanCertificate(eu.europa.esig.dss.enumerations.CertificateOrigin origin, eu.europa.esig.dss.model.x509.CertificateToken certificateToken, TokenCertificateSource certificateSource, eu.europa.esig.dss.model.x509.CertificateToken signingCertificate)
      This method builds an XmlOrphanCertificateToken
      Parameters:
      origin - CertificateOrigin
      certificateToken - CertificateToken
      certificateSource - TokenCertificateSource
      signingCertificate - CertificateToken
      Returns:
      XmlOrphanCertificateToken
    • buildXmlOrphanCertificateToken

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlOrphanCertificateToken buildXmlOrphanCertificateToken(eu.europa.esig.dss.model.x509.CertificateToken certificateToken)
      This method builds an XmlOrphanCertificateToken from the given CertificateToken
      Parameters:
      certificateToken - CertificateToken
      Returns:
      XmlOrphanCertificateToken
    • getXmlRelatedCertificateForOrphanReferences

      protected List<eu.europa.esig.dss.diagnostic.jaxb.XmlRelatedCertificate> getXmlRelatedCertificateForOrphanReferences(TokenCertificateSource certificateSource)
      Returns a list of XmlRelatedCertificates for orphan references within certificateSource
      Parameters:
      certificateSource - TokenCertificateSource
      Returns:
      a list of XmlRelatedCertificates
    • getUsedCertificateByCertificateRef

      protected eu.europa.esig.dss.model.x509.CertificateToken getUsedCertificateByCertificateRef(CertificateRef certificateRef)
      Returns used certificate by the certificateRef
      Parameters:
      certificateRef - CertificateRef
      Returns:
      CertificateToken
    • verifyAgainstCertificateToken

      protected void verifyAgainstCertificateToken(eu.europa.esig.dss.diagnostic.jaxb.XmlCertificateRef xmlCertificateRef, CertificateRef ref, eu.europa.esig.dss.model.x509.CertificateToken signingCertificate)
      Verifies the reference against a certificate token
      Parameters:
      xmlCertificateRef - XmlCertificateRef
      ref - CertificateRef
      signingCertificate - CertificateToken
    • getXmlBasicSignature

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlBasicSignature getXmlBasicSignature(eu.europa.esig.dss.model.x509.Token token)
      Gets XmlBasicSignature for a Token
      Parameters:
      token - Token
      Returns:
      XmlBasicSignature
    • buildDetachedXmlCertificate

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlCertificate buildDetachedXmlCertificate(eu.europa.esig.dss.model.x509.CertificateToken certToken)
      This method builds an XmlCertificate from the given CertificateToken
      Parameters:
      certToken - CertificateToken
      Returns:
      XmlCertificate
    • getXmlDigestAlgoAndValue

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlDigestAlgoAndValue getXmlDigestAlgoAndValue(eu.europa.esig.dss.model.Digest digest)
      Builds a XmlDigestAlgoAndValue for Digest
      Parameters:
      digest - Digest
      Returns:
      XmlDigestAlgoAndValue
    • getXmlDigestAlgoAndValue

      protected eu.europa.esig.dss.diagnostic.jaxb.XmlDigestAlgoAndValue getXmlDigestAlgoAndValue(eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgo, byte[] digestValue)
      Builds a XmlDigestAlgoAndValue for DigestAlgorithm and digestValue
      Parameters:
      digestAlgo - DigestAlgorithm
      digestValue - digest value bytes
      Returns:
      XmlDigestAlgoAndValue