/**
*
* May be {@link Constants#SIGNATURE_DEVICE_MOA} or * {@link Constants#SIGNATURE_DEVICE_BKU}. *
*/ protected String signatureDevice = Constants.SIGNATURE_DEVICE_MOA; /** * The mode of operation how the document is analyzed. * ** May be {@link Constants#VERIFY_MODE_BINARY_ONLY} to check the document for * binary signatures only (very fast). Or may be * {@link Constants#VERIFY_MODE_SEMI_CONSERVATIVE} to perform a semi * conservative (optimized) text and binary verification (slow). Or may be * {@link Constants#VERIFY_MODE_FULL_CONSERVATIVE} to perform a full * conservative text and binary verification (very slow). *
*/ protected String verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE; /** * The (zero based) index of the signature to verify. * ** This allows to verify only one found signature instead of all. {@link Constants#VERIFY_ALL} means to * verify all found signatures. *
*/ protected int signatureToVerify = Constants.VERIFY_ALL; /** * Allows to pass a VerificationTime to the verification device. * ** Note that the actual usage of this parameter depends on the verification device. *
*/ protected Date verificationTime = null; /** * Tells the signature device (e.g. MOA) to return the signature hash input * data (which is the probably transformed signed data). * ** Note that this forces MOA to return the potentially large signature data to * be returned in the result XML, which may result in very bad performance. *
*/ protected boolean returnHashInputData = false; protected boolean returnNonTextualObjects = false; private static ThreadLocal suppressVerifyExceptions = new ThreadLocal(); public VerifyParameters() { suppressVerifyExceptions.set(Boolean.FALSE); } /** * @return the document */ public DataSource getDocument() { return this.document; } /** * @param document * the document to set */ public void setDocument(DataSource document) { this.document = document; } /** * @return the signatureDevice */ public String getSignatureDevice() { return this.signatureDevice; } /** * @param signatureDevice * the signatureDevice to set */ public void setSignatureDevice(String signatureDevice) { this.signatureDevice = signatureDevice; } /** * @return the verifyMode */ public String getVerifyMode() { return this.verifyMode; } /** * @param verifyMode * the verifyMode to set */ public void setVerifyMode(String verifyMode) { this.verifyMode = verifyMode; } /** * @return the signatureToVerify */ public int getSignatureToVerify() { return this.signatureToVerify; } /** * @param signatureToVerify * the signatureToVerify to set */ public void setSignatureToVerify(int signatureToVerify) { this.signatureToVerify = signatureToVerify; } /** * @return the verificationTime */ public Date getVerificationTime() { return this.verificationTime; } /** * @param verificationTime * the verificationTime to set */ public void setVerificationTime(Date verificationTime) { this.verificationTime = verificationTime; } /** * @return the returnHashInputData */ public boolean isReturnHashInputData() { return this.returnHashInputData; } /** * @param returnHashInputData * the returnHashInputData to set */ public void setReturnHashInputData(boolean returnHashInputData) { this.returnHashInputData = returnHashInputData; } public boolean isReturnNonTextualObjects() { return this.returnNonTextualObjects; } /** * Tells if non text object of the signed pdf should be extracted and returned. * One should show this to the user, especially in case of textual signature. * Defaults to false * * @param returnNonTextualObjects */ 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) { setSuppressVerify(suppress); } /** * See {@link #setSuppressVerifyExceptions(boolean)} * @return */ public static boolean isSuppressVerifyExceptions() { if (suppressVerifyExceptions.get() == null) return false; return ((Boolean) suppressVerifyExceptions.get()).booleanValue(); } static void setSuppressVerify(boolean suppress) { suppressVerifyExceptions.set(new Boolean(suppress)); } }