[poppler] Branch 'signatureHandling' - 4 commits - utils/CMakeLists.txt utils/Makefile.am utils/pdfdetach.1 utils/pdffonts.1 utils/pdfimages.1 utils/pdfinfo.1 utils/pdfseparate.1 utils/pdfsig.1 utils/pdfsig.cc utils/pdfsigverify.cc utils/pdftocairo.1 utils/pdftohtml.1 utils/pdftoppm.1 utils/pdftops.1 utils/pdftotext.1 utils/pdfunite.1

Adrian Johnson ajohnson at kemper.freedesktop.org
Wed Oct 28 03:26:48 PDT 2015


 utils/CMakeLists.txt  |   12 +--
 utils/Makefile.am     |    6 -
 utils/pdfdetach.1     |    5 +
 utils/pdffonts.1      |    3 
 utils/pdfimages.1     |    5 +
 utils/pdfinfo.1       |    3 
 utils/pdfseparate.1   |   10 ++
 utils/pdfsig.1        |   46 +++++++++++++
 utils/pdfsig.cc       |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++
 utils/pdfsigverify.cc |  173 -------------------------------------------------
 utils/pdftocairo.1    |    3 
 utils/pdftohtml.1     |    3 
 utils/pdftoppm.1      |    3 
 utils/pdftops.1       |    3 
 utils/pdftotext.1     |    5 +
 utils/pdfunite.1      |   10 ++
 16 files changed, 281 insertions(+), 185 deletions(-)

New commits:
commit 298caa2fc52cf50e92e1afda39b77b11f2de9743
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Wed Oct 28 20:54:43 2015 +1030

    Add pdfsig reference (and other missing utils) to man pages

diff --git a/utils/pdfdetach.1 b/utils/pdfdetach.1
index 2bba58b..ff71431 100644
--- a/utils/pdfdetach.1
+++ b/utils/pdfdetach.1
@@ -76,11 +76,14 @@ Other error.
 The pdfinfo software and documentation are copyright 1996-2011 Glyph &
 Cog, LLC.
 .SH "SEE ALSO"
-.BR pdfimages (1),
 .BR pdffonts (1),
+.BR pdfimages (1),
 .BR pdfinfo (1),
 .BR pdftocairo (1),
 .BR pdftohtml (1),
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdffonts.1 b/utils/pdffonts.1
index 4afc395..b44600c 100644
--- a/utils/pdffonts.1
+++ b/utils/pdffonts.1
@@ -117,3 +117,6 @@ The pdffonts software and documentation are copyright 1996-2011 Glyph
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdfimages.1 b/utils/pdfimages.1
index 8485f3d..c10e331 100644
--- a/utils/pdfimages.1
+++ b/utils/pdfimages.1
@@ -250,7 +250,7 @@ Other error.
 The pdfimages software and documentation are copyright 1998-2011 Glyph
 & Cog, LLC.
 .SH "SEE ALSO"
-.BR pdfdetach (1)
+.BR pdfdetach (1),
 .BR pdffonts (1),
 .BR pdfinfo (1),
 .BR pdftocairo (1),
@@ -258,3 +258,6 @@ The pdfimages software and documentation are copyright 1998-2011 Glyph
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdfinfo.1 b/utils/pdfinfo.1
index 1dd7466..c82e9bd 100644
--- a/utils/pdfinfo.1
+++ b/utils/pdfinfo.1
@@ -150,3 +150,6 @@ Cog, LLC.
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdfseparate.1 b/utils/pdfseparate.1
index 07779a1..8b2a054 100644
--- a/utils/pdfseparate.1
+++ b/utils/pdfseparate.1
@@ -46,4 +46,14 @@ sample-1.pdf, sample-2.pdf, sample-3.pdf
 The pdfseparate software and documentation are copyright 1996-2004 Glyph
 & Cog, LLC and copyright 2005-2011 The Poppler Developers - http://poppler.freedesktop.org
 .SH "SEE ALSO"
