@@ -42,6 +42,7 @@ source product.
4242*/
4343using System ;
4444using System . Collections . Generic ;
45+ using iText . Kernel ;
4546using iText . Kernel . Pdf ;
4647using iText . Test ;
4748
@@ -50,6 +51,10 @@ public class SignatureUtilTest : ExtendedITextTest {
5051 private static readonly String sourceFolder = iText . Test . TestUtil . GetParentProjectDirectory ( NUnit . Framework . TestContext
5152 . CurrentContext . TestDirectory ) + "/resources/itext/signatures/SignatureUtilTest/" ;
5253
54+ [ NUnit . Framework . OneTimeSetUp ]
55+ public static void Before ( ) {
56+ }
57+
5358 [ NUnit . Framework . Test ]
5459 public virtual void GetSignaturesTest01 ( ) {
5560 String inPdf = sourceFolder + "simpleSignature.pdf" ;
@@ -148,5 +153,112 @@ public virtual void NotIndirectSigDictionaryTest() {
148153 SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
149154 NUnit . Framework . Assert . IsTrue ( signatureUtil . SignatureCoversWholeDocument ( "Signature1" ) ) ;
150155 }
156+
157+ [ NUnit . Framework . Test ]
158+ public virtual void EmptySignatureReadSignatureDataTest ( ) {
159+ String inPdf = sourceFolder + "emptySignature.pdf" ;
160+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
161+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
162+ NUnit . Framework . Assert . IsNull ( signatureUtil . ReadSignatureData ( "Signature1" ) ) ;
163+ }
164+
165+ [ NUnit . Framework . Test ]
166+ public virtual void ReadSignatureDataTest ( ) {
167+ String inPdf = sourceFolder + "simpleSignature.pdf" ;
168+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
169+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
170+ NUnit . Framework . Assert . IsNotNull ( signatureUtil . ReadSignatureData ( "Signature1" ) ) ;
171+ NUnit . Framework . Assert . IsTrue ( signatureUtil . ReadSignatureData ( "Signature1" ) is PdfPKCS7 ) ;
172+ }
173+
174+ [ NUnit . Framework . Test ]
175+ public virtual void ReadSignatureDataWithSpecialSubFilterTest ( ) {
176+ String inPdf = sourceFolder + "adbe.x509.rsa_sha1_signature.pdf" ;
177+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
178+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
179+ NUnit . Framework . Assert . IsNotNull ( signatureUtil . ReadSignatureData ( "Signature1" ) ) ;
180+ NUnit . Framework . Assert . IsTrue ( signatureUtil . ReadSignatureData ( "Signature1" ) is PdfPKCS7 ) ;
181+ }
182+
183+ [ NUnit . Framework . Test ]
184+ public virtual void ByteRangeAndContentsEntriesTest ( ) {
185+ String inPdf = sourceFolder + "byteRangeAndContentsEntries.pdf" ;
186+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
187+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
188+ iText . Test . AssertUtil . AssertThrows ( typeof ( PdfException ) , ( ) => signatureUtil . ReadSignatureData ( "Signature1"
189+ ) ) ;
190+ }
191+
192+ [ NUnit . Framework . Test ]
193+ public virtual void DoesSignatureFieldExistTest ( ) {
194+ String inPdf = sourceFolder + "simpleSignature.pdf" ;
195+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
196+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
197+ NUnit . Framework . Assert . IsTrue ( signatureUtil . DoesSignatureFieldExist ( "Signature1" ) ) ;
198+ }
199+
200+ [ NUnit . Framework . Test ]
201+ public virtual void DoesSignatureFieldExistEmptySignatureTest ( ) {
202+ String inPdf = sourceFolder + "emptySignature.pdf" ;
203+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
204+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
205+ NUnit . Framework . Assert . IsTrue ( signatureUtil . DoesSignatureFieldExist ( "Signature1" ) ) ;
206+ }
207+
208+ [ NUnit . Framework . Test ]
209+ public virtual void SignatureInTextTypeFieldTest ( ) {
210+ String inPdf = sourceFolder + "signatureInTextTypeField.pdf" ;
211+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
212+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
213+ NUnit . Framework . Assert . IsFalse ( signatureUtil . DoesSignatureFieldExist ( "Signature1" ) ) ;
214+ }
215+
216+ [ NUnit . Framework . Test ]
217+ public virtual void GetTotalRevisionsTest ( ) {
218+ String inPdf = sourceFolder + "simpleSignature.pdf" ;
219+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
220+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
221+ NUnit . Framework . Assert . AreEqual ( 1 , signatureUtil . GetTotalRevisions ( ) ) ;
222+ }
223+
224+ [ NUnit . Framework . Test ]
225+ public virtual void GetRevisionTest ( ) {
226+ String inPdf = sourceFolder + "simpleSignature.pdf" ;
227+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
228+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
229+ NUnit . Framework . Assert . AreEqual ( 1 , signatureUtil . GetRevision ( "Signature1" ) ) ;
230+ }
231+
232+ [ NUnit . Framework . Test ]
233+ public virtual void GetRevisionEmptyFieldsTest ( ) {
234+ String inPdf = sourceFolder + "emptySignature.pdf" ;
235+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
236+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
237+ NUnit . Framework . Assert . AreEqual ( 0 , signatureUtil . GetRevision ( "Signature1" ) ) ;
238+ }
239+
240+ [ NUnit . Framework . Test ]
241+ public virtual void GetRevisionXfaFormTest ( ) {
242+ String inPdf = sourceFolder + "simpleSignatureWithXfa.pdf" ;
243+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
244+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
245+ NUnit . Framework . Assert . AreEqual ( 1 , signatureUtil . GetRevision ( "Signature1" ) ) ;
246+ }
247+
248+ [ NUnit . Framework . Test ]
249+ public virtual void ExtractRevisionTest ( ) {
250+ String inPdf = sourceFolder + "simpleSignature.pdf" ;
251+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
252+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
253+ NUnit . Framework . Assert . IsNotNull ( signatureUtil . ExtractRevision ( "Signature1" ) ) ;
254+ }
255+
256+ [ NUnit . Framework . Test ]
257+ public virtual void ExtractRevisionNotSignatureFieldTest ( ) {
258+ String inPdf = sourceFolder + "signatureInTextTypeField.pdf" ;
259+ PdfDocument pdfDocument = new PdfDocument ( new PdfReader ( inPdf ) ) ;
260+ SignatureUtil signatureUtil = new SignatureUtil ( pdfDocument ) ;
261+ NUnit . Framework . Assert . IsNull ( signatureUtil . ExtractRevision ( "Signature1" ) ) ;
262+ }
151263 }
152264}
0 commit comments