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 2020/06/25 17:04:04 UTC

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

Author: tilman
Date: Thu Jun 25 17:04:04 2020
New Revision: 1879194

URL: http://svn.apache.org/viewvc?rev=1879194&view=rev
Log:
PDFBOX-3017: simplify code, avoid NPE

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

Modified: pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationCollector.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationCollector.java?rev=1879194&r1=1879193&r2=1879194&view=diff
==============================================================================
--- pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationCollector.java (original)
+++ pdfbox/branches/issue45/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationCollector.java Thu Jun 25 17:04:04 2020
@@ -36,6 +36,7 @@ import org.apache.pdfbox.examples.signat
 import org.apache.pdfbox.io.IOUtils;
 import org.apache.pdfbox.pdmodel.encryption.SecurityProvider;
 import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
+import org.bouncycastle.asn1.ASN1Encodable;
 import org.bouncycastle.asn1.ASN1Object;
 import org.bouncycastle.asn1.cms.Attribute;
 import org.bouncycastle.asn1.cms.AttributeTable;
@@ -140,10 +141,18 @@ public class CertInformationCollector
         {
             return;
         }
-        Attribute tsAttribute = signerInformation.getUnsignedAttributes()
+        Attribute tsAttribute = unsignedAttributes
                 .get(PKCSObjectIdentifiers.id_aa_signatureTimeStampToken);
-
-        ASN1Object tsSeq = (ASN1Object) tsAttribute.getAttrValues().getObjectAt(0);
+        if (tsAttribute == null)
+        {
+            return;
+        }
+        ASN1Encodable obj0 = tsAttribute.getAttrValues().getObjectAt(0);
+        if (!(obj0 instanceof ASN1Object))
+        {
+            return;
+        }
+        ASN1Object tsSeq = (ASN1Object) obj0;
 
         try
         {