You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/06/09 17:06:42 UTC

svn commit: r1747564 - /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java

Author: tilman
Date: Thu Jun  9 17:06:42 2016
New Revision: 1747564

URL: http://svn.apache.org/viewvc?rev=1747564&view=rev
Log:
PDFBOX-3017: simplify code by using getSignedContent()

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java?rev=1747564&r1=1747563&r2=1747564&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java Thu Jun  9 17:06:42 2016
@@ -18,8 +18,8 @@ package org.apache.pdfbox.examples.signa
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.RandomAccessFile;
 import java.security.InvalidKeyException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
@@ -103,16 +103,10 @@ public final class ShowSignature
                     COSDictionary sigDict = sig.getCOSObject();
                     COSString contents = (COSString) sigDict.getDictionaryObject(COSName.CONTENTS);
 
-                    // download the signed content, described in /ByteRange COSArray:
-                    // [offset1 len1 offset2 len2]
-                    int[] byteRange = sig.getByteRange();
-                    byte[] buf = new byte[byteRange[1] + byteRange[3]];
-                    RandomAccessFile raf = new RandomAccessFile(infile, "r");
-                    raf.seek(byteRange[0]);
-                    raf.readFully(buf, byteRange[0], byteRange[1]);
-                    raf.seek(byteRange[2]);
-                    raf.readFully(buf, byteRange[1], byteRange[3]);
-                    raf.close();
+                    // download the signed content
+                    FileInputStream fis = new FileInputStream(infile);
+                    byte[] buf = sig.getSignedContent(fis);
+                    fis.close();
 
                     System.out.println("Signature found");
                     System.out.println("Name:     " + sig.getName());