aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web
diff options
context:
space:
mode:
authorAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-06-25 13:10:41 +0200
committerAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-06-28 14:22:51 +0200
commit759f2277f9b6cf339d8fcc5631ea547855ab9e56 (patch)
treef88357ef218dd1b0037909b61d76c350730c1f69 /pdf-as-web
parent897664089ed6b3082d3dcca946533c83268a79bb (diff)
downloadpdf-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')
-rw-r--r--pdf-as-web/src/main/assembly/tomcat/setVariables.bat4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsParameterExtractor.java14
-rw-r--r--pdf-as-web/src/main/webapp/WEB-INF/web.xml17
-rw-r--r--pdf-as-web/src/main/webapp/index.jsp11
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="&#x2713;" />
<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>
<%
}
%>