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
{