Package eu.europa.esig.dss.validation
Class CertificateValidator
java.lang.Object
eu.europa.esig.dss.validation.CertificateValidator
- All Implemented Interfaces:
ProcessExecutorProvider<CertificateProcessExecutor>
public class CertificateValidator
extends Object
implements ProcessExecutorProvider<CertificateProcessExecutor>
Validates a CertificateToken
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Checks if the Validator configuration is validprotected DiagnosticDataBuilder
createDiagnosticDataBuilder
(ValidationContext validationContext) Creates and fills theDiagnosticDataBuilder
with a relevant dataprotected ValidationContext
This method creates a new instance ofValidationContext
performing preparation of validation data, certificate chain building, revocation request, as well as custom validation checks execution.static CertificateValidator
fromCertificate
(CertificateToken token) Creates a CertificateValidator from a certificateTokenReturns a default for a validator process executorfinal XmlDiagnosticData
This method retrievesXmlDiagnosticData
containing all information relevant for the validation process, including the certificate and revocation tokens obtained from online resources, e.g.protected DiagnosticDataBuilder
Creates aDiagnosticDataBuilder
protected ValidationContext
prepareValidationContext
(CertificateVerifier certificateVerifier) Initializes and fillsValidationContext
for a certificate token validationGets theCertificateProcessExecutor
void
setCertificateVerifier
(CertificateVerifier certificateVerifier) Sets the CertificateVerifiervoid
setDefaultDigestAlgorithm
(DigestAlgorithm digestAlgorithm) This method allows to change the Digest Algorithm that will be used for tokens' digest calculation Default :DigestAlgorithm.SHA256
void
Sets the Locale to use for messages in reportsvoid
setProcessExecutor
(CertificateProcessExecutor processExecutor) This method provides the possibility to set the specificCustomProcessExecutor
void
setTokenExtractionStrategy
(TokenExtractionStrategy tokenExtractionStrategy) Sets the TokenExtractionStrategyvoid
setTokenIdentifierProvider
(TokenIdentifierProvider identifierProvider) Sets the TokenIdentifierProvidervoid
setValidationContextExecutor
(ValidationContextExecutor validationContextExecutor) This method setsValidationContextExecutor
for validation of the preparedValidationContext
Default: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)void
setValidationTime
(Date validationTime) Sets the validationTimevalidate()
Validates the certificate with a default validation policyvalidate
(ValidationPolicy validationPolicy) Validated the certificate with a custom validation policyvalidate
(InputStream policyDataStream) This method validates a certificate with the given validation policyInputStream
protected void
validateContext
(ValidationContext validationContext) Process the validation
-
Method Details
-
fromCertificate
Creates a CertificateValidator from a certificateToken- Parameters:
token
-CertificateToken
- Returns:
CertificateValidator
-
setCertificateVerifier
Sets the CertificateVerifier- Parameters:
certificateVerifier
-CertificateVerifier
-
setTokenExtractionStrategy
Sets the TokenExtractionStrategy- Parameters:
tokenExtractionStrategy
-TokenExtractionStrategy
-
setTokenIdentifierProvider
Sets the TokenIdentifierProvider- Parameters:
identifierProvider
-TokenIdentifierProvider
-
setValidationTime
-
setLocale
-
setValidationContextExecutor
This method setsValidationContextExecutor
for validation of the preparedValidationContext
Default: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
This method allows to change the Digest Algorithm that will be used for tokens' digest calculation Default :DigestAlgorithm.SHA256
- Parameters:
digestAlgorithm
-DigestAlgorithm
to use
-
validate
Validates the certificate with a default validation policy- Returns:
CertificateReports
-
validate
This method validates a certificate with the given validation policyInputStream
- Parameters:
policyDataStream
-InputStream
representing the XML Validation Policy file- Returns:
CertificateReports
-
validate
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
This method retrievesXmlDiagnosticData
containing 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
Initializes and fillsValidationContext
for a certificate token validation- Parameters:
certificateVerifier
-CertificateVerifier
to be used- Returns:
ValidationContext
-
createValidationContext
This method creates a new instance ofValidationContext
performing preparation of validation data, certificate chain building, revocation request, as well as custom validation checks execution.- Returns:
ValidationContext
-
prepareDiagnosticDataBuilder
Creates aDiagnosticDataBuilder
- Returns:
DiagnosticDataBuilder
-
validateContext
Process the validation- Parameters:
validationContext
-ValidationContext
to process
-
createDiagnosticDataBuilder
Creates and fills theDiagnosticDataBuilder
with a relevant data- Parameters:
validationContext
-ValidationContext
used for the validation- Returns:
- filled
DiagnosticDataBuilder
-
setProcessExecutor
Description copied from interface:ProcessExecutorProvider
This method provides the possibility to set the specificCustomProcessExecutor
- Specified by:
setProcessExecutor
in interfaceProcessExecutorProvider<CertificateProcessExecutor>
- Parameters:
processExecutor
-ProcessExecutor
-
provideProcessExecutorInstance
Gets theCertificateProcessExecutor
- Returns:
CertificateProcessExecutor
-
getDefaultProcessExecutor
Description copied from interface:ProcessExecutorProvider
Returns a default for a validator process executor- Specified by:
getDefaultProcessExecutor
in interfaceProcessExecutorProvider<CertificateProcessExecutor>
- Returns:
- Process Executor
-