aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java80
1 files changed, 46 insertions, 34 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 35b5a7ce..9900dda4 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
@@ -161,7 +161,9 @@ public class PdfAsHelper {
reloadConfig();
}
- public static void init() {
+ public static void init() {
+ JsonSecurityUtils.getInstance();
+
log.info("PDF-AS Helper initialized");
}
@@ -536,7 +538,9 @@ public class PdfAsHelper {
// set Signature Position
signParameter.setSignaturePosition(documentToSign.getPosition());
-
+ signParameter.setPlaceHolderId(documentToSign.getPlaceHolderId());
+ signParameter.setPlaceHolderSearchEnabled(documentToSign.isPlaceholderSearchEnabled());
+
// Set Preprocessor
if (coreParams.getPreprocessor() != null) {
signParameter.setPreprocessorArguments(coreParams.getPreprocessor());
@@ -549,8 +553,7 @@ public class PdfAsHelper {
PDFASVerificationResponse verResponse = new PDFASVerificationResponse();
- verResponse.setSignerCertificate(signResult.getSignerCertificate()
- .getEncoded());
+ verResponse.setSignerCertificate(signResult.getSignerCertificate().getEncoded());
SignedDocument signPdfDoc = SignedDocument.builder()
@@ -660,7 +663,8 @@ public class PdfAsHelper {
// set Signature Position
signParameter.setSignaturePosition(pdfToSign.getPosition());
-
+ signParameter.setPlaceHolderId(pdfToSign.getPlaceHolderId());
+ signParameter.setPlaceHolderSearchEnabled(pdfToSign.isPlaceholderSearchEnabled());
signParameter.setDynamicSignatureBlockArguments(coreSignParams.getSignatureBlockParameters());
return pdfAs.startSign(signParameter);
@@ -787,12 +791,6 @@ public class PdfAsHelper {
PdfAsHelper.process(request, response, context);
}
- public static void logAccess(HttpServletRequest request) {
- HttpSession session = request.getSession();
- log.info("Access to " + request.getServletPath() + " in Session: "
- + session.getId());
- }
-
public static JSONStartResponse startJsonProcess(HttpServletRequest request,
HttpServletResponse response, ServletContext context)
throws Exception {
@@ -907,6 +905,10 @@ public class PdfAsHelper {
JsonObject sl20Req = null;
String reqId = UUID.randomUUID().toString();
if (WebConfiguration.isSL20SigningEnabled()) {
+ if (joseTools == null) {
+ throw new PdfAsException("error.config.sl20.01");
+ }
+
String signedCertCommand = SL20JSONBuilderUtils.createSignedCommand(
SL20Constants.SL20_COMMAND_IDENTIFIER_GETCERTIFICATE, getCertParams, joseTools);
sl20Req = SL20JSONBuilderUtils.createGenericRequest(reqId, null, null, signedCertCommand);
@@ -1361,29 +1363,35 @@ public class PdfAsHelper {
private static String generateURL(HttpServletRequest request,
HttpServletResponse response, String Servlet) {
- HttpSession session = request.getSession();
- String publicURL = WebConfiguration.getPublicURL();
- String dataURL = null;
- if (publicURL != null) {
- dataURL = publicURL + Servlet + ";jsessionid=" + session.getId();
- } else {
- if ((request.getScheme().equals("http") && request.getServerPort() == 80)
- || (request.getScheme().equals("https") && request
- .getServerPort() == 443)) {
- dataURL = request.getScheme() + "://" + request.getServerName()
- + request.getContextPath() + Servlet + ";jsessionid="
- + session.getId();
- } else {
- dataURL = request.getScheme() + "://" + request.getServerName()
- + ":" + request.getServerPort()
- + request.getContextPath() + Servlet + ";jsessionid="
- + session.getId();
- }
- }
- log.debug("Generated URL: " + dataURL);
- return dataURL;
+ return generateURL(request, response, Servlet, WebConfiguration.getPublicURL());
+
}
+ private static String generateURL(HttpServletRequest request,
+ HttpServletResponse response, String Servlet, String publicURL) {
+ HttpSession session = request.getSession();
+ String dataURL = null;
+ if (publicURL != null) {
+ dataURL = publicURL + Servlet + ";jsessionid=" + session.getId();
+ } else {
+ if ((request.getScheme().equals("http") && request.getServerPort() == 80)
+ || (request.getScheme().equals("https") && request
+ .getServerPort() == 443)) {
+ dataURL = request.getScheme() + "://" + request.getServerName()
+ + request.getContextPath() + Servlet + ";jsessionid="
+ + session.getId();
+ } else {
+ dataURL = request.getScheme() + "://" + request.getServerName()
+ + ":" + request.getServerPort()
+ + request.getContextPath() + Servlet + ";jsessionid="
+ + session.getId();
+ }
+ }
+ log.debug("Generated URL: " + dataURL);
+ return dataURL;
+ }
+
+
public static void regenerateSession(HttpServletRequest request) {
request.getSession(false).invalidate();
request.getSession(true);
@@ -1391,12 +1399,16 @@ public class PdfAsHelper {
public static String generateDataURLSL20(HttpServletRequest request,
HttpServletResponse response) {
- return generateURL(request, response, PDF_SL20_DATAURL_PAGE);
+ return generateURL(request, response, PDF_SL20_DATAURL_PAGE,
+ WebConfiguration.getPublicDataURL() != null
+ ? WebConfiguration.getPublicDataURL() : WebConfiguration.getPublicURL());
}
public static String generateDataURL(HttpServletRequest request,
HttpServletResponse response) {
- return generateURL(request, response, PDF_DATAURL_PAGE);
+ return generateURL(request, response, PDF_DATAURL_PAGE,
+ WebConfiguration.getPublicDataURL() != null
+ ? WebConfiguration.getPublicDataURL() : WebConfiguration.getPublicURL());
}
public static String generateProvideURL(HttpServletRequest request,