Author: tilman
Date: Thu Jul 16 03:54:46 2020
New Revision: 1879918

URL: http://svn.apache.org/viewvc?rev=1879918&view=rev
Log:
PDFBOX-3017: verify signature hash in timestamp (inspired by stackoverflow 
question 62872844 comment by mkl)

Modified:
    
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java

Modified: 
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java?rev=1879918&r1=1879917&r2=1879918&view=diff
==============================================================================
--- 
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
 (original)
+++ 
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
 Thu Jul 16 03:54:46 2020
@@ -398,6 +398,12 @@ public class TestCreateSignature
             {
                 Assert.assertNotNull(timeStampToken);
                 validateTimestampToken(timeStampToken);
+
+                // compare the hash of the signed content with the hash in the 
timestamp
+                byte[] tsMessageImprintDigest = 
timeStampToken.getTimeStampInfo().getMessageImprintDigest();
+                String hashAlgorithm = 
timeStampToken.getTimeStampInfo().getMessageImprintAlgOID().getId();
+                byte[] sigMessageImprintDigest = 
MessageDigest.getInstance(hashAlgorithm).digest(signerInformation.getSignature());
+                Assert.assertArrayEquals("timestamp signature verification 
failed", sigMessageImprintDigest, tsMessageImprintDigest);
             }
             else
             {


Reply via email to