Skip to content

Commit bcc3e25

Browse files
author
dmitry.radchuk
committed
Cover PdfPKCS7#verifyTimestampImprint with tests
DEVSIX-6011
1 parent ef778b4 commit bcc3e25

File tree

5 files changed

+39
-0
lines changed

5 files changed

+39
-0
lines changed

sign/src/test/java/com/itextpdf/signatures/PdfPKCS7Test.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,19 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.kernel.exceptions.PdfException;
2828
import com.itextpdf.kernel.pdf.PdfDocument;
2929
import com.itextpdf.kernel.pdf.PdfReader;
30+
import com.itextpdf.kernel.pdf.StampingProperties;
3031
import com.itextpdf.signatures.exceptions.SignExceptionMessageConstant;
32+
import com.itextpdf.signatures.sign.PadesSigTest;
33+
import com.itextpdf.signatures.testutils.SignaturesCompareTool;
3134
import com.itextpdf.signatures.testutils.TimeTestUtil;
35+
import com.itextpdf.signatures.testutils.client.TestTsaClient;
3236
import com.itextpdf.test.ExtendedITextTest;
3337
import com.itextpdf.test.annotations.type.UnitTest;
3438
import com.itextpdf.test.signutils.Pkcs12FileHelper;
3539

40+
import java.io.FileOutputStream;
3641
import java.io.IOException;
42+
import java.security.GeneralSecurityException;
3743
import java.security.InvalidKeyException;
3844
import java.security.KeyStoreException;
3945
import java.security.NoSuchAlgorithmException;
@@ -43,6 +49,7 @@ This file is part of the iText (R) project.
4349
import java.security.UnrecoverableKeyException;
4450
import java.security.cert.Certificate;
4551
import java.security.cert.CertificateException;
52+
import java.util.Arrays;
4653
import java.util.Calendar;
4754
import org.bouncycastle.jce.provider.BouncyCastleProvider;
4855
import org.bouncycastle.tsp.TimeStampToken;
@@ -188,6 +195,38 @@ public void ocspGetTest() throws IOException {
188195
EPS);
189196
}
190197

198+
@Test
199+
public void verifyTimestampImprintSimpleSignatureTest() throws IOException, GeneralSecurityException {
200+
PdfDocument outDocument = new PdfDocument(
201+
new PdfReader(SOURCE_FOLDER + "simpleSignature.pdf"));
202+
PdfPKCS7 pkcs7 = new SignatureUtil(outDocument).readSignatureData("Signature1");
203+
Assert.assertFalse(pkcs7.verifyTimestampImprint());
204+
}
205+
206+
@Test
207+
public void verifyTimestampImprintTimeStampSignatureTest() throws IOException, GeneralSecurityException {
208+
PdfDocument outDocument = new PdfDocument(
209+
new PdfReader(SOURCE_FOLDER + "timeStampSignature.pdf"));
210+
PdfPKCS7 pkcs7 = new SignatureUtil(outDocument).readSignatureData("timestampSig1");
211+
Assert.assertFalse(pkcs7.verifyTimestampImprint());
212+
}
213+
214+
@Test
215+
public void verifyTimestampImprintEmbeddedTimeStampSignatureTest() throws IOException, GeneralSecurityException {
216+
PdfDocument outDocument = new PdfDocument(
217+
new PdfReader(SOURCE_FOLDER + "embeddedTimeStampSignature.pdf"));
218+
PdfPKCS7 pkcs7 = new SignatureUtil(outDocument).readSignatureData("Signature1");
219+
Assert.assertTrue(pkcs7.verifyTimestampImprint());
220+
}
221+
222+
@Test
223+
public void verifyTimestampImprintCorruptedTimeStampSignatureTest() throws IOException, GeneralSecurityException {
224+
PdfDocument outDocument = new PdfDocument(
225+
new PdfReader(SOURCE_FOLDER + "embeddedTimeStampCorruptedSignature.pdf"));
226+
PdfPKCS7 pkcs7 = new SignatureUtil(outDocument).readSignatureData("Signature1");
227+
Assert.assertTrue(pkcs7.verifyTimestampImprint());
228+
}
229+
191230
// PdfPKCS7 is created here the same way it's done in PdfSigner#signDetached
192231
private static PdfPKCS7 createSimplePdfPKCS7()
193232
throws NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException {
Binary file not shown.

0 commit comments

Comments
 (0)