aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-12-09 13:45:33 +0000
committerpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-12-09 13:45:33 +0000
commitdadb912a6d38ced2e7f29957ff6b50a017d2e223 (patch)
treea4e35cb028ec83c60fded14090a859588bae183d
parent72910ebd1b66ceb10b90ad9fe1741c9df67d0e33 (diff)
downloadpdf-as-3-dadb912a6d38ced2e7f29957ff6b50a017d2e223.tar.gz
pdf-as-3-dadb912a6d38ced2e7f29957ff6b50a017d2e223.tar.bz2
pdf-as-3-dadb912a6d38ced2e7f29957ff6b50a017d2e223.zip
moved suppress_validate_exceptions to verifyparameters
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@698 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java25
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java13
2 files changed, 27 insertions, 11 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java b/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java
index 793764b..9cc86a7 100644
--- a/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java
+++ b/src/main/java/at/gv/egiz/pdfas/api/verify/VerifyParameters.java
@@ -79,7 +79,13 @@ public class VerifyParameters
protected boolean returnHashInputData = false;
protected boolean returnNonTextualObjects = false;
+
+ private static ThreadLocal suppressVerifyExceptions = new ThreadLocal();
+
+ public VerifyParameters() {
+ suppressVerifyExceptions.set(Boolean.FALSE);
+ }
/**
* @return the document
*/
@@ -196,6 +202,25 @@ public class VerifyParameters
public void setReturnNonTextualObjects(boolean returnNonTextualObjects) {
this.returnNonTextualObjects = returnNonTextualObjects;
}
+
+ /**
+ * Set if verify exceptions (because of unknown signatures) are suppressed or not (default).
+ * Suppressing can be helpful for multiple signatures if you want to verify the working rest. Unsupported
+ * Signatures are reported without throwing an exception via {@link VerifyResult#getVerificationException()}
+ * @param suppress
+ */
+ public void setSuppressVerifyExceptions(boolean suppress) {
+ suppressVerifyExceptions.set(new Boolean(suppress));
+ }
+
+ /**
+ * See {@link #setSuppressVerifyExceptions(boolean)}
+ * @return
+ */
+ public static boolean isSuppressVerifyExceptions() {
+ if (suppressVerifyExceptions.get() == null) return false;
+ return ((Boolean) suppressVerifyExceptions.get()).booleanValue();
+ }
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
index 6d5e399..dca71ba 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java
@@ -34,6 +34,7 @@ import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfileImpl;
import at.gv.egiz.pdfas.api.commons.SignatureInformation;
import at.gv.egiz.pdfas.api.timestamp.TimeStamper;
+import at.gv.egiz.pdfas.api.verify.VerifyParameters;
import at.gv.egiz.pdfas.api.xmldsig.ExtendedSignatureInformation;
import at.gv.egiz.pdfas.api.xmldsig.XMLDsigData;
import at.gv.egiz.pdfas.commandline.CommandlineConnectorChooser;
@@ -922,7 +923,7 @@ public abstract class PdfAS
try {
return c.doVerify(sd, so, dsig);
} catch (ConnectorException e) {
- if (suppressVerifyException()) {
+ if (VerifyParameters.isSuppressVerifyExceptions()) {
res = new SignatureResponse();
res.setVerificationImpossibleEx(e);
} else {
@@ -932,16 +933,6 @@ public abstract class PdfAS
return res;
}
- private static boolean suppressVerifyException() {
- String propKey = "suppress_validate_exceptions";
- try {
- return SettingsReader.getInstance().getSetting(propKey).equalsIgnoreCase("true");
- } catch (Exception e) {
- log.debug("'" + propKey + "' property not found, using default value 'false'");
- return false;
- }
- }
-
public static SignatureResponse verifyWeb(SignatureHolder signature_holder, String connector, String loc_ref) throws NormalizeException, PDFDocumentException, SignatureException, ConnectorException
{
// String text_to_be_verified = signature_holder.getSignedText();