diff options
author | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-06-25 13:10:41 +0200 |
---|---|---|
committer | Alexander Marsalek <amarsalek@iaik.tugraz.at> | 2021-06-28 14:22:51 +0200 |
commit | 759f2277f9b6cf339d8fcc5631ea547855ab9e56 (patch) | |
tree | f88357ef218dd1b0037909b61d76c350730c1f69 /pdf-as-web/src | |
parent | 897664089ed6b3082d3dcca946533c83268a79bb (diff) | |
download | pdf-as-4-759f2277f9b6cf339d8fcc5631ea547855ab9e56.tar.gz pdf-as-4-759f2277f9b6cf339d8fcc5631ea547855ab9e56.tar.bz2 pdf-as-4-759f2277f9b6cf339d8fcc5631ea547855ab9e56.zip |
seems to work on most systems ..
Diffstat (limited to 'pdf-as-web/src')
4 files changed, 37 insertions, 9 deletions
diff --git a/pdf-as-web/src/main/assembly/tomcat/setVariables.bat b/pdf-as-web/src/main/assembly/tomcat/setVariables.bat index 606f84e1..57bd2f9a 100644 --- a/pdf-as-web/src/main/assembly/tomcat/setVariables.bat +++ b/pdf-as-web/src/main/assembly/tomcat/setVariables.bat @@ -59,10 +59,10 @@ rem Maximum PermGenSize in M set JVM_MAXPERMSIZE=256
rem COMMAND LINE OPTIONS
-set JAVA_OPTS=-server -Xss%JVM_XSS%k -Xms%JVM_XMS%m -Xmx%JVM_XMX%m -XX:MaxPermSize=%JVM_MAXPERMSIZE%m
+set JAVA_OPTS=-server -Xss%JVM_XSS%k -Xms%JVM_XMS%m -Xmx%JVM_XMX%m -XX:MaxPermSize=%JVM_MAXPERMSIZE%m -Dfile.encoding=UTF8
set CATALINA_OPTS=%PDFAS_WORK_DIR_PARAM%
rem SERVICE OPTIONS
-set SERVICE_OPTS=%PDFAS_WORK_DIR_PARAM%;-XX:MaxPermSize=%JVM_MAXPERMSIZE%m
+set SERVICE_OPTS=%PDFAS_WORK_DIR_PARAM%;-XX:MaxPermSize=%JVM_MAXPERMSIZE%m -Dfile.encoding=UTF8
:END
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java index 00ca9446..31fbf46d 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java @@ -23,6 +23,7 @@ ******************************************************************************/ package at.gv.egiz.pdfas.web.helper; +import java.nio.charset.Charset; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -31,6 +32,8 @@ import javax.servlet.http.HttpServletRequest; import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter.SignatureVerificationLevel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class PdfAsParameterExtractor { @@ -76,6 +79,9 @@ public class PdfAsParameterExtractor { public static final String PARAM_QRCODE_CONTENT = "qrcontent"; public static final String PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER = "sbp:"; + private static final Logger logger = LoggerFactory + .getLogger(PdfAsParameterExtractor.class); + public static String getConnector(HttpServletRequest request) { String connector = (String)request.getAttribute(PARAM_CONNECTOR); if(connector != null) { @@ -86,15 +92,19 @@ public class PdfAsParameterExtractor { public static Map<String,String> getDynamicSignatureBlockParameters(HttpServletRequest request) throws Exception { HashMap<String, String> signatureBlockParametersMap = new HashMap<String, String>(); - + logger.debug("Default charset:"+ Charset.defaultCharset()); + logger.debug("Request charset:"+ request.getCharacterEncoding()); + Enumeration<String> parameterNames = request.getAttributeNames(); while(parameterNames.hasMoreElements()) { String parameterName = parameterNames.nextElement(); if (parameterName.startsWith(PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER)) { String key = parameterName.substring(PARAM_DYNAMIC_SIGNATURE_BLOCK_PARAMETER.length()); String value = (String) request.getAttribute(parameterName); - if(value != null && !value.isEmpty()) + if(value != null && !value.isEmpty()){ signatureBlockParametersMap.put(key, value); + logger.debug("Setting key "+ key +" to "+ value ); + } } } return signatureBlockParametersMap; diff --git a/pdf-as-web/src/main/webapp/WEB-INF/web.xml b/pdf-as-web/src/main/webapp/WEB-INF/web.xml index 9b69c983..7920ad91 100644 --- a/pdf-as-web/src/main/webapp/WEB-INF/web.xml +++ b/pdf-as-web/src/main/webapp/WEB-INF/web.xml @@ -31,7 +31,22 @@ <param-value>*</param-value> </init-param> </filter> - + <!-- A filter that sets character encoding that is used to decode --> + <!-- parameters in a POST request --> + <filter> + <filter-name>setCharacterEncodingFilter</filter-name> + <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> + <init-param> + <param-name>encoding</param-name> + <param-value>UTF-8</param-value> + </init-param> + </filter> + + <!-- The mapping for the Set Character Encoding Filter --> + <filter-mapping> + <filter-name>setCharacterEncodingFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> <!-- filter-mapping> <filter-name>sitemesh</filter-name> diff --git a/pdf-as-web/src/main/webapp/index.jsp b/pdf-as-web/src/main/webapp/index.jsp index a52d1361..bbf608b0 100644 --- a/pdf-as-web/src/main/webapp/index.jsp +++ b/pdf-as-web/src/main/webapp/index.jsp @@ -2,17 +2,20 @@ <%@page import="at.gv.egiz.pdfas.web.helper.PdfAsHelper"%> <html> <head> -<title>PDF-Signatur</title> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <title>PDF-Signatur</title> </head> <body> - <form action="Sign" method="POST" - enctype="multipart/form-data"> + +<form action="Sign" method="POST" enctype="multipart/form-data" > + + <input name="utf8" type="hidden" value="✓" /> <input type="hidden" name="source" id="source" value="internal" /> <input type="file" name="pdf-file" id="pdf-file" accept="application/pdf"> <% if (request.getAttribute("FILEERR") != null) { %> - <p>Bitte die zu signierende PDF Datei angeben.</p> + <p>Bitte die zu signierende PDF Datei angeben. öäüÖÄÜ</p> <% } %> |