diff options
Diffstat (limited to 'pdf-as-web/src')
3 files changed, 7 insertions, 5 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java index 421edff4..f64ffac0 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java @@ -139,7 +139,7 @@ public class PdfAsHelper { } } - private static String buildPosString(HttpServletRequest request, + public static String buildPosString(HttpServletRequest request, HttpServletResponse response) throws PdfAsWebException { String posP = PdfAsParameterExtractor.getSigPosP(request); String posX = PdfAsParameterExtractor.getSigPosX(request); @@ -388,7 +388,7 @@ public class PdfAsHelper { public static void startSignature(HttpServletRequest request, HttpServletResponse response, ServletContext context, byte[] pdfData, - String connector, String transactionId) + String connector, String position, String transactionId) throws Exception { // TODO: Protect session so that only one PDF can be signed during one @@ -441,7 +441,7 @@ public class PdfAsHelper { signParameter.setOutput(dataSink); // set Signature Position - signParameter.setSignaturePosition(buildPosString(request, response)); + signParameter.setSignaturePosition(position); StatusRequest statusRequest = pdfAs.startSign(signParameter); session.setAttribute(PDF_STATUS, statusRequest); 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 a7d82c3e..70535573 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 @@ -280,7 +280,8 @@ public class ExternSignServlet extends HttpServlet { } } - PdfAsHelper.startSignature(request, response, getServletContext(), pdfData, connector, transactionId); + PdfAsHelper.startSignature(request, response, getServletContext(), pdfData, connector, + PdfAsHelper.buildPosString(request, response), transactionId); } else if (connector.equals("jks") || connector.equals("moa")) { // start synchronous siganture creation diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java index 3aad5abb..25b2b4c0 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java @@ -103,7 +103,8 @@ public class UIEntryPointServlet extends HttpServlet { } PdfAsHelper.startSignature(req, resp, getServletContext(), pdfAsRequest.getInputData(), - connector.toString(), pdfAsRequest.getParameters().getTransactionId()); + connector.toString(), pdfAsRequest.getParameters().getPosition(), + pdfAsRequest.getParameters().getTransactionId()); } else { throw new PdfAsWebException("Invalid connector (" + Connector.BKU + " | " + Connector.ONLINEBKU + " | " + Connector.MOBILEBKU + ")"); } |