Author: tilman
Date: Sun Dec  2 09:07:41 2018
New Revision: 1847945

URL: http://svn.apache.org/viewvc?rev=1847945&view=rev
Log:
PDFBOX-3017: move fallback code to correct location

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

Modified: 
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/OcspHelper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/OcspHelper.java?rev=1847945&r1=1847944&r2=1847945&view=diff
==============================================================================
--- 
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/OcspHelper.java
 (original)
+++ 
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/cert/OcspHelper.java
 Sun Dec  2 09:07:41 2018
@@ -174,6 +174,24 @@ public class OcspHelper
 
             if (ocspResponderCertificate == null)
             {
+                // DO NOT use the certificate found in additionalCerts first. 
One file had a
+                // responder certificate in the PDF itself with SHA1withRSA 
algorithm, but
+                // the responder delivered a different (newer, more secure) 
certificate
+                // with SHA256withRSA (tried with QV_RCA1_RCA3_CPCPS_V4_11.pdf)
+                // 
https://www.quovadisglobal.com/~/media/Files/Repository/QV_RCA1_RCA3_CPCPS_V4_11.ashx
+                for (X509Certificate cert : additionalCerts)
+                {
+                    X500Name certSubjectName = new 
X500Name(cert.getSubjectX500Principal().getName());
+                    if (certSubjectName.equals(name))
+                    {
+                        ocspResponderCertificate = cert;
+                        break;
+                    }
+                }
+            }
+
+            if (ocspResponderCertificate == null)
+            {
                 throw new OCSPException("OCSP: certificate for responder " + 
name + " not found");
             }
 
@@ -244,9 +262,10 @@ public class OcspHelper
         {
             SHA1DigestCalculator digCalc = new SHA1DigestCalculator();
             SubjectPublicKeyInfo info = certHolder.getSubjectPublicKeyInfo();
-            OutputStream dgOut = digCalc.getOutputStream();
-            dgOut.write(info.getPublicKeyData().getBytes());
-            dgOut.close();
+            try (OutputStream dgOut = digCalc.getOutputStream())
+            {
+                dgOut.write(info.getPublicKeyData().getBytes());
+            }
             byte[] digest = digCalc.getDigest();
             if (Arrays.equals(keyHash, digest))
             {
@@ -283,23 +302,6 @@ public class OcspHelper
                 break;
             }
         }
-        if (ocspResponderCertificate == null)
-        {
-            // DO NOT use the certificate found in additionalCerts first. One 
file had a
-            // responder certificate in the PDF itself with SHA1withRSA 
algorithm, but
-            // the responder delivered a different (newer, more secure) 
certificate
-            // with SHA256withRSA (tried with QV_RCA1_RCA3_CPCPS_V4_11.pdf)
-            // 
https://www.quovadisglobal.com/~/media/Files/Repository/QV_RCA1_RCA3_CPCPS_V4_11.ashx
-            for (X509Certificate cert : additionalCerts)
-            {
-                X500Name certSubjectName = new 
X500Name(cert.getSubjectX500Principal().getName());
-                if (certSubjectName.equals(name))
-                {
-                    ocspResponderCertificate = cert;
-                    break;
-                }
-            }
-        }
     }
 
     private void checkOcspResponseFresh(SingleResp resp) throws OCSPException


Reply via email to