Author: tilman
Date: Mon Jan 20 11:05:39 2025
New Revision: 1923255

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

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

Modified: 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java?rev=1923255&r1=1923254&r2=1923255&view=diff
==============================================================================
--- 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
 (original)
+++ 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java
 Mon Jan 20 11:05:39 2025
@@ -495,9 +495,9 @@ public class AddValidationInformation
             CertificateVerificationException
     {
         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()))
@@ -506,6 +506,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