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/14 17:06:53 UTC
svn commit: r1869806 -
/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java
Author: tilman
Date: Thu Nov 14 17:06:53 2019
New Revision: 1869806
URL: http://svn.apache.org/viewvc?rev=1869806&view=rev
Log:
PDFBOX-3017: refactor previous commit
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java?rev=1869806&r1=1869805&r2=1869806&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationHelper.java Thu Nov 14 17:06:53 2019
@@ -112,29 +112,46 @@ public class CertInformationHelper
while (objects.hasMoreElements())
{
- DLSequence obj = (DLSequence) objects.nextElement();
-
- ASN1TaggedObject taggedObject = (ASN1TaggedObject) obj.getObjectAt(0);
- taggedObject = (ASN1TaggedObject) taggedObject.getObject();
- if (taggedObject.getObject() instanceof ASN1TaggedObject)
+ Object obj = objects.nextElement();
+ if (obj instanceof DLSequence)
{
- taggedObject = (ASN1TaggedObject) taggedObject.getObject();
+ String url = extractCrlUrlFromSequence((DLSequence) obj);
+ if (url != null)
+ {
+ return url;
+ }
}
- else if (taggedObject.getObject() instanceof ASN1Sequence)
+ }
+ return null;
+ }
+
+ private static String extractCrlUrlFromSequence(DLSequence sequence)
+ {
+ ASN1TaggedObject taggedObject = (ASN1TaggedObject) sequence.getObjectAt(0);
+ taggedObject = (ASN1TaggedObject) taggedObject.getObject();
+ 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();
+ if (seq.getObjectAt(0) instanceof ASN1TaggedObject)
{
- // 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
- continue;
+ return null;
}
+ }
+ else
+ {
+ return null;
+ }
+ if (taggedObject.getObject() instanceof ASN1OctetString)
+ {
ASN1OctetString uri = (ASN1OctetString) taggedObject.getObject();
String url = new String(uri.getOctets());
@@ -144,6 +161,7 @@ public class CertInformationHelper
return url;
}
}
+ // else happens with http://blogs.adobe.com/security/SampleSignedPDFDocument.pdf
return null;
}
-}
+}
\ No newline at end of file