Skip to content

Commit b6551c7

Browse files
author
Eugene Bochilo
committed
Finalize DocumentRevisionsValidator and use it in SignatureValidator
DEVSIX-8371
1 parent 7feffdd commit b6551c7

29 files changed

+674
-258
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,7 @@
498498
<excludes>
499499
<exclude>com.itextpdf.commons.bouncycastle</exclude>
500500
<exclude>com.itextpdf.pdfua.exceptions.PdfUAConformanceException</exclude>
501+
<exclude>com.itextpdf.signatures.validation.v1.DocumentRevisionsValidator</exclude>
501502
</excludes>
502503
<excludeModules>
503504
<excludeModule>bouncy-castle-adapter</excludeModule>

sign/src/main/java/com/itextpdf/signatures/validation/v1/CRLValidator.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public class CRLValidator {
9898
*
9999
* @param builder See {@link ValidatorChainBuilder}
100100
*/
101-
CRLValidator(ValidatorChainBuilder builder) {
101+
protected CRLValidator(ValidatorChainBuilder builder) {
102102
this.certificateRetriever = builder.getCertificateRetriever();
103103
this.properties = builder.getProperties();
104104
this.builder = builder;
@@ -114,7 +114,7 @@ public class CRLValidator {
114114
* @param validationDate validation date to check for
115115
*/
116116
public void validate(ValidationReport report, ValidationContext context, X509Certificate certificate, X509CRL crl,
117-
Date validationDate) {
117+
Date validationDate) {
118118
ValidationContext localContext = context.setValidatorContext(ValidatorContext.CRL_VALIDATOR);
119119
if (CertificateUtil.isSelfSigned(certificate)) {
120120
report.addReportItem(new CertificateReportItem(certificate, CRL_CHECK, SELF_SIGNED_CERTIFICATE,
@@ -123,7 +123,7 @@ public void validate(ValidationReport report, ValidationContext context, X509Cer
123123
}
124124
// Check that thisUpdate >= (validationDate - freshness).
125125
Duration freshness = properties.getFreshness(localContext);
126-
if (crl.getThisUpdate().before(DateTimeUtil.addMillisToDate(validationDate, -(long)freshness.toMillis()))) {
126+
if (crl.getThisUpdate().before(DateTimeUtil.addMillisToDate(validationDate, -(long) freshness.toMillis()))) {
127127
report.addReportItem(new CertificateReportItem(certificate, CRL_CHECK,
128128
MessageFormatUtil.format(FRESHNESS_CHECK, crl.getThisUpdate(), validationDate, freshness),
129129
ReportItemStatus.INDETERMINATE));
@@ -203,7 +203,7 @@ public void validate(ValidationReport report, ValidationContext context, X509Cer
203203
}
204204

205205
private static void verifyRevocation(ValidationReport report, X509Certificate certificate,
206-
Date verificationDate, X509CRL crl) {
206+
Date verificationDate, X509CRL crl) {
207207
X509CRLEntry revocation = crl.getRevokedCertificate(certificate.getSerialNumber());
208208
if (revocation != null) {
209209
Date revocationDate = revocation.getRevocationDate();
@@ -255,7 +255,7 @@ private static Date getExpiredCertsOnCRLExtensionDate(X509CRL crl) {
255255
}
256256

257257
private static int computeInterimReasonsMask(IIssuingDistributionPoint issuingDistPoint,
258-
IDistributionPoint distributionPoint) {
258+
IDistributionPoint distributionPoint) {
259259
int interimReasonsMask = ALL_REASONS;
260260
if (!issuingDistPoint.isNull()) {
261261
IReasonFlags onlySomeReasons = issuingDistPoint.getOnlySomeReasons();
@@ -273,7 +273,7 @@ private static int computeInterimReasonsMask(IIssuingDistributionPoint issuingDi
273273
}
274274

275275
private void verifyCrlIntegrity(ValidationReport report, ValidationContext context, X509Certificate certificate,
276-
X509CRL crl) {
276+
X509CRL crl) {
277277
Certificate[] certs = certificateRetriever.getCrlIssuerCertificates(crl);
278278
if (certs.length == 0) {
279279
report.addReportItem(new CertificateReportItem(certificate, CRL_CHECK, CRL_ISSUER_NOT_FOUND,
@@ -312,7 +312,7 @@ private void verifyCrlIntegrity(ValidationReport report, ValidationContext conte
312312
}
313313

314314
private Certificate getRoot(Certificate cert) {
315-
Certificate[] chain = certificateRetriever.retrieveMissingCertificates(new Certificate[]{cert});
315+
Certificate[] chain = certificateRetriever.retrieveMissingCertificates(new Certificate[] {cert});
316316
return chain[chain.length - 1];
317317
}
318318
}

sign/src/main/java/com/itextpdf/signatures/validation/v1/CertificateChainValidator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public class CertificateChainValidator {
6969
*
7070
* @param builder See {@link ValidatorChainBuilder}
7171
*/
72-
CertificateChainValidator(ValidatorChainBuilder builder) {
72+
protected CertificateChainValidator(ValidatorChainBuilder builder) {
7373
this.certificateRetriever = builder.getCertificateRetriever();
7474
this.properties = builder.getProperties();
7575
this.revocationDataValidator = builder.getRevocationDataValidator();
@@ -213,7 +213,7 @@ private boolean checkIfCertIsTrusted(ValidationReport result, ValidationContext
213213

214214
private boolean stopValidation(ValidationReport result, ValidationContext context) {
215215
return !properties.getContinueAfterFailure(context)
216-
&& result.getValidationResult() != ValidationReport.ValidationResult.VALID;
216+
&& result.getValidationResult() == ValidationReport.ValidationResult.INVALID;
217217
}
218218

219219
private void validateValidityPeriod(ValidationReport result, X509Certificate certificate,

0 commit comments

Comments
 (0)