Skip to content

Commit 648b47f

Browse files
author
Eugene Bochilo
committed
Support LOTL trusted store during validation
DEVSIX-9241
1 parent 24aac3f commit 648b47f

File tree

68 files changed

+906
-479
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+906
-479
lines changed

sharpenConfiguration.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -466,9 +466,9 @@
466466
</fileset>
467467
<!-- sign -->
468468
<fileset reason="XML validation is different in .NET">
469-
<file path="com/itextpdf/signatures/validation/XmlValidationUtils.java" />
470-
<file path="com/itextpdf/signatures/validation/CertificateSelector.java" />
471-
<file path="com/itextpdf/signatures/validation/xml/XmlSaxProcessor.java" />
469+
<file path="com/itextpdf/signatures/validation/lotl/XmlValidationUtils.java" />
470+
<file path="com/itextpdf/signatures/validation/lotl/CertificateSelector.java" />
471+
<file path="com/itextpdf/signatures/validation/lotl/xml/XmlSaxProcessor.java" />
472472
</fileset>
473473
<file path="com/itextpdf/signatures/ProviderDigest.java"/>
474474
<fileset reason="ProviderDigest class exists only on Java.">
@@ -542,7 +542,7 @@
542542
<file path="com/itextpdf/signatures/testutils/report/xml/XmlReportTestTool.java"/>
543543
</fileset>
544544
<fileset reason="LocalDateTime and DateTime have different constructors and parsing">
545-
<file path="com/itextpdf/signatures/validation/ServiceStatusInfo.java"/>
545+
<file path="com/itextpdf/signatures/validation/lotl/ServiceStatusInfo.java"/>
546546
</fileset>
547547
<!-- jsoup -->
548548
<file path="com/itextpdf/styledxmlparser/jsoup/PortUtil.java" />

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ This file is part of the iText (R) project.
2929
import com.itextpdf.signatures.validation.context.ValidatorContext;
3030
import com.itextpdf.signatures.validation.extensions.CertificateExtension;
3131
import com.itextpdf.signatures.validation.extensions.DynamicCertificateExtension;
32+
import com.itextpdf.signatures.validation.lotl.LOTLTrustedStore;
3233
import com.itextpdf.signatures.validation.report.CertificateReportItem;
3334
import com.itextpdf.signatures.validation.report.ValidationReport;
3435
import com.itextpdf.signatures.validation.report.ReportItem.ReportItemStatus;
@@ -48,7 +49,6 @@ This file is part of the iText (R) project.
4849
* Validator class, which is expected to be used for certificates chain validation.
4950
*/
5051
public class CertificateChainValidator {
51-
5252
private final SignatureValidationProperties properties;
5353
private final IssuingCertificateRetriever certificateRetriever;
5454
private final RevocationDataValidator revocationDataValidator;
@@ -151,8 +151,13 @@ private ValidationReport validate(ValidationReport result, ValidationContext con
151151

152152
private boolean checkIfCertIsTrusted(ValidationReport result, ValidationContext context,
153153
X509Certificate certificate, Date validationDate) {
154-
return certificateRetriever.getTrustedCertificatesStore().checkIfCertIsTrusted(result, context, certificate)
155-
|| lotlTrustedStore.checkIfCertIsTrusted(result, context, certificate, validationDate);
154+
if (certificateRetriever.getTrustedCertificatesStore().checkIfCertIsTrusted(result, context, certificate)) {
155+
return true;
156+
}
157+
if (lotlTrustedStore == null) {
158+
return false;
159+
}
160+
return lotlTrustedStore.checkIfCertIsTrusted(result, context, certificate, validationDate);
156161
}
157162

158163
private boolean stopValidation(ValidationReport result, ValidationContext context) {

sign/src/main/java/com/itextpdf/signatures/validation/LOTLTrustedStore.java

Lines changed: 0 additions & 207 deletions
This file was deleted.

0 commit comments

Comments
 (0)