aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java4
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java14
2 files changed, 14 insertions, 4 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
index 210a3cc3..ce5501c1 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
@@ -103,7 +103,7 @@ public class ExternSignServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- // PdfAsHelper.regenerateSession(request);
+ PdfAsHelper.regenerateSession(request);
logger.debug("Get signing request");
@@ -156,7 +156,7 @@ public class ExternSignServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- // PdfAsHelper.regenerateSession(request);
+ PdfAsHelper.regenerateSession(request);
logger.debug("Post signing request");
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
index 4fce6860..cd2a8072 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java
@@ -31,6 +31,7 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -78,7 +79,7 @@ public class PDFData extends HttpServlet {
protected void process(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
byte[] signedData = PdfAsHelper.getSignedPdf(request, response);
-
+
StatisticEvent statisticEvent = PdfAsHelper.getStatisticEvent(request,
response);
@@ -126,13 +127,22 @@ public class PDFData extends HttpServlet {
response.setHeader("ValueCheckCode",
String.valueOf(resp.getValueCode()));
}
+
+ //if(PdfAsParameterExtractor.isBase64(request)) {
+ // signedData = Base64.encodeBase64(signedData);
+ //}
+
+ response.setContentLength(signedData.length);
+
response.setContentType("application/pdf");
OutputStream os = response.getOutputStream();
os.write(signedData);
os.close();
// When data is collected destroy session!
- request.getSession().invalidate();
+ if(!PdfAsHelper.isSessionAccessCounter(request)) {
+ request.getSession().invalidate();
+ }
} else {
PdfAsHelper.setSessionException(request, response,
"No signed pdf document available.", null);