Class CertificateChainValidator
- java.lang.Object
-
- com.itextpdf.signatures.validation.CertificateChainValidator
-
public class CertificateChainValidator extends java.lang.ObjectValidator class, which is expected to be used for certificates chain validation.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.StringCERTIFICATE_CHECK(package private) static java.lang.StringCERTIFICATE_TRUSTED(package private) static java.lang.StringCERTIFICATE_TRUSTED_FOR_DIFFERENT_CONTEXTprivate IssuingCertificateRetrievercertificateRetriever(package private) static java.lang.StringEXPIRED_CERTIFICATE(package private) static java.lang.StringEXTENSION_MISSING(package private) static java.lang.StringEXTENSIONS_CHECK(package private) static java.lang.StringISSUER_CANNOT_BE_VERIFIED(package private) static java.lang.StringISSUER_MISSING(package private) static java.lang.StringISSUER_RETRIEVAL_FAILED(package private) static java.lang.StringISSUER_VERIFICATION_FAILED(package private) static java.lang.StringNOT_YET_VALID_CERTIFICATEprivate SignatureValidationPropertiesproperties(package private) static java.lang.StringREVOCATION_VALIDATION_FAILEDprivate RevocationDataValidatorrevocationDataValidator(package private) static java.lang.StringTRUSTSTORE_RETRIEVAL_FAILED(package private) static java.lang.StringVALIDITY_CHECK(package private) static java.lang.StringVALIDITY_PERIOD_CHECK_FAILED
-
Constructor Summary
Constructors Modifier Constructor Description protectedCertificateChainValidator(ValidatorChainBuilder builder)Create new instance ofCertificateChainValidator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancheckIfCertIsTrusted(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate)private booleanstopValidation(ValidationReport result, ValidationContext context)ValidationReportvalidate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)Validate given certificate using provided validation date and required extensions.private ValidationReportvalidate(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)ValidationReportvalidateCertificate(ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)Validate given certificate using provided validation date and required extensions.private voidvalidateChain(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate, int certificateChainSize)private voidvalidateRequiredExtensions(ValidationReport result, ValidationContext context, java.security.cert.X509Certificate certificate, int certificateChainSize)private voidvalidateRevocationData(ValidationReport report, ValidationContext context, java.security.cert.X509Certificate certificate, java.util.Date validationDate)private voidvalidateValidityPeriod(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-X509Certificateto be validatedvalidationDate-Dateagainst which certificate is expected to be validated. Usually signing date- Returns:
ValidationReportwhich 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-ValidationReportwhich is populated with detailed validation resultscontext- the context in which to perform the validationcertificate-X509Certificateto be validatedvalidationDate-Dateagainst which certificate is expected to be validated. Usually signing date- Returns:
ValidationReportwhich 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)
-
-