- All Implemented Interfaces:
ProcessExecutorProvider<CertificateProcessExecutor>
-
Method Summary
Modifier and TypeMethodDescriptionprotected voidChecks if the Validator configuration is validprotected DiagnosticDataBuildercreateDiagnosticDataBuilder(eu.europa.esig.dss.spi.validation.ValidationContext validationContext) Creates and fills theDiagnosticDataBuilderwith a relevant dataprotected eu.europa.esig.dss.spi.validation.ValidationContextThis method creates a new instance ofValidationContextperforming preparation of validation data, certificate chain building, revocation request, as well as custom validation checks execution.static CertificateValidatorfromCertificate(eu.europa.esig.dss.model.x509.CertificateToken token) Creates a CertificateValidator from a certificateTokenprotected ValidationPolicyLoaderGets a default validation policy loader for a certificate validationReturns a default for a validator process executorfinal eu.europa.esig.dss.diagnostic.jaxb.XmlDiagnosticDataThis method retrievesXmlDiagnosticDatacontaining all information relevant for the validation process, including the certificate and revocation tokens obtained from online resources, e.g.protected eu.europa.esig.dss.model.policy.ValidationPolicyloadValidationPolicy(eu.europa.esig.dss.model.DSSDocument policyDocument, eu.europa.esig.dss.model.DSSDocument cryptographicSuiteDocument) This method loads a validation policy from thepolicyDocumentand acryptographicSuiteDocument.protected DiagnosticDataBuilderCreates aDiagnosticDataBuilderprotected eu.europa.esig.dss.spi.validation.ValidationContextprepareValidationContext(eu.europa.esig.dss.spi.validation.CertificateVerifier certificateVerifier) Initializes and fillsValidationContextfor a certificate token validationGets theCertificateProcessExecutorvoidsetCertificateVerifier(eu.europa.esig.dss.spi.validation.CertificateVerifier certificateVerifier) Sets the CertificateVerifiervoidsetDefaultDigestAlgorithm(eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm) This method allows to change the Digest Algorithm that will be used for tokens' digest calculation Default :DigestAlgorithm.SHA256voidSets the Locale to use for messages in reportsvoidsetProcessExecutor(CertificateProcessExecutor processExecutor) This method provides the possibility to set the specificCustomProcessExecutorvoidsetTokenExtractionStrategy(eu.europa.esig.dss.enumerations.TokenExtractionStrategy tokenExtractionStrategy) Sets the TokenExtractionStrategyvoidsetTokenIdentifierProvider(eu.europa.esig.dss.model.identifier.TokenIdentifierProvider identifierProvider) Sets the TokenIdentifierProvidervoidsetValidationContextExecutor(eu.europa.esig.dss.spi.validation.executor.ValidationContextExecutor validationContextExecutor) This method setsValidationContextExecutorfor validation of the preparedValidationContextDefault:eu.europa.esig.dss.validation.executor.context.DefaultValidationContextExecutor(performs basic validation of tokens, including certificate chain building and revocation data extraction, without processing of validity checks)voidsetValidationTime(Date validationTime) Sets the validationTimevalidate()Validates the certificate with a default validation policyvalidate(eu.europa.esig.dss.model.DSSDocument policyDocument) Validates the certificate with the validation policy obtained frompolicyDocument.validate(eu.europa.esig.dss.model.DSSDocument policyDocument, eu.europa.esig.dss.model.DSSDocument cryptographicSuiteDocument) Validates the certificate using the provided validation policy and a cryptographic suite.validate(eu.europa.esig.dss.model.policy.ValidationPolicy validationPolicy) Validated the certificate with a custom validation policyValidates the certificate with the validation policy obtained frompolicyFile.Validates the certificate using the provided validation policy and a cryptographic suite.validate(InputStream policyDataStream) Validates the document and all its signatures.validate(InputStream policyDataStream, InputStream cryptographicSuiteStream) Validates the certificate using the provided validation policy and a cryptographic suite.Validates the certificate with the validation policy obtained frompolicyResourcePath.Validates the certificate using the provided validation policy and a cryptographic suite.Validates the certificate with the validation policy obtained fromvalidationPolicyURL.Validates the certificate using the provided validation policy and a cryptographic suite.protected voidvalidateContext(eu.europa.esig.dss.spi.validation.ValidationContext validationContext) Process the validation
-
Method Details
-
fromCertificate
public static CertificateValidator fromCertificate(eu.europa.esig.dss.model.x509.CertificateToken token) Creates a CertificateValidator from a certificateToken- Parameters:
token-CertificateToken- Returns:
CertificateValidator
-
setCertificateVerifier
public void setCertificateVerifier(eu.europa.esig.dss.spi.validation.CertificateVerifier certificateVerifier) Sets the CertificateVerifier- Parameters:
certificateVerifier-CertificateVerifier
-
setTokenExtractionStrategy
public void setTokenExtractionStrategy(eu.europa.esig.dss.enumerations.TokenExtractionStrategy tokenExtractionStrategy) Sets the TokenExtractionStrategy- Parameters:
tokenExtractionStrategy-TokenExtractionStrategy
-
setTokenIdentifierProvider
public void setTokenIdentifierProvider(eu.europa.esig.dss.model.identifier.TokenIdentifierProvider identifierProvider) Sets the TokenIdentifierProvider- Parameters:
identifierProvider-TokenIdentifierProvider
-
setValidationTime
Sets the validationTime- Parameters:
validationTime-Date
-
setLocale
Sets the Locale to use for messages in reports- Parameters:
locale-Locale
-
setValidationContextExecutor
public void setValidationContextExecutor(eu.europa.esig.dss.spi.validation.executor.ValidationContextExecutor validationContextExecutor) This method setsValidationContextExecutorfor validation of the preparedValidationContextDefault:eu.europa.esig.dss.validation.executor.context.DefaultValidationContextExecutor(performs basic validation of tokens, including certificate chain building and revocation data extraction, without processing of validity checks)- Parameters:
validationContextExecutor-ValidationContextExecutor
-
setDefaultDigestAlgorithm
public void setDefaultDigestAlgorithm(eu.europa.esig.dss.enumerations.DigestAlgorithm digestAlgorithm) This method allows to change the Digest Algorithm that will be used for tokens' digest calculation Default :DigestAlgorithm.SHA256- Parameters:
digestAlgorithm-DigestAlgorithmto use
-
validate
Validates the certificate with a default validation policy- Returns:
CertificateReports
-
validate
Validates the certificate with the validation policy obtained fromvalidationPolicyURL. If null the default file is used.- Parameters:
validationPolicyURL-URL- Returns:
CertificateReports
-
validate
Validates the certificate with the validation policy obtained frompolicyResourcePath. If null or empty the default file is used.- Parameters:
policyResourcePath- is located against the classpath (getClass().getResourceAsStream), and NOT the filesystem- Returns:
CertificateReports
-
validate
Validates the certificate with the validation policy obtained frompolicyFile. If null or file does not exist the default file is used.- Parameters:
policyFile- contains the validation policy (xml) asFile- Returns:
CertificateReports
-
validate
Validates the certificate with the validation policy obtained frompolicyDocument. If null the default file is used.- Parameters:
policyDocument- contains the validation policy (xml) asDSSDocument- Returns:
CertificateReports
-
validate
Validates the document and all its signatures. The policyDataStream contains the constraint file. If null the default file is used.- Parameters:
policyDataStream- theInputStreamwith the validation policy- Returns:
CertificateReports
-
validate
Validates the certificate using the provided validation policy and a cryptographic suite. If cryptographic suite is set, the constraints from validation policy will be overwritten by the constraints retrieved from the cryptographic suite. When set, the cryptographic suite constraints are applied with the default behavior, using FAIL level. For a customizable cryptographic suite and its applicability context, please useeu.europa.esig.dss.validation.policy.ValidationPolicyLoader.The format of validation policy should correspond to the DSS XML Validation policy (please include 'dss-policy-jaxb' module in your classpath), unless a custom validation policy has been implemented. The format of cryptographic suite should correspond to XML or JSON schema as defined in ETSI TS 119 322 (please include 'dss-policy-crypto-xml' or 'dss-policy-crypto-json' to the classpath), unless a custom cryptographic suite has been implemented.
If the validation policy URL is set then the policy constraints are retrieved from this location. If null or empty the default file is used.
- Parameters:
validationPolicyURL-URLto the used validation policy filecryptographicSuiteURL-URLto the used cryptographic suite file- Returns:
CertificateReports
-
validate
Validates the certificate using the provided validation policy and a cryptographic suite. If cryptographic suite is set, the constraints from validation policy will be overwritten by the constraints retrieved from the cryptographic suite. When set, the cryptographic suite constraints are applied with the default behavior, using FAIL level. For a customizable cryptographic suite and its applicability context, please useeu.europa.esig.dss.validation.policy.ValidationPolicyLoader.The format of validation policy should correspond to the DSS XML Validation policy (please include 'dss-policy-jaxb' module in your classpath), unless a custom validation policy has been implemented. The format of cryptographic suite should correspond to XML or JSON schema as defined in ETSI TS 119 322 (please include 'dss-policy-crypto-xml' or 'dss-policy-crypto-json' to the classpath), unless a custom cryptographic suite has been implemented.
The
policyResourcePathandcryptographicSuitePathspecify the constraint file. If null or empty the default file is used.- Parameters:
policyResourcePath-Stringpath to the validation policy file, located against the classpath (getClass().getResourceAsStream), and NOT the filesystemcryptographicSuitePath-Stringpath to the cryptographic suite file, located against the classpath (getClass().getResourceAsStream), and NOT the filesystem- Returns:
CertificateReports
-
validate
Validates the certificate using the provided validation policy and a cryptographic suite. If cryptographic suite is set, the constraints from validation policy will be overwritten by the constraints retrieved from the cryptographic suite. When set, the cryptographic suite constraints are applied with the default behavior, using FAIL level. For a customizable cryptographic suite and its applicability context, please useeu.europa.esig.dss.validation.policy.ValidationPolicyLoader.The format of validation policy should correspond to the DSS XML Validation policy (please include 'dss-policy-jaxb' module in your classpath), unless a custom validation policy has been implemented. The format of cryptographic suite should correspond to XML or JSON schema as defined in ETSI TS 119 322 (please include 'dss-policy-crypto-xml' or 'dss-policy-crypto-json' to the classpath), unless a custom cryptographic suite has been implemented.
The
Fileparameters specify the constraint file. If null the default file is used.- Parameters:
policyFile-Filecontaining the validation policycryptographicSuiteFile-Filecontaining the cryptographic suite- Returns:
CertificateReports
-
validate
public CertificateReports validate(eu.europa.esig.dss.model.DSSDocument policyDocument, eu.europa.esig.dss.model.DSSDocument cryptographicSuiteDocument) Validates the certificate using the provided validation policy and a cryptographic suite. If cryptographic suite is set, the constraints from validation policy will be overwritten by the constraints retrieved from the cryptographic suite. When set, the cryptographic suite constraints are applied with the default behavior, using FAIL level. For a customizable cryptographic suite and its applicability context, please useeu.europa.esig.dss.validation.policy.ValidationPolicyLoader.The format of validation policy should correspond to the DSS XML Validation policy (please include 'dss-policy-jaxb' module in your classpath), unless a custom validation policy has been implemented. The format of cryptographic suite should correspond to XML or JSON schema as defined in ETSI TS 119 322 (please include 'dss-policy-crypto-xml' or 'dss-policy-crypto-json' to the classpath), unless a custom cryptographic suite has been implemented.
The
DSSDocumentparameters contains the constraint files. If null the default file is used.- Parameters:
policyDocument-DSSDocumentcontaining the validation policycryptographicSuiteDocument-DSSDocumentcontaining the cryptographic suite- Returns:
CertificateReports
-
loadValidationPolicy
protected eu.europa.esig.dss.model.policy.ValidationPolicy loadValidationPolicy(eu.europa.esig.dss.model.DSSDocument policyDocument, eu.europa.esig.dss.model.DSSDocument cryptographicSuiteDocument) This method loads a validation policy from thepolicyDocumentand acryptographicSuiteDocument. When a document is not provided, a default policy or cryptographic suite is used, respectively.- Parameters:
policyDocument-DSSDocumentcontaining the validation policy documentcryptographicSuiteDocument-DSSDocumentcontaining the cryptographic suite document- Returns:
ValidationPolicy
-
fromDefaultCertificateValidationPolicyLoader
Gets a default validation policy loader for a certificate validation- Returns:
ValidationPolicyLoader
-
validate
public CertificateReports validate(InputStream policyDataStream, InputStream cryptographicSuiteStream) Validates the certificate using the provided validation policy and a cryptographic suite. If cryptographic suite is set, the constraints from validation policy will be overwritten by the constraints retrieved from the cryptographic suite. When set, the cryptographic suite constraints are applied with the default behavior, using FAIL level. For a customizable cryptographic suite and its applicability context, please useeu.europa.esig.dss.validation.policy.ValidationPolicyLoader.The format of validation policy should correspond to the DSS XML Validation policy (please include 'dss-policy-jaxb' module in your classpath), unless a custom validation policy has been implemented. The format of cryptographic suite should correspond to XML or JSON schema as defined in ETSI TS 119 322 (please include 'dss-policy-crypto-xml' or 'dss-policy-crypto-json' to the classpath), unless a custom cryptographic suite has been implemented.
The
InputStreamparameters contains the constraint files. If null the default file is used.- Parameters:
policyDataStream-InputStreamcontaining the validation policycryptographicSuiteStream-InputStreamcontaining the cryptographic suite- Returns:
CertificateReports
-
validate
public CertificateReports validate(eu.europa.esig.dss.model.policy.ValidationPolicy validationPolicy) Validated the certificate with a custom validation policy- Parameters:
validationPolicy-ValidationPolicy- Returns:
CertificateReports
-
assertConfigurationValid
protected void assertConfigurationValid()Checks if the Validator configuration is valid -
getDiagnosticData
public final eu.europa.esig.dss.diagnostic.jaxb.XmlDiagnosticData getDiagnosticData()This method retrievesXmlDiagnosticDatacontaining all information relevant for the validation process, including the certificate and revocation tokens obtained from online resources, e.g. AIA, CRL, OCSP (when applicable).- Returns:
XmlDiagnosticData
-
prepareValidationContext
protected eu.europa.esig.dss.spi.validation.ValidationContext prepareValidationContext(eu.europa.esig.dss.spi.validation.CertificateVerifier certificateVerifier) Initializes and fillsValidationContextfor a certificate token validation- Parameters:
certificateVerifier-CertificateVerifierto be used- Returns:
ValidationContext
-
createValidationContext
protected eu.europa.esig.dss.spi.validation.ValidationContext createValidationContext()This method creates a new instance ofValidationContextperforming preparation of validation data, certificate chain building, revocation request, as well as custom validation checks execution.- Returns:
ValidationContext
-
prepareDiagnosticDataBuilder
Creates aDiagnosticDataBuilder- Returns:
DiagnosticDataBuilder
-
validateContext
protected void validateContext(eu.europa.esig.dss.spi.validation.ValidationContext validationContext) Process the validation- Parameters:
validationContext-ValidationContextto process
-
createDiagnosticDataBuilder
protected DiagnosticDataBuilder createDiagnosticDataBuilder(eu.europa.esig.dss.spi.validation.ValidationContext validationContext) Creates and fills theDiagnosticDataBuilderwith a relevant data- Parameters:
validationContext-ValidationContextused for the validation- Returns:
- filled
DiagnosticDataBuilder
-
setProcessExecutor
Description copied from interface:ProcessExecutorProviderThis method provides the possibility to set the specificCustomProcessExecutor- Specified by:
setProcessExecutorin interfaceProcessExecutorProvider<CertificateProcessExecutor>- Parameters:
processExecutor-ProcessExecutor
-
provideProcessExecutorInstance
Gets theCertificateProcessExecutor- Returns:
CertificateProcessExecutor
-
getDefaultProcessExecutor
Description copied from interface:ProcessExecutorProviderReturns a default for a validator process executor- Specified by:
getDefaultProcessExecutorin interfaceProcessExecutorProvider<CertificateProcessExecutor>- Returns:
- Process Executor
-