+.BR pdfdetach (1),
+.BR pdffonts (1),
+.BR pdfimages (1),
+.BR pdfinfo (1),
+.BR pdftocairo (1),
+.BR pdftohtml (1),
+.BR pdftoppm (1),
+.BR pdftops (1),
+.BR pdftotext (1)
+.BR pdfsig (1),
 .BR pdfunite (1),
diff --git a/utils/pdftocairo.1 b/utils/pdftocairo.1
index 7575cab..ac112e5 100644
--- a/utils/pdftocairo.1
+++ b/utils/pdftocairo.1
@@ -293,3 +293,6 @@ The pdftocairo software and documentation are copyright 1996-2004 Glyph
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdftohtml.1 b/utils/pdftohtml.1
index e179070..76ded91 100644
--- a/utils/pdftohtml.1
+++ b/utils/pdftohtml.1
@@ -105,3 +105,6 @@ for the Debian GNU/Linux system (but may be used by others).
 .BR pdftoppm (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdftoppm.1 b/utils/pdftoppm.1
index 7f88b6d..e30174b 100644
--- a/utils/pdftoppm.1
+++ b/utils/pdftoppm.1
@@ -168,3 +168,6 @@ The pdftoppm software and documentation are copyright 1996-2011 Glyph
 .BR pdftohtml (1),
 .BR pdftops (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdftops.1 b/utils/pdftops.1
index acaec99..2154773 100644
--- a/utils/pdftops.1
+++ b/utils/pdftops.1
@@ -232,3 +232,6 @@ Cog, LLC.
 .BR pdftohtml (1),
 .BR pdftoppm (1),
 .BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdftotext.1 b/utils/pdftotext.1
index b53f82f..4fe4848 100644
--- a/utils/pdftotext.1
+++ b/utils/pdftotext.1
@@ -138,4 +138,7 @@ The pdftotext software and documentation are copyright 1996-2011 Glyph
 .BR pdftocairo (1),
 .BR pdftohtml (1),
 .BR pdftoppm (1),
-.BR pdftops (1)
+.BR pdftops (1),
+.BR pdfseparate (1),
+.BR pdfsig (1),
+.BR pdfunite (1),
diff --git a/utils/pdfunite.1 b/utils/pdfunite.1
index 9b1f2e8..d00b4cd 100644
--- a/utils/pdfunite.1
+++ b/utils/pdfunite.1
@@ -30,4 +30,14 @@ merges all pages from sample1.pdf and sample2.pdf (in that order) and creates sa
 The pdfunite software and documentation are copyright 1996-2004 Glyph & Cog, LLC
 and copyright 2005-2011 The Poppler Developers - http://poppler.freedesktop.org
 .SH "SEE ALSO"
+.BR pdfdetach (1),
+.BR pdffonts (1),
+.BR pdfimages (1),
+.BR pdfinfo (1),
+.BR pdftocairo (1),
+.BR pdftohtml (1),
+.BR pdftoppm (1),
+.BR pdftops (1),
+.BR pdftotext (1)
 .BR pdfseparate (1),
+.BR pdfsig (1),
commit 5a6d6f5ec8782bb69a5805d8d8379a33aa00edec
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Wed Oct 28 20:54:23 2015 +1030

    Add pdfsig man page

diff --git a/utils/pdfsig.1 b/utils/pdfsig.1
new file mode 100644
index 0000000..5f9894e
--- /dev/null
+++ b/utils/pdfsig.1
@@ -0,0 +1,46 @@
+.\" Copyright 2011 The Poppler Developers - http://poppler.freedesktop.org
+.TH pdfsig 1 "28 October 2015"
+.SH NAME
+pdfsig \- Portable Document Format (PDF) digitial signatures tool
+.SH SYNOPSIS
+.B pdfsig
+[options]
+.RI [ PDF-file ]
+.SH DESCRIPTION
+.B pdfsig
+verifies the digital signature in a PDF document.
+.PP
+Certificates are searched for in the following locations:
+.IP \(bu
+The NSS Certificate database in the default Firefox profile.
+.IP \(bu
+The NSS Certificate database in /etc/pki/nssdb.
+.SH OPTIONS
+.TP
+.B \-nocert
+Do not validate the certificate.
+.TP
+.B \-v
+Print copyright and version information.
+.TP
+.B \-h
+Print usage information.
+.RB ( \-help
+and
+.B \-\-help
+are equivalent.)
+.SH AUTHOR
+The pdfsig software and documentation are copyright 1996-2004 Glyph & Cog, LLC
+and copyright 2005-2015 The Poppler Developers - http://poppler.freedesktop.org
+.SH "SEE ALSO"
+.BR pdfdetach (1),
+.BR pdffonts (1),
+.BR pdfimages (1),
+.BR pdfinfo (1),
+.BR pdftocairo (1),
+.BR pdftohtml (1),
+.BR pdftoppm (1),
+.BR pdftops (1),
+.BR pdftotext (1)
+.BR pdfseparate (1),
+.BR pdfunite (1),
commit 1f8e1a029773cefe0c31357c1e450cc4ecd5a5b5
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Wed Oct 28 19:38:14 2015 +1030

    pdfsig: rename -c to -nocert
    
    and make help options consistent with other tools (add -? and list
    help options last)

diff --git a/utils/pdfsig.cc b/utils/pdfsig.cc
index 88abcdc..6762c37 100644
--- a/utils/pdfsig.cc
+++ b/utils/pdfsig.cc
@@ -89,14 +89,17 @@ static GBool printHelp = gFalse;
 static GBool dontVerifyCert = gFalse;
 
 static const ArgDesc argDesc[] = {
+  {"-nocert", argFlag,     &dontVerifyCert,     0,
+   "don't perform certificate validation"},
+
   {"-v",      argFlag,     &printVersion,  0,
    "print copyright and version info"},
   {"-h",      argFlag,     &printHelp,     0,
    "print usage information"},
   {"-help",   argFlag,     &printHelp,     0,
    "print usage information"},
-  {"-c",      argFlag,     &dontVerifyCert,     0,
-   "don't perform certificate validation"},
+  {"-?",      argFlag,     &printHelp,     0,
+   "print usage information"},
   {NULL}
 };
 
commit 9d5bf425bd82dda303362380c488559be0007d78
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Wed Oct 28 19:34:26 2015 +1030

    rename pdfsigverify to pdfsig

diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 8155cb2..af81161 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -90,13 +90,13 @@ install(TARGETS pdfinfo DESTINATION bin)
 install(FILES pdfinfo.1 DESTINATION ${SHARE_INSTALL_DIR}/man/man1)
 
 if (ENABLE_NSS3)
-  # pdfsigverify
-  set(pdfsigverify_SOURCES ${common_srcs}
-    pdfsigverify.cc
+  # pdfsig
+  set(pdfsig_SOURCES ${common_srcs}
+    pdfsig.cc
   )
-  add_executable(pdfsigverify ${pdfsigverify_SOURCES})
-  target_link_libraries(pdfsigverify ${common_libs})
-  install(TARGETS pdfsigverify DESTINATION bin)
+  add_executable(pdfsig ${pdfsig_SOURCES})
+  target_link_libraries(pdfsig ${common_libs})
+  install(TARGETS pdfsig DESTINATION bin)
 endif (ENABLE_NSS3)
 
 # pdftops
diff --git a/utils/Makefile.am b/utils/Makefile.am
index 2ddcca0..8ea0b85 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -26,7 +26,7 @@ bin_PROGRAMS =					\
 	pdfunite
 
 if BUILD_NSS
-bin_PROGRAMS += pdfsigverify
+bin_PROGRAMS += pdfsig
 endif
 
 if BUILD_SPLASH_OUTPUT
@@ -64,8 +64,8 @@ pdfdetach_SOURCES =				\
 pdffonts_SOURCES =				\
 	pdffonts.cc
 
-pdfsigverify_SOURCES =				\
-	pdfsigverify.cc
+pdfsig_SOURCES =				\
+	pdfsig.cc
 
 pdfimages_SOURCES =				\
 	pdfimages.cc				\
diff --git a/utils/pdfsig.cc b/utils/pdfsig.cc
new file mode 100644
index 0000000..88abcdc
--- /dev/null
+++ b/utils/pdfsig.cc
@@ -0,0 +1,173 @@
+//========================================================================
+//
+// pdfsig.cc
+//
+// This file is licensed under the GPLv2 or later
+//
+// Copyright 2015 André Guerreiro <aguerreiro1985 at gmail.com>
+// Copyright 2015 André Esser <bepandre at hotmail.com>
+// Copyright 2015 Albert Astals Cid <aacid at kde.org>
+//
+//========================================================================
+
+#include "config.h"
+#include <poppler-config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <time.h>
+#include "parseargs.h"
+#include "Object.h"
+#include "Array.h"
+#include "Page.h"
+#include "PDFDoc.h"
+#include "PDFDocFactory.h"
+#include "Error.h"
+#include "GlobalParams.h"
+#include "SignatureInfo.h"
+
+
+const char * getReadableSigState(SignatureValidationStatus sig_vs)
+{
+  switch(sig_vs) {
+    case SIGNATURE_VALID:
+      return "Signature is Valid.";
+
+    case SIGNATURE_INVALID:
+      return "Signature is Invalid.";
+
+    case SIGNATURE_DIGEST_MISMATCH:
+      return "Digest Mismatch.";
+
+    case SIGNATURE_DECODING_ERROR:
+      return "Document isn't signed or corrupted data.";
+
+    case SIGNATURE_NOT_VERIFIED:
+      return "Signature has not yet been verified.";
+
+    default:
+      return "Unknown Validation Failure.";
+  }
+}
+
+const char * getReadableCertState(CertificateValidationStatus cert_vs)
+{
+  switch(cert_vs) {
+    case CERTIFICATE_TRUSTED:
+      return "Certificate is Trusted.";
+
+    case CERTIFICATE_UNTRUSTED_ISSUER:
+      return "Certificate issuer isn't Trusted.";
+
+    case CERTIFICATE_UNKNOWN_ISSUER:
+      return "Certificate issuer is unknown.";
+
+    case CERTIFICATE_REVOKED:
+      return "Certificate has been Revoked.";
+
+    case CERTIFICATE_EXPIRED:
+      return "Certificate has Expired";
+
+    case CERTIFICATE_NOT_VERIFIED:
+      return "Certificate has not yet been verified.";
+
+    default:
+      return "Unknown issue with Certificate or corrupted data.";
+  }
+}
+
+char *getReadableTime(time_t unix_time)
+{
+  char * time_str = (char *) gmalloc(64);
+  strftime(time_str, 64, "%b %d %Y %H:%M:%S", localtime(&unix_time));
+  return time_str;
+}
+
+static GBool printVersion = gFalse;
+static GBool printHelp = gFalse;
+static GBool dontVerifyCert = gFalse;
+
+static const ArgDesc argDesc[] = {
+  {"-v",      argFlag,     &printVersion,  0,
+   "print copyright and version info"},
+  {"-h",      argFlag,     &printHelp,     0,
+   "print usage information"},
+  {"-help",   argFlag,     &printHelp,     0,
+   "print usage information"},
+  {"-c",      argFlag,     &dontVerifyCert,     0,
+   "don't perform certificate validation"},
+  {NULL}
+};
+
+
+int main(int argc, char *argv[])
+{
+  PDFDoc *doc = NULL;
+  unsigned int sigCount;
+  GooString * fileName = NULL;
+  SignatureInfo *sig_info = NULL;
+  char *time_str = NULL;
+  std::vector<FormWidgetSignature*> sig_widgets;
+  globalParams = new GlobalParams();
+
+  int exitCode = 99;
+  GBool ok;
+
+  ok = parseArgs(argDesc, &argc, argv);
+
+  if (!ok || argc != 2 || printVersion || printHelp) {
+    fprintf(stderr, "pdfsig version %s\n", PACKAGE_VERSION);
+    fprintf(stderr, "%s\n", popplerCopyright);
+    fprintf(stderr, "%s\n", xpdfCopyright);
+    if (!printVersion) {
+      printUsage("pdfsig", "<PDF-file>", argDesc);
+    }
+    if (printVersion || printHelp)
+      exitCode = 0;
+    goto end;
+  }
+
+  fileName = new GooString(argv[argc - 1]);
+
+  // open PDF file
+  doc = PDFDocFactory().createPDFDoc(*fileName, NULL, NULL);
+
+  if (!doc->isOk()) {
+    exitCode = 1;
+    goto end;
+  }
+
+  sig_widgets = doc->getSignatureWidgets();
+  sigCount = sig_widgets.size();
+
+  if (sigCount >= 1) {
+    printf("Digital Signature Info of: %s\n", fileName->getCString());
+  } else {
+    printf("File '%s' does not contain any signatures\n", fileName->getCString());
+    exitCode = 2;
+    goto end;
+  }
+
+  for (unsigned int i = 0; i < sigCount; i++) {
+    sig_info = sig_widgets.at(i)->validateSignature(!dontVerifyCert, false);
+    printf("Signature #%d:\n", i+1);
+    printf("  - Signer Certificate Common Name: %s\n", sig_info->getSignerName());
+    printf("  - Signing Time: %s\n", time_str = getReadableTime(sig_info->getSigningTime()));
+    printf("  - Signature Validation: %s\n", getReadableSigState(sig_info->getSignatureValStatus()));
+    gfree(time_str);
+    if (sig_info->getSignatureValStatus() != SIGNATURE_VALID || dontVerifyCert) {
+      continue;
+    }
+    printf("  - Certificate Validation: %s\n", getReadableCertState(sig_info->getCertificateValStatus()));
+  }
+
+  exitCode = 0;
+
+end:
+  delete globalParams;
+  delete fileName;
+  delete doc;
+
+  return exitCode;
+}
diff --git a/utils/pdfsigverify.cc b/utils/pdfsigverify.cc
deleted file mode 100644
index a9a801d..0000000
--- a/utils/pdfsigverify.cc
+++ /dev/null
@@ -1,173 +0,0 @@
-//========================================================================
-//
-// pdfsigverify.cc
-//
-// This file is licensed under the GPLv2 or later
-//
-// Copyright 2015 André Guerreiro <aguerreiro1985 at gmail.com>
-// Copyright 2015 André Esser <bepandre at hotmail.com>
-// Copyright 2015 Albert Astals Cid <aacid at kde.org>
-//
-//========================================================================
-
-#include "config.h"
-#include <poppler-config.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <string.h>
-#include <time.h>
-#include "parseargs.h"
-#include "Object.h"
-#include "Array.h"
-#include "Page.h"
-#include "PDFDoc.h"
-#include "PDFDocFactory.h"
-#include "Error.h"
-#include "GlobalParams.h"
-#include "SignatureInfo.h"
-
-
-const char * getReadableSigState(SignatureValidationStatus sig_vs)
-{
-  switch(sig_vs) {
-    case SIGNATURE_VALID:
-      return "Signature is Valid.";
-
-    case SIGNATURE_INVALID:
-      return "Signature is Invalid.";
-
-    case SIGNATURE_DIGEST_MISMATCH:
-      return "Digest Mismatch.";
-
-    case SIGNATURE_DECODING_ERROR:
-      return "Document isn't signed or corrupted data.";
-
-    case SIGNATURE_NOT_VERIFIED:
-      return "Signature has not yet been verified.";
-
-    default:
-      return "Unknown Validation Failure.";
-  }
-}
-
-const char * getReadableCertState(CertificateValidationStatus cert_vs)
-{
-  switch(cert_vs) {
-    case CERTIFICATE_TRUSTED:
-      return "Certificate is Trusted.";
-
-    case CERTIFICATE_UNTRUSTED_ISSUER:
-      return "Certificate issuer isn't Trusted.";
-
-    case CERTIFICATE_UNKNOWN_ISSUER:
-      return "Certificate issuer is unknown.";
-
-    case CERTIFICATE_REVOKED:
-      return "Certificate has been Revoked.";
-
-    case CERTIFICATE_EXPIRED:
-      return "Certificate has Expired";
-
-    case CERTIFICATE_NOT_VERIFIED:
-      return "Certificate has not yet been verified.";
-
-    default:
-      return "Unknown issue with Certificate or corrupted data.";
-  }
-}
-
-char *getReadableTime(time_t unix_time)
-{
-  char * time_str = (char *) gmalloc(64);
-  strftime(time_str, 64, "%b %d %Y %H:%M:%S", localtime(&unix_time));
-  return time_str;
-}
-
-static GBool printVersion = gFalse;
-static GBool printHelp = gFalse;
-static GBool dontVerifyCert = gFalse;
-
-static const ArgDesc argDesc[] = {
-  {"-v",      argFlag,     &printVersion,  0,
-   "print copyright and version info"},
-  {"-h",      argFlag,     &printHelp,     0,
-   "print usage information"},
-  {"-help",   argFlag,     &printHelp,     0,
-   "print usage information"},
-  {"-c",      argFlag,     &dontVerifyCert,     0,
-   "don't perform certificate validation"},
-  {NULL}
-};
-
-
-int main(int argc, char *argv[])
-{
-  PDFDoc *doc = NULL;
-  unsigned int sigCount;
-  GooString * fileName = NULL;
-  SignatureInfo *sig_info = NULL;
-  char *time_str = NULL;
-  std::vector<FormWidgetSignature*> sig_widgets;
-  globalParams = new GlobalParams();
-
-  int exitCode = 99;
-  GBool ok;
-
-  ok = parseArgs(argDesc, &argc, argv);
-
-  if (!ok || argc != 2 || printVersion || printHelp) {
-    fprintf(stderr, "pdfsigverify version %s\n", PACKAGE_VERSION);
-    fprintf(stderr, "%s\n", popplerCopyright);
-    fprintf(stderr, "%s\n", xpdfCopyright);
-    if (!printVersion) {
-      printUsage("pdfsigverify", "<PDF-file>", argDesc);
-    }
-    if (printVersion || printHelp)
-      exitCode = 0;
-    goto end;
-  }
-
-  fileName = new GooString(argv[argc - 1]);
-
-  // open PDF file
-  doc = PDFDocFactory().createPDFDoc(*fileName, NULL, NULL);
-
-  if (!doc->isOk()) {
-    exitCode = 1;
-    goto end;
-  }
-
-  sig_widgets = doc->getSignatureWidgets();
-  sigCount = sig_widgets.size();
-
-  if (sigCount >= 1) {
-    printf("Digital Signature Info of: %s\n", fileName->getCString());
-  } else {
-    printf("File '%s' does not contain any signatures\n", fileName->getCString());
-    exitCode = 2;
-    goto end;
-  }
-
-  for (unsigned int i = 0; i < sigCount; i++) {
-    sig_info = sig_widgets.at(i)->validateSignature(!dontVerifyCert, false);
-    printf("Signature #%d:\n", i+1);
-    printf("  - Signer Certificate Common Name: %s\n", sig_info->getSignerName());
-    printf("  - Signing Time: %s\n", time_str = getReadableTime(sig_info->getSigningTime()));
-    printf("  - Signature Validation: %s\n", getReadableSigState(sig_info->getSignatureValStatus()));
-    gfree(time_str);
-    if (sig_info->getSignatureValStatus() != SIGNATURE_VALID || dontVerifyCert) {
-      continue;
-    }
-    printf("  - Certificate Validation: %s\n", getReadableCertState(sig_info->getCertificateValStatus()));
-  }
-
-  exitCode = 0;
-
-end:
-  delete globalParams;
-  delete fileName;
-  delete doc;
-
-  return exitCode;
-}


More information about the poppler mailing list