Class CertificateChainValidator
- java.lang.Object
-
- com.itextpdf.signatures.validation.CertificateChainValidator
-
public class CertificateChainValidator extends java.lang.Object
Validator class, which is expected to be used for certificates chain validation.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.String
CERTIFICATE_CHECK
(package private) static java.lang.String
CERTIFICATE_TRUSTED
(package private) static java.lang.String
CERTIFICATE_TRUSTED_FOR_DIFFERENT_CONTEXT
private IssuingCertificateRetriever
certificateRetriever
(package private) static java.lang.String
EXPIRED_CERTIFICATE
(package private) static java.lang.String
EXTENSION_MISSING
(package private) static java.lang.String
EXTENSIONS_CHECK
(package private) static java.lang.String
ISSUER_CANNOT_BE_VERIFIED
(package private) static java.lang.String
ISSUER_MISSING
(package private) static java.lang.String
ISSUER_RETRIEVAL_FAILED
(package private) static java.lang.String
ISSUER_VERIFICATION_FAILED
(package private) static java.lang.String
NOT_YET_VALID_CERTIFICATE
private SignatureValidationProperties
properties
(package private) static java.lang.String
REVOCATION_VALIDATION_FAILED
private RevocationDataValidator
revocationDataValidator
(package private) static java.lang.String
TRUSTSTORE_RETRIEVAL_FAILED
(package private) static java.lang.String
VALIDITY_CHECK
(package private) static java.lang.String
VALIDITY_PERIOD_CHECK_FAILED
-
Constructor Summary
Constructors Modifier Constructor Description protected
CertificateChainValidator(ValidatorChainBuilder builder)
Create new instance ofCertificateChainValidator
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
checkIfCertIsTrusted(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate)
private boolean
stopValidation(ValidationReport result, ValidationContext context)
ValidationReport
validate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
Validate given certificate using provided validation date and required extensions.private ValidationReport
validate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)
ValidationReport
validateCertificate(ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
Validate given certificate using provided validation date and required extensions.private void
validateChain(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)
private void
validateRequiredExtensions(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, int certificateChainSize)
private void
validateRevocationData(ValidationReport report, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
private void
validateValidityPeriod(ValidationReport result, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
-
-
-
Field Detail
-
CERTIFICATE_CHECK
static final java.lang.String CERTIFICATE_CHECK
- See Also:
- Constant Field Values
-
VALIDITY_CHECK
static final java.lang.String VALIDITY_CHECK
- See Also:
- Constant Field Values
-
EXTENSIONS_CHECK
static final java.lang.String EXTENSIONS_CHECK
- See Also:
- Constant Field Values
-
CERTIFICATE_TRUSTED
static final java.lang.String CERTIFICATE_TRUSTED
- See Also:
- Constant Field Values
-
CERTIFICATE_TRUSTED_FOR_DIFFERENT_CONTEXT
static final java.lang.String CERTIFICATE_TRUSTED_FOR_DIFFERENT_CONTEXT
- See Also:
- Constant Field Values
-
EXTENSION_MISSING
static final java.lang.String EXTENSION_MISSING
- See Also:
- Constant Field Values
-
ISSUER_MISSING
static final java.lang.String ISSUER_MISSING
- See Also:
- Constant Field Values
-
EXPIRED_CERTIFICATE
static final java.lang.String EXPIRED_CERTIFICATE
- See Also:
- Constant Field Values
-
NOT_YET_VALID_CERTIFICATE
static final java.lang.String NOT_YET_VALID_CERTIFICATE
- See Also:
- Constant Field Values
-
ISSUER_CANNOT_BE_VERIFIED
static final java.lang.String ISSUER_CANNOT_BE_VERIFIED
- See Also:
- Constant Field Values
-
ISSUER_VERIFICATION_FAILED
static final java.lang.String ISSUER_VERIFICATION_FAILED
- See Also:
- Constant Field Values
-
ISSUER_RETRIEVAL_FAILED
static final java.lang.String ISSUER_RETRIEVAL_FAILED
- See Also:
- Constant Field Values
-
TRUSTSTORE_RETRIEVAL_FAILED
static final java.lang.String TRUSTSTORE_RETRIEVAL_FAILED
- See Also:
- Constant Field Values
-
REVOCATION_VALIDATION_FAILED
static final java.lang.String REVOCATION_VALIDATION_FAILED
- See Also:
- Constant Field Values
-
VALIDITY_PERIOD_CHECK_FAILED
static final java.lang.String VALIDITY_PERIOD_CHECK_FAILED
- See Also:
- Constant Field Values
-
properties
private final SignatureValidationProperties properties
-
certificateRetriever
private final IssuingCertificateRetriever certificateRetriever
-
revocationDataValidator
private final RevocationDataValidator revocationDataValidator
-
-
Constructor Detail
-
CertificateChainValidator
protected CertificateChainValidator(ValidatorChainBuilder builder)
Create new instance ofCertificateChainValidator
.- Parameters:
builder
- SeeValidatorChainBuilder
-
-
Method Detail
-
validateCertificate
public ValidationReport validateCertificate(ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
Validate given certificate using provided validation date and required extensions.- Parameters:
context
- the validation context in which to validate the certificate chaincertificate
-X509Certificate
to be validatedvalidationDate
-Date
against which certificate is expected to be validated. Usually signing date- Returns:
ValidationReport
which contains detailed validation results.
-
validate
public ValidationReport validate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
Validate given certificate using provided validation date and required extensions. Result is added into provided report.- Parameters:
result
-ValidationReport
which is populated with detailed validation resultscontext
- the context in which to perform the validationcertificate
-X509Certificate
to be validatedvalidationDate
-Date
against which certificate is expected to be validated. Usually signing date- Returns:
ValidationReport
which contains both provided and new validation results.
-
validate
private ValidationReport validate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)
-
checkIfCertIsTrusted
private boolean checkIfCertIsTrusted(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate)
-
stopValidation
private boolean stopValidation(ValidationReport result, ValidationContext context)
-
validateValidityPeriod
private void validateValidityPeriod(ValidationReport result, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
-
validateRequiredExtensions
private void validateRequiredExtensions(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, int certificateChainSize)
-
validateRevocationData
private void validateRevocationData(ValidationReport report, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)
-
validateChain
private void validateChain(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)
-
-