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 2018/10/13 13:02:23 UTC

svn commit: r1843747 - in /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature: ShowSignature.java cert/CertificateVerifier.java

Author: tilman
Date: Sat Oct 13 13:02:22 2018
New Revision: 1843747

URL: http://svn.apache.org/viewvc?rev=1843747&view=rev
Log:
PDFBOX-3017: remove double code

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.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=1843747&r1=1843746&r2=1843747&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 Sat Oct 13 13:02:22 2018
@@ -20,12 +20,9 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
-import java.security.InvalidKeyException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.NoSuchProviderException;
-import java.security.PublicKey;
-import java.security.SignatureException;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateExpiredException;
@@ -294,7 +291,7 @@ public final class ShowSignature
             System.out.println("Signature verification failed");
         }
 
-        if (isSelfSigned(certFromSignedData))
+        if (CertificateVerifier.isSelfSigned(certFromSignedData))
         {
             System.err.println("Certificate is self-signed, LOL!");
         }
@@ -380,28 +377,6 @@ public final class ShowSignature
         }
     }
 
-    // https://svn.apache.org/repos/asf/cxf/tags/cxf-2.4.1/distribution/src/main/release/samples/sts_issue_operation/src/main/java/demo/sts/provider/cert/CertificateVerifier.java
-
-    /**
-     * Checks whether given X.509 certificate is self-signed.
-     */
-    private boolean isSelfSigned(X509Certificate cert)
-            throws CertificateException, NoSuchAlgorithmException, NoSuchProviderException
-    {
-        try
-        {
-            // Try to verify certificate signature with its own public key
-            PublicKey key = cert.getPublicKey();
-            cert.verify(key);
-            return true;
-        }
-        catch (SignatureException | InvalidKeyException sigEx)
-        {
-            LOG.debug("Couldn't get signature information - returning false", sigEx);
-            return false;
-        }
-    }
-
     /**
      * This will print a usage message.
      */

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.java?rev=1843747&r1=1843746&r2=1843747&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.java Sat Oct 13 13:02:22 2018
@@ -37,6 +37,8 @@ import java.security.cert.X509CertSelect
 import java.security.cert.X509Certificate;
 import java.util.HashSet;
 import java.util.Set;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * Copied from Apache CXF 2.4.9, initial version:
@@ -45,6 +47,7 @@ import java.util.Set;
  */
 public final class CertificateVerifier
 {
+    private static final Log LOG = LogFactory.getLog(CertificateVerifier.class);
 
     private CertificateVerifier()
     {
@@ -143,14 +146,10 @@ public final class CertificateVerifier
             cert.verify(key);
             return true;
         }
-        catch (SignatureException sigEx)
+        catch (SignatureException | InvalidKeyException sigEx)
         {
             // Invalid signature --> not self-signed
-            return false;
-        }
-        catch (InvalidKeyException keyEx)
-        {
-            // Invalid key --> not self-signed
+            LOG.debug("Couldn't get signature information - returning false", sigEx);
             return false;
         }
     }