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;