From dadb912a6d38ced2e7f29957ff6b50a017d2e223 Mon Sep 17 00:00:00 2001 From: pdanner Date: Thu, 9 Dec 2010 13:45:33 +0000 Subject: moved suppress_validate_exceptions to verifyparameters git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@698 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../gv/egiz/pdfas/api/verify/VerifyParameters.java | 25 ++++++++++++++++++++++ .../java/at/knowcenter/wag/egov/egiz/PdfAS.java | 13 ++--------- 2 files changed, 27 insertions(+), 11 deletions(-) (limited to 'src/main/java') 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(); -- cgit v1.2.3