Author: tilman
Date: Mon Jan 20 11:05:43 2025
New Revision: 1923256

URL: http://svn.apache.org/viewvc?rev=1923256&view=rev
Log:
PDFBOX-5936:  refactor for future change, the list of potention issuers is 
already in getCertificateSet() result

Modified:
    
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java

Modified: 
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java?rev=1923256&r1=1923255&r2=1923256&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
 (original)
+++ 
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
 Mon Jan 20 11:05:43 2025
@@ -444,9 +444,9 @@ public class AddValidationInformation
             CertificateVerificationException, URISyntaxException
     {
         X509CRL crl = CRLVerifier.downloadCRLFromWeb(certInfo.getCrlUrl());
-        X509Certificate issuerCertificate = certInfo.getIssuerCertificate();
 
         // find the issuer certificate (usually issuer of signature 
certificate)
+        X509Certificate issuerCertificate = null;
         for (X509Certificate certificate : 
certInformationHelper.getCertificateSet())
         {
             if 
(certificate.getSubjectX500Principal().equals(crl.getIssuerX500Principal()))
@@ -455,6 +455,10 @@ public class AddValidationInformation
                 break;
             }
         }
+        if (issuerCertificate == null)
+        {
+            throw new CertificateVerificationException("Can't find issuer of 
CRL for " + certInfo.getCrlUrl());
+        }
         crl.verify(issuerCertificate.getPublicKey(), 
SecurityProvider.getProvider().getName());
         CRLVerifier.checkRevocation(crl, certInfo.getCertificate(), 
signDate.getTime(), certInfo.getCrlUrl());
         COSStream crlStream = writeDataToStream(crl.getEncoded());


Reply via email to