Skip to content

Commit

Permalink
Merge branch 'develop' into devsecops
Browse files Browse the repository at this point in the history
  • Loading branch information
aleks-ivanov committed Aug 2, 2024
2 parents 58ecd8a + fdd5ff1 commit 8278cd5
Show file tree
Hide file tree
Showing 239 changed files with 912 additions and 645 deletions.

Large diffs are not rendered by default.

269 changes: 0 additions & 269 deletions itext.tests/itext.pdfua.tests/itext/pdfua/checkers/PdfUATest.cs

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ You should have received a copy of the GNU Affero General Public License
using NUnit.Framework;
using iText.Commons.Bouncycastle.Cert;
using iText.Commons.Utils;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Report;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
public class AssertValidationReport : IDisposable {
private readonly ValidationReport report;

Expand All @@ -41,9 +41,9 @@ private AssertValidationReport(ValidationReport report) {
this.report = report;
}

public static void AssertThat(ValidationReport report, Action<iText.Signatures.Validation.V1.AssertValidationReport
public static void AssertThat(ValidationReport report, Action<iText.Signatures.Validation.AssertValidationReport
> c) {
iText.Signatures.Validation.V1.AssertValidationReport assertion = new iText.Signatures.Validation.V1.AssertValidationReport
iText.Signatures.Validation.AssertValidationReport assertion = new iText.Signatures.Validation.AssertValidationReport
(report);
c(assertion);
assertion.DoAssert();
Expand All @@ -59,22 +59,22 @@ private void DoAssert() {
}
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasNumberOfFailures(int i) {
public virtual iText.Signatures.Validation.AssertValidationReport HasNumberOfFailures(int i) {
chain.SetNext(new AssertValidationReport.FailureCountCheck(i));
return this;
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasNumberOfLogs(int i) {
public virtual iText.Signatures.Validation.AssertValidationReport HasNumberOfLogs(int i) {
chain.SetNext(new AssertValidationReport.LogCountCheck(i));
return this;
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasLogItem(ReportItem logItem) {
public virtual iText.Signatures.Validation.AssertValidationReport HasLogItem(ReportItem logItem) {
chain.SetNext(new AssertValidationReport.LogItemCheck(logItem));
return this;
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasLogItem(Action<AssertValidationReport.AssertValidationReportLogItem
public virtual iText.Signatures.Validation.AssertValidationReport HasLogItem(Action<AssertValidationReport.AssertValidationReportLogItem
> c) {
AssertValidationReport.AssertValidationReportLogItem asserter = new AssertValidationReport.AssertValidationReportLogItem
(1, 1);
Expand All @@ -83,21 +83,21 @@ public virtual iText.Signatures.Validation.V1.AssertValidationReport HasLogItem(
return this;
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasLogItems(int minCount, int maxCount
, Action<AssertValidationReport.AssertValidationReportLogItem> c) {
public virtual iText.Signatures.Validation.AssertValidationReport HasLogItems(int minCount, int maxCount,
Action<AssertValidationReport.AssertValidationReportLogItem> c) {
AssertValidationReport.AssertValidationReportLogItem asserter = new AssertValidationReport.AssertValidationReportLogItem
(minCount, maxCount);
c(asserter);
asserter.AddToChain(this);
return this;
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasLogItems(int count, Action<AssertValidationReport.AssertValidationReportLogItem
public virtual iText.Signatures.Validation.AssertValidationReport HasLogItems(int count, Action<AssertValidationReport.AssertValidationReportLogItem
> c) {
return this.HasLogItems(count, count, c);
}

public virtual iText.Signatures.Validation.V1.AssertValidationReport HasStatus(ValidationReport.ValidationResult
public virtual iText.Signatures.Validation.AssertValidationReport HasStatus(ValidationReport.ValidationResult
expectedStatus) {
chain.SetNext((new AssertValidationReport.StatusCheck(expectedStatus)));
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ You should have received a copy of the GNU Affero General Public License
using iText.Signatures.Logs;
using iText.Signatures.Testutils;
using iText.Signatures.Testutils.Builder;
using iText.Signatures.Validation.V1.Context;
using iText.Signatures.Validation.V1.Mocks;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Context;
using iText.Signatures.Validation.Mocks;
using iText.Signatures.Validation.Report;
using iText.Test;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
[NUnit.Framework.Category("BouncyCastleUnitTest")]
public class CRLValidatorTest : ExtendedITextTest {
private static readonly String SOURCE_FOLDER = iText.Test.TestUtil.GetParentProjectDirectory(NUnit.Framework.TestContext
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/v1/CRLValidatorTest/";
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/CRLValidatorTest/";

private static readonly IBouncyCastleFactory FACTORY = BouncyCastleFactoryCreator.GetFactory();

Expand Down Expand Up @@ -69,8 +69,9 @@ public virtual void SetUp() {
certificateRetriever = new IssuingCertificateRetriever();
SignatureValidationProperties parameters = new SignatureValidationProperties();
mockChainValidator = new MockChainValidator();
validatorChainBuilder = new ValidatorChainBuilder().WithIssuingCertificateRetriever(certificateRetriever).
WithSignatureValidationProperties(parameters).WithCertificateChainValidator(mockChainValidator);
validatorChainBuilder = new ValidatorChainBuilder().WithIssuingCertificateRetrieverFactory(() => certificateRetriever
).WithSignatureValidationProperties(parameters).WithCertificateChainValidatorFactory(() => mockChainValidator
);
}

[NUnit.Framework.Test]
Expand Down Expand Up @@ -227,12 +228,13 @@ public virtual void CheckLessReasonsTest() {
ValidationReport report = new ValidationReport();
ValidationContext context = new ValidationContext(ValidatorContext.REVOCATION_DATA_VALIDATOR, CertificateSource
.SIGNER_CERT, TimeBasedContext.PRESENT);
CRLValidator validator = validatorChainBuilder.GetCRLValidator();
// Validate full CRL.
validatorChainBuilder.GetCRLValidator().Validate(report, context, signCert, (IX509Crl)CertificateUtil.ParseCrlFromStream
(FileUtil.GetInputStreamForFile(fullCrlPath)), TimeTestUtil.TEST_DATE_TIME);
validator.Validate(report, context, signCert, (IX509Crl)CertificateUtil.ParseCrlFromStream(FileUtil.GetInputStreamForFile
(fullCrlPath)), TimeTestUtil.TEST_DATE_TIME);
// Validate CRL with onlySomeReasons.
validatorChainBuilder.GetCRLValidator().Validate(report, context, signCert, (IX509Crl)CertificateUtil.ParseCrlFromStream
(new MemoryStream(builder.MakeCrl())), TimeTestUtil.TEST_DATE_TIME);
validator.Validate(report, context, signCert, (IX509Crl)CertificateUtil.ParseCrlFromStream(new MemoryStream
(builder.MakeCrl())), TimeTestUtil.TEST_DATE_TIME);
AssertValidationReport.AssertThat(report, (a) => a.HasStatus(ValidationReport.ValidationResult.VALID));
}

Expand Down Expand Up @@ -336,8 +338,8 @@ public virtual void CertificateRetrieverFailureTest() {
throw new Exception("just testing");
}
);
validatorChainBuilder.WithIssuingCertificateRetriever(mockCertificateRetriever);
validatorChainBuilder.WithCRLValidator(new CRLValidator(validatorChainBuilder));
validatorChainBuilder.WithIssuingCertificateRetrieverFactory(() => mockCertificateRetriever);
validatorChainBuilder.WithCRLValidatorFactory(() => new CRLValidator(validatorChainBuilder));
ValidationReport report = PerformValidation("happyPath", TimeTestUtil.TEST_DATE_TIME, crl);
AssertValidationReport.AssertThat(report, (a) => a.HasStatus(ValidationReport.ValidationResult.INDETERMINATE
).HasLogItem((l) => l.WithMessage(CRLValidator.CRL_ISSUER_REQUEST_FAILED)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ You should have received a copy of the GNU Affero General Public License
using iText.Signatures;
using iText.Signatures.Testutils;
using iText.Signatures.Testutils.Client;
using iText.Signatures.Validation.V1.Context;
using iText.Signatures.Validation.V1.Extensions;
using iText.Signatures.Validation.V1.Mocks;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Context;
using iText.Signatures.Validation.Extensions;
using iText.Signatures.Validation.Mocks;
using iText.Signatures.Validation.Report;
using iText.Test;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
[NUnit.Framework.Category("BouncyCastleUnitTest")]
public class CertificateChainValidatorTest : ExtendedITextTest {
private static readonly String CERTS_SRC = iText.Test.TestUtil.GetParentProjectDirectory(NUnit.Framework.TestContext
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/v1/CertificateChainValidatorTest/";
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/CertificateChainValidatorTest/";

private ValidatorChainBuilder validatorChainBuilder;

Expand All @@ -55,8 +55,9 @@ public virtual void Setup() {
mockRevocationDataValidator = new MockRevocationDataValidator();
properties = new SignatureValidationProperties();
certificateRetriever = new IssuingCertificateRetriever();
validatorChainBuilder = new ValidatorChainBuilder().WithIssuingCertificateRetriever(certificateRetriever).
WithSignatureValidationProperties(properties).WithRevocationDataValidator(mockRevocationDataValidator);
validatorChainBuilder = new ValidatorChainBuilder().WithIssuingCertificateRetrieverFactory(() => certificateRetriever
).WithSignatureValidationProperties(properties).WithRevocationDataValidatorFactory(() => mockRevocationDataValidator
);
}

[NUnit.Framework.Test]
Expand Down Expand Up @@ -524,7 +525,7 @@ public virtual void TrustStoreFailureTest() {
throw new Exception("Test trust store failure");
}
);
validatorChainBuilder.WithIssuingCertificateRetriever(mockCertificateRetriever);
validatorChainBuilder.WithIssuingCertificateRetrieverFactory(() => mockCertificateRetriever);
CertificateChainValidator validator = validatorChainBuilder.BuildCertificateChainValidator();
certificateRetriever.AddKnownCertificates(JavaCollectionsUtil.SingletonList<IX509Certificate>(intermediateCert
));
Expand All @@ -547,7 +548,7 @@ public virtual void IssuerRetrievalFailureTest() {
throw new Exception("Test issuer retrieval failure");
}
);
validatorChainBuilder.WithIssuingCertificateRetriever(mockCertificateRetriever);
validatorChainBuilder.WithIssuingCertificateRetrieverFactory(() => mockCertificateRetriever);
CertificateChainValidator validator = validatorChainBuilder.BuildCertificateChainValidator();
certificateRetriever.AddKnownCertificates(JavaCollectionsUtil.SingletonList<IX509Certificate>(intermediateCert
));
Expand Down Expand Up @@ -605,7 +606,7 @@ public virtual void TestStopOnInvalidRevocationResultTest() {
properties.SetContinueAfterFailure(ValidatorContexts.All(), CertificateSources.All(), false);
MockIssuingCertificateRetriever mockCertificateRetriever = new MockIssuingCertificateRetriever(certificateRetriever
);
validatorChainBuilder.WithIssuingCertificateRetriever(mockCertificateRetriever);
validatorChainBuilder.WithIssuingCertificateRetrieverFactory(() => mockCertificateRetriever);
CertificateChainValidator validator = validatorChainBuilder.BuildCertificateChainValidator();
certificateRetriever.AddKnownCertificates(JavaCollectionsUtil.SingletonList<IX509Certificate>(intermediateCert
));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ You should have received a copy of the GNU Affero General Public License
using iText.Commons.Utils;
using iText.Kernel.Pdf;
using iText.Signatures;
using iText.Signatures.Validation.V1.Context;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Context;
using iText.Signatures.Validation.Report;
using iText.Test;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
[NUnit.Framework.Category("BouncyCastleIntegrationTest")]
public class DocumentRevisionsValidatorIntegrationTest : ExtendedITextTest {
private static readonly String SOURCE_FOLDER = iText.Test.TestUtil.GetParentProjectDirectory(NUnit.Framework.TestContext
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/v1/DocumentRevisionsValidatorIntegrationTest/";
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/DocumentRevisionsValidatorIntegrationTest/";

private static readonly IBouncyCastleFactory FACTORY = BouncyCastleFactoryCreator.GetFactory();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ You should have received a copy of the GNU Affero General Public License
using iText.Commons.Utils;
using iText.Kernel.Pdf;
using iText.Signatures;
using iText.Signatures.Validation.V1.Context;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Context;
using iText.Signatures.Validation.Report;
using iText.Test;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
[NUnit.Framework.Category("BouncyCastleUnitTest")]
public class DocumentRevisionsValidatorTest : ExtendedITextTest {
private static readonly String SOURCE_FOLDER = iText.Test.TestUtil.GetParentProjectDirectory(NUnit.Framework.TestContext
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/v1/DocumentRevisionsValidatorTest/";
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/DocumentRevisionsValidatorTest/";

private static readonly IBouncyCastleFactory FACTORY = BouncyCastleFactoryCreator.GetFactory();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ You should have received a copy of the GNU Affero General Public License
using iText.Signatures.Testutils;
using iText.Signatures.Testutils.Builder;
using iText.Signatures.Testutils.Client;
using iText.Signatures.Validation.V1.Context;
using iText.Signatures.Validation.V1.Report;
using iText.Signatures.Validation.Context;
using iText.Signatures.Validation.Report;
using iText.Test;

namespace iText.Signatures.Validation.V1 {
namespace iText.Signatures.Validation {
[NUnit.Framework.Category("BouncyCastleUnitTest")]
public class OCSPValidatorIntegrationTest : ExtendedITextTest {
private static readonly String SOURCE_FOLDER = iText.Test.TestUtil.GetParentProjectDirectory(NUnit.Framework.TestContext
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/v1/OCSPValidatorTest/";
.CurrentContext.TestDirectory) + "/resources/itext/signatures/validation/OCSPValidatorTest/";

private static readonly IBouncyCastleFactory FACTORY = BouncyCastleFactoryCreator.GetFactory();

Expand Down Expand Up @@ -80,8 +80,8 @@ public static void Before() {
public virtual void SetUp() {
certificateRetriever = new IssuingCertificateRetriever();
parameters = new SignatureValidationProperties();
validatorChainBuilder = new ValidatorChainBuilder().WithSignatureValidationProperties(parameters).WithIssuingCertificateRetriever
(certificateRetriever);
validatorChainBuilder = new ValidatorChainBuilder().WithSignatureValidationProperties(parameters).WithIssuingCertificateRetrieverFactory
(() => certificateRetriever);
}

[NUnit.Framework.Test]
Expand Down Expand Up @@ -222,8 +222,10 @@ private ValidationReport VerifyResponderWithOcsp(bool revokedOcsp) {
if (revokedOcsp) {
parameters.SetContinueAfterFailure(ValidatorContexts.All(), CertificateSources.All(), false);
}
validatorChainBuilder.GetRevocationDataValidator().AddOcspClient(ocspClient);
validatorChainBuilder.GetRevocationDataValidator().AddOcspClient(ocspClient2);
RevocationDataValidator revocationDataValidator = validatorChainBuilder.GetRevocationDataValidator();
revocationDataValidator.AddOcspClient(ocspClient);
revocationDataValidator.AddOcspClient(ocspClient2);
validatorChainBuilder.WithRevocationDataValidatorFactory(() => revocationDataValidator);
OCSPValidator validator = validatorChainBuilder.BuildOCSPValidator();
validator.Validate(report, baseContext, checkCert, basicOCSPResp.GetResponses()[0], basicOCSPResp, checkDate
, checkDate);
Expand Down
Loading

0 comments on commit 8278cd5

Please sign in to comment.