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 2017/11/02 07:21:12 UTC

svn commit: r1814043 - /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java

Author: tilman
Date: Thu Nov  2 07:21:11 2017
New Revision: 1814043

URL: http://svn.apache.org/viewvc?rev=1814043&view=rev
Log:
PDFBOX-1848: show timestamp

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java?rev=1814043&r1=1814042&r2=1814043&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java Thu Nov  2 07:21:11 2017
@@ -47,6 +47,8 @@ import org.bouncycastle.cms.CMSSignedDat
 import org.bouncycastle.cms.SignerInformation;
 import org.bouncycastle.cms.jcajce.JcaSimpleSignerInfoVerifierBuilder;
 import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.tsp.TSPException;
+import org.bouncycastle.tsp.TimeStampToken;
 import org.bouncycastle.util.Store;
 import org.bouncycastle.util.StoreException;
 
@@ -74,10 +76,12 @@ public final class ShowSignature
      * @throws java.security.InvalidKeyException
      * @throws java.security.NoSuchProviderException
      * @throws java.security.SignatureException
+     * @throws org.bouncycastle.tsp.TSPException
      */
     public static void main(String[] args) throws IOException, CertificateException,
                                                   NoSuchAlgorithmException, InvalidKeyException, 
-                                                  NoSuchProviderException, SignatureException
+                                                  NoSuchProviderException, SignatureException,
+                                                  TSPException
     {
         ShowSignature show = new ShowSignature();
         show.showSignature( args );
@@ -85,7 +89,8 @@ public final class ShowSignature
 
     private void showSignature(String[] args) throws IOException, CertificateException,
                                                      NoSuchAlgorithmException, InvalidKeyException,
-                                                     NoSuchProviderException, SignatureException
+                                                     NoSuchProviderException, SignatureException,
+                                                     TSPException
     {
         if( args.length != 2 )
         {
@@ -184,6 +189,19 @@ public final class ShowSignature
                                 //TODO verify signature
                                 break;
                             }
+                            case "ETSI.RFC3161":
+                                TimeStampToken timeStampToken = new TimeStampToken(new CMSSignedData(contents.getBytes()));
+                                System.out.println("Time stamp gen time: " + timeStampToken.getTimeStampInfo().getGenTime());
+                                System.out.println("Time stamp tsa name: " + timeStampToken.getTimeStampInfo().getTsa().getName());
+                                
+                                CertificateFactory factory = CertificateFactory.getInstance("X.509");
+                                ByteArrayInputStream certStream = new ByteArrayInputStream(contents.getBytes());
+                                Collection<? extends Certificate> certs = factory.generateCertificates(certStream);
+                                System.out.println("certs=" + certs);
+
+                                //TODO verify signature
+                                break;
+
                             default:
                                 System.err.println("Unknown certificate type: " + subFilter);
                                 break;