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 2019/11/13 20:37:07 UTC

svn commit: r1869769 - /pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java

Author: tilman
Date: Wed Nov 13 20:37:07 2019
New Revision: 1869769

URL: http://svn.apache.org/viewvc?rev=1869769&view=rev
Log:
PDFBOX-3017: support multiple CRL URLs

Modified:
    pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java

Modified: pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java?rev=1869769&r1=1869768&r2=1869769&view=diff
==============================================================================
--- pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java (original)
+++ pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java Wed Nov 13 20:37:07 2019
@@ -116,7 +116,20 @@ public class CertInformationHelper
 
             ASN1TaggedObject taggedObject = (ASN1TaggedObject) obj.getObjectAt(0);
             taggedObject = (ASN1TaggedObject) taggedObject.getObject();
-            taggedObject = (ASN1TaggedObject) taggedObject.getObject(); // yes stmt is twice
+            if (taggedObject.getObject() instanceof ASN1TaggedObject)
+            {
+                taggedObject = (ASN1TaggedObject) taggedObject.getObject();
+            }
+            else if (taggedObject.getObject() instanceof ASN1Sequence)
+            {
+                // multiple URLs (we take the first)
+                ASN1Sequence seq = (ASN1Sequence) taggedObject.getObject();
+                taggedObject = (ASN1TaggedObject) seq.getObjectAt(0);
+            }
+            else
+            {
+                continue;
+            }
             if (!(taggedObject.getObject() instanceof ASN1OctetString))
             {
                 // happens with http://blogs.adobe.com/security/SampleSignedPDFDocument.pdf
@@ -124,7 +137,6 @@ public class CertInformationHelper
             }
             ASN1OctetString uri = (ASN1OctetString) taggedObject.getObject();
             String url = new String(uri.getOctets());
-            // TODO Check for: DistributionPoint ::= SEQUENCE (see RFC 2459), multiples can be possible.
 
             // return first http(s)-Url for crl
             if (url.startsWith("http"))