aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/webapp/jsp
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/webapp/jsp')
-rw-r--r--pdf-as-web/src/main/webapp/jsp/SIGNATURBLOCK.jsp103
-rw-r--r--pdf-as-web/src/main/webapp/jsp/dataok.jsp25
-rw-r--r--pdf-as-web/src/main/webapp/jsp/download.jsp44
-rw-r--r--pdf-as-web/src/main/webapp/jsp/error.jsp109
-rw-r--r--pdf-as-web/src/main/webapp/jsp/error_verify.jsp51
-rw-r--r--pdf-as-web/src/main/webapp/jsp/language.jsp9
-rw-r--r--pdf-as-web/src/main/webapp/jsp/null_request_page.jsp108
-rw-r--r--pdf-as-web/src/main/webapp/jsp/please_wait.jsp16
-rw-r--r--pdf-as-web/src/main/webapp/jsp/redirect_to_parent.jsp33
-rw-r--r--pdf-as-web/src/main/webapp/jsp/results.jsp84
-rw-r--r--pdf-as-web/src/main/webapp/jsp/signpreview.jsp84
-rw-r--r--pdf-as-web/src/main/webapp/jsp/signupload.jsp296
-rw-r--r--pdf-as-web/src/main/webapp/jsp/verifylist.jsp73
-rw-r--r--pdf-as-web/src/main/webapp/jsp/verifypreview.jsp60
-rw-r--r--pdf-as-web/src/main/webapp/jsp/verifyupload.jsp41
15 files changed, 1136 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/webapp/jsp/SIGNATURBLOCK.jsp b/pdf-as-web/src/main/webapp/jsp/SIGNATURBLOCK.jsp
new file mode 100644
index 0000000..6a1ce81
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/SIGNATURBLOCK.jsp
@@ -0,0 +1,103 @@
+<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%>
+
+<%@ page import="org.apache.commons.lang.time.DateFormatUtils" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="at.gv.egiz.pdfas.api.commons.Constants" %>
+<%@ page import="at.gv.egiz.pdfas.web.servlets.UpdateFormServlet"%>
+<%@ page import="at.gv.egiz.pdfas.web.FormFields" %>
+
+<%@ include file="language.jsp" %>
+
+ <%
+ String mode = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_MODE_KEY);
+ String device = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_DEVICE_KEY);
+ String type = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_TYPE_KEY);
+
+ String sbValue;
+ String sbLabel;
+ String sbMeta;
+ String sbName;
+ String sbDate;
+ String sbIssuer;
+ String sbNumber;
+ String sbKZ;
+ String sbID;
+ String sbMetaValue;
+ if ("SIGNATURBLOCK_DE".equals(type)) {
+ sbValue = "Signaturwert";
+ sbLabel = "signatur-logo_de-100.png";
+ sbMetaValue = "Informationen zur Prüfung der elektronischen Signatur und des Ausdrucks finden Sie unter: <input type=\"text\" name=\"vservice\" readonly=\"readonly\" disabled=\"disabled\" value=\"http://www.signaturpruefung.gv.at\" size=\"50\" maxlength=\"255\"/>";
+ sbName = "Unterzeichner";
+ sbDate = "Datum/Zeit-UTC";
+ sbIssuer = "Aussteller-Zertifikat";
+ sbNumber = "Serien-Nr.";
+ sbKZ = "Methode";
+ sbID = "Parameter";
+ sbMeta = "Prüfinformation";
+ } else {
+ sbValue = "Signature Value";
+ sbLabel = "signatur-logo_en-100.png";
+ sbMetaValue = "Information about the verification of the electronic signature and of the printout can be found at: <input type=\"text\" name=\"vservice\" readonly=\"readonly\" disabled=\"disabled\" value=\"http://www.signature-verification.gv.at\" size=\"50\" maxlength=\"255\"/>";
+ sbName = "Signatory";
+ sbDate = "Date/Time-UTC";
+ sbIssuer = "Issuer-Certificate";
+ sbNumber = "Serial-No.";
+ sbKZ = "Method";
+ sbID = "Parameter";
+ sbMeta = "Verification";
+ }
+
+ %>
+
+<html>
+
+<table border="0" cellpadding="3" cellspacing="0" class="pdfassignature">
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbValue %></td>
+ <td colspan="2" class="pdfasvalue">
+ <div style="float:left;">Aqs3vMeF81wm/UJjIcLOzUs9</div>
+ <div style="float:left;">dxTBzhi2RC8avQyMAmc3v</div>
+ <div style="float:left;">WEj9HT1DI3iish4smRr</div>
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="6"><img src="<%= request.getContextPath() %>/images/<%= sbLabel %>" width="100" alt="Signatur-Logo"/></td>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbName %></td>
+ <td class="pdfasvalue"><input type="text" name="signer" value="<fmt:message key="signaturblock.signer.value"/>" readonly="readonly" disabled="disabled" size="40" maxlength="255"/></td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbDate %></td>
+ <td class="pdfasvalue"><%= DateFormatUtils.formatUTC(new Date(), "yyyy-MM-dd'T'HH:mm:ss'Z'", request.getLocale()) %></td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbIssuer %></td>
+ <td class="pdfasvalue">
+ <div class="pdfasnobreak">CN=<fmt:message key="signaturblock.issuer.value.cn"/>,</div>
+ <div class="pdfasnobreak">O=<fmt:message key="signaturblock.issuer.value.o"/>,</div>
+ <div class="pdfasnobreak">C=AT</div>
+ </td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbNumber %></td>
+ <td class="pdfasvalue">123456</td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbKZ %></td>
+ <td class="pdfasvalue">
+ <div class="pdfasnobreak">urn:pdfsigfilter:</div>
+ <div class="pdfasnobreak">bka.gv.at:</div>
+ <div class="pdfasnobreak"><%= FormFields.VALUE_MODE_TEXTUAL.equals(mode) ? "text:v1.2.0" : "binaer:v1.1.0" %></div>
+ </td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbID %></td>
+ <td class="pdfasvalue">
+ <div class="pdfasnobreak">etsi-moc-1.1@dbc17c36</div>
+ </td>
+ </tr>
+ <tr>
+ <td class="pdfaslabel" nowrap="nowrap"><%= sbMeta %></td>
+ <td colspan="2" class="pdfasvalue"><%= sbMetaValue %></td>
+ </tr>
+</table>
+</html> \ No newline at end of file
diff --git a/pdf-as-web/src/main/webapp/jsp/dataok.jsp b/pdf-as-web/src/main/webapp/jsp/dataok.jsp
new file mode 100644
index 0000000..ae209ab
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/dataok.jsp
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<%@ include file="language.jsp" %>
+
+<html>
+<head>
+<title><fmt:message key="common.title"/></title>
+<link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/css/styles.css" />
+</head>
+<body>
+<div class="maindiv">
+<h1><fmt:message key="common.title"/></h1>
+<h2><fmt:message key="dataok.heading2"/></h2>
+
+<p>
+<fmt:message key="dataok.taken"/>
+</p>
+
+<%
+ String btlurl = (String)request.getAttribute("btlurl");
+%>
+<a class="big" href="<%=btlurl%>"><fmt:message key="common.backtolist"/></a>
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/pdf-as-web/src/main/webapp/jsp/download.jsp b/pdf-as-web/src/main/webapp/jsp/download.jsp
new file mode 100644
index 0000000..1b56f93
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/download.jsp
@@ -0,0 +1,44 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+
+<%@ include file="language.jsp" %>
+
+<%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper" %>
+
+<%
+ String downloadURL = (String) session.getAttribute(SessionAttributes.DOWNLOAD_URL_FOR_SIGNED_PDF_DOCUMENT);
+%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <title><fmt:message key="download.title"/></title>
+ <script language="javascript" type="text/javascript">
+ <!--
+ function disableElement(elementId) {
+ document.getElementById(elementId).disabled = true;
+ document.getElementById(elementId).blur();
+ }
+ function hitButton() {
+ document.submitform.submit();
+ disableElement("SendRequestButton");
+ document.getElementById("SendRequestButton").value = "<fmt:message key="download.button.alreadydone"/>";
+ return(true);
+ }
+ -->
+ </script>
+ <base href="<%= LocalRequestHelper.getLocalContextAddress(request, response) %>/"/>
+ </head>
+
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="download.heading2"/></h2>
+ <div class="pdfasnote"><fmt:message key="download.note"/></div>
+ <div class="pdfasverticalspace"></div>
+ <form action="<%= downloadURL %>" name="submitform" accept-charset="UTF-8" method="post" enctype="application/x-www-form-urlencoded">
+ <input type="submit" id="SendRequestButton" value="<fmt:message key="download.button.download"/>" onclick="return hitButton();"/>
+ </form>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%= (response.encodeRedirectURL(request.getContextPath() + "/") + "?") %><fmt:message key="common.locale.param"/>"><fmt:message key="common.back"/></a>
+ </body>
+
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/error.jsp b/pdf-as-web/src/main/webapp/jsp/error.jsp
new file mode 100644
index 0000000..fc7ff1b
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/error.jsp
@@ -0,0 +1,109 @@
+<%@ page isErrorPage="true" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper" %>
+<%@ page import="at.gv.egiz.pdfas.web.servlets.SignServlet" %>
+<%@page import="at.gv.egiz.pdfas.api.exceptions.PdfAsException"%>
+<%@ page import="at.gv.egiz.pdfas.web.session.SignSessionInformation" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %>
+<%@ page import="org.apache.commons.httpclient.util.EncodingUtil" %>
+<%@ page import="org.apache.commons.httpclient.NameValuePair" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.SignServletHelper" %>
+<%@ page import="org.apache.commons.lang.StringEscapeUtils" %>
+<%@ page import="java.io.*" %>
+
+<%@ include file="language.jsp" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+ <head>
+ <title><fmt:message key="error.title"/></title>
+ <base href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/"/>
+ <meta http-equiv="Cache-Control" content="no-cache"/>
+ <meta http-equiv="Pragma" content="no-cache"/>
+ <meta http-equiv="Expires" content="-1"/>
+ </head>
+
+<%
+ PdfAsException pe;
+ if (exception != null && exception instanceof PdfAsException)
+ {
+ pe = (PdfAsException)exception;
+ SignServlet.prepareDispatchToErrorPage(pe, request);
+ } else {
+ pe = (PdfAsException)request.getAttribute("PresentableException");
+ }
+
+ String error = request.getParameter("error");
+ boolean paramInvok = false;
+ if (error == null) {
+ error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString());
+ } else {
+ paramInvok = true;
+ }
+ String cause = request.getParameter("cause");
+ if (cause == null) {
+ cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString());
+ } else {
+ paramInvok = true;
+ }
+ boolean rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle"));
+ Object sessionInfo = session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+
+ boolean isExternalInvocation = false;
+ if (sessionInfo != null) {
+ if (sessionInfo instanceof SignSessionInformation) {
+ SignSessionInformation si = (SignSessionInformation) sessionInfo;
+ isExternalInvocation = (si != null && si.exappinf != null);
+ if (isExternalInvocation) {
+ String urlParams = EncodingUtil.formUrlEncode(new NameValuePair[] { new NameValuePair("error", error), new NameValuePair("cause", cause) }, "ISO8859_1");
+ if (si.exappinf.invoke_error_url == null) {
+ // prevent circular redirect
+ si.exappinf = null;
+ String redirectUrl = response.encodeRedirectURL(request.getContextPath() + "/jsp/error.jsp" + "?" + urlParams);
+ session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, redirectUrl);
+ } else {
+ String errorUrl = si.exappinf.invoke_error_url + "?" + urlParams;
+ session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, errorUrl);
+ }
+ String redirectHelper = response.encodeRedirectURL(request.getContextPath() + "/jsp/redirect_to_parent.jsp");
+ SignServletHelper.disableBrowserCacheForResponse(response);
+ response.sendRedirect(redirectHelper);
+ }
+ }
+ }
+
+%>
+
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="error.heading2"/></h2>
+ <div class="pdfasnote">
+ <% if (rb) { %>
+ <fmt:message key="<%= error %>"/>
+ <% } else { out.write(StringEscapeUtils.escapeHtml(error)); } %>
+ </div>
+ <div class="pdfasnote"><fmt:message key="error.cause"/>: <strong>
+ <% if (rb) { %>
+ <fmt:message key="<%= cause %>"/>
+ <% } else { out.write(StringEscapeUtils.escapeHtml(cause)); } %>
+ </strong></div>
+ <% if (!isExternalInvocation && !paramInvok) { %>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/"><fmt:message key="common.back"/></a>
+ <% } // end if %>
+ <pre style="display:none">
+ <%
+ if (pe != null) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ pe.printStackTrace(pw);
+ sw.close();
+ pw.close();
+ out.print(StringEscapeUtils.escapeHtml(sw.toString()));
+ }
+ %>
+ </pre>
+ </body>
+
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/error_verify.jsp b/pdf-as-web/src/main/webapp/jsp/error_verify.jsp
new file mode 100644
index 0000000..79c5bbd
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/error_verify.jsp
@@ -0,0 +1,51 @@
+<%@ page isErrorPage="true" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper" %>
+<%@ page import="at.gv.egiz.pdfas.web.servlets.SignServlet" %>
+<%@ page import="at.knowcenter.wag.egov.egiz.exceptions.PresentableException" %>
+<%@ page import="java.io.StringWriter" %>
+<%@ page import="java.io.PrintWriter" %>
+
+<%@ include file="language.jsp" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+
+ <head>
+ <title><fmt:message key="errorverify.title"/></title>
+ <base href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/"/>
+ </head>
+
+<%
+ PresentableException pe = (PresentableException)request.getAttribute("PresentableException");
+ if (exception != null && exception instanceof PresentableException)
+ {
+ pe = (PresentableException)exception;
+ SignServlet.prepareDispatchToErrorPage(pe, request);
+ }
+
+ String error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString());
+ String cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString());
+%>
+
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="errorverify.heading2"/></h2>
+ <div class="pdfasnote"><%= error %></div>
+ <div class="pdfasnote"><fmt:message key="errorverify.cause"/>: <strong><%= cause %></strong></div>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%=LocalRequestHelper.getLocalContextAddress(request,response)%>/jsp/verifyupload.jsp"><fmt:message key="common.back"/></a>
+ <pre style="display:none">
+ <%
+ if (pe != null) {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ pe.printStackTrace(pw);
+ sw.close();
+ pw.close();
+ out.print(sw);
+ }
+ %>
+ </pre>
+ </body>
+
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/language.jsp b/pdf-as-web/src/main/webapp/jsp/language.jsp
new file mode 100644
index 0000000..11aad84
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/language.jsp
@@ -0,0 +1,9 @@
+<%@ page import="at.gv.egiz.pdfas.web.i18n.LocaleParamFilter" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
+<%
+ Locale currentLocale = (Locale) session.getAttribute(LocaleParamFilter.LOCALE_SESSION_KEY);
+ if (currentLocale != null) {
+%>
+ <fmt:setLocale value="<%= currentLocale.getLanguage() %>"/>
+<% } // end if %>
diff --git a/pdf-as-web/src/main/webapp/jsp/null_request_page.jsp b/pdf-as-web/src/main/webapp/jsp/null_request_page.jsp
new file mode 100644
index 0000000..77699e3
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/null_request_page.jsp
@@ -0,0 +1,108 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ page import="at.gv.egiz.pdfas.web.servlets.UpdateFormServlet"%>
+<%@ page import="java.util.Locale" %>
+<%@ page import="at.gv.egiz.pdfas.api.commons.Constants" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation"%>
+<%@ page import="at.gv.egiz.pdfas.web.session.SignSessionInformation" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %>
+<%@ include file="language.jsp" %>
+<%
+ String local_request_url = (String)request.getAttribute("local_request_url");
+ String data_url = (String) request.getAttribute("data_url");
+ HttpSessionBindingListener si = (HttpSessionBindingListener) session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+ Locale locale = (Locale) session.getAttribute(LocaleParamFilter.LOCALE_SESSION_KEY);
+
+ boolean isExternalInvocation = false;
+ boolean isServerBKU = false;
+ if (si instanceof SignSessionInformation) {
+ SignSessionInformation ssi = (SignSessionInformation) si;
+ isExternalInvocation = ssi.exappinf != null;
+ isServerBKU = Constants.SIGNATURE_DEVICE_MOC.equals(ssi.connector);
+ } else {
+ VerifySessionInformation vsi = (VerifySessionInformation) si;
+ isExternalInvocation = vsi.exappinf != null;
+ isServerBKU = Constants.SIGNATURE_DEVICE_MOC.equals(vsi.connector);
+ }
+%>
+
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <title><fmt:message key="nullrequestpage.title"/></title>
+ <script language="javascript" type="text/javascript">
+ <!--
+ function disableElement(elementId) {
+ if (elementId != null && document.getElementById(elementId)) {
+ document.getElementById(elementId).disabled = true;
+ document.getElementById(elementId).blur();
+ }
+ return(true);
+ }
+ function hitButton() {
+ document.submitform.submit();
+ disableElement("SendRequestButton");
+ if (document.getElementById("SendRequestButton")) {
+ document.getElementById("SendRequestButton").value = "<fmt:message key="nullrequestpage.button.pleasewait"/>";
+ }
+ }
+ -->
+ </script>
+ </head>
+
+ <body>
+ <% if (!isExternalInvocation) { %>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="nullrequestpage.heading2"/></h2>
+ <% } // end if %>
+
+ <% if (isServerBKU) { %>
+ <% if (!isExternalInvocation) { %>
+ <div class="pdfasnote"><fmt:message key="nullrequestpage.note.server"/></div>
+ <% } // end if %>
+ <form action="<%= local_request_url %>" name="submitform" accept-charset="UTF-8" method="post" target="moccaframe">
+ <input type="hidden" name="XMLRequest" value="<?xml version='1.0' encoding='UTF-8'?><NullOperationRequest xmlns='http://www.buergerkarte.at/namespaces/securitylayer/1.2#'/>" />
+ <input type="hidden" name="DataURL" value="<%= data_url %>" />
+ <input type="hidden" name="appletWidth" value="190"/>
+ <input type="hidden" name="appletHeight" value="130"/>
+ <% if (locale != null) { %>
+ <input type="hidden" name="locale" value="<%= locale.toString() %>"/>
+ <% } // end if %>
+ </form>
+ <% if (!isExternalInvocation) { %>
+ <div class="pdfasverticalspace"></div>
+ <iframe name="moccaframe" style="border: 1px solid black;" width="190" height="152" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" src="<%= request.getContextPath() %>/jsp/please_wait.jsp" ></iframe>
+ <% } else { // end if %>
+ <iframe name="moccaframe" style="border: 1px none black;" width="190" height="152" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" src="<%= request.getContextPath() %>/jsp/please_wait.jsp" ></iframe>
+ <% } // end if %>
+
+ <% } else { %>
+ <% if (isExternalInvocation) { %>
+ <div class="pdfasnote" style="padding:10px 10px 10px 10px;"><fmt:message key="nullrequestpage.note.local"/></div>
+ <% } else { %>
+ <div class="pdfasnote"><fmt:message key="nullrequestpage.note.local"/></div>
+ <div class="pdfasverticalspace"></div>
+ <% } // end if %>
+ <form action="<%= local_request_url %>" name="submitform" accept-charset="UTF-8" method="post">
+ <input type="hidden" name="XMLRequest" value="<?xml version='1.0' encoding='UTF-8'?><NullOperationRequest xmlns='http://www.buergerkarte.at/namespaces/securitylayer/1.2#'/>" />
+ <input type="hidden" name="DataURL" value="<%= data_url %>" />
+ <% if (locale != null) { %>
+ <input type="hidden" name="locale" value="<%= locale.toString() %>"/>
+ <% } // end if %>
+ <% if (!isExternalInvocation) { %>
+ <input type="submit" id="SendRequestButton" value="<fmt:message key="nullrequestpage.button.submit"/>" />
+ <% } // end if %>
+ </form>
+ <% } // end if %>
+
+ <% if (!isExternalInvocation) { %>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%= request.getContextPath() %>/"><fmt:message key="common.back"/></a>
+ <% } // end if %>
+ <script language="javascript" type="text/javascript">
+ <!--
+ window.setTimeout("hitButton()", 800);
+ -->
+ </script>
+ </body>
+
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/please_wait.jsp b/pdf-as-web/src/main/webapp/jsp/please_wait.jsp
new file mode 100644
index 0000000..62c0d28
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/please_wait.jsp
@@ -0,0 +1,16 @@
+<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%>
+
+<%@ include file="language.jsp" %>
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <title><fmt:message key="pleasewait.title"/></title>
+</head>
+
+<body>
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
+ <tr height="100%" valign="middle">
+ <td align="center"><fmt:message key="pleasewait.body"/></td>
+ </tr>
+ </table>
+</body>
diff --git a/pdf-as-web/src/main/webapp/jsp/redirect_to_parent.jsp b/pdf-as-web/src/main/webapp/jsp/redirect_to_parent.jsp
new file mode 100644
index 0000000..0930219
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/redirect_to_parent.jsp
@@ -0,0 +1,33 @@
+<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage=""%>
+<%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %>
+
+
+<%@ include file="language.jsp" %>
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <meta http-equiv="Cache-Control" content="no-cache"/>
+ <meta http-equiv="Pragma" content="no-cache"/>
+ <meta http-equiv="Expires" content="-1"/>
+ <title><fmt:message key="pleasewait.title"/></title>
+ <%
+ String query = (String) session.getAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL);
+ session.removeAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL);
+ %>
+</head>
+
+<body>
+ <form action="<%= query %>" method="post" name="redirectform" id="redirectform" target="_top">
+ <!--
+ <p>Redirecting the browser to</p>
+ <p><code><%= query %></code></p>
+ <p>Session-ID: <code><%= session.getId() %></code></p>
+ <input type="submit" value="submit"/>
+ -->
+ </form>
+ <script language="javascript" type="text/javascript">
+ <!--
+ document.redirectform.submit();
+ -->
+ </script>
+</body>
diff --git a/pdf-as-web/src/main/webapp/jsp/results.jsp b/pdf-as-web/src/main/webapp/jsp/results.jsp
new file mode 100644
index 0000000..8301e43
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/results.jsp
@@ -0,0 +1,84 @@
+<%@page import="at.gv.egiz.pdfas.api.verify.VerifyResult"%>
+<%@page import="at.gv.egiz.pdfas.api.verify.VerifyResults"%>
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Iterator" %>
+
+<%@ include file="language.jsp" %>
+
+<%
+ VerifyResults results = (VerifyResults) request.getAttribute("results");
+ Object bb = request.getAttribute("backbutton");
+ String btlurl = (String)request.getAttribute("btlurl");
+ boolean backbutton = true;
+ if (bb != null && bb.equals("false")) {
+ backbutton = false;
+ }
+%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <title><fmt:message key="common.title"/></title>
+ </head>
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="results.heading2"/></h2>
+ <%
+ Iterator resit = results.getResults().iterator();
+ while (resit.hasNext()) {
+ VerifyResult result = (VerifyResult) resit.next();
+ String subject = result.getSignerCertificate().getSubjectDN().getName();
+ String issuer = result.getSignerCertificate().getIssuerDN().getName();
+ String serial = result.getSignerCertificate().getSerialNumber().toString();
+ %>
+
+ <div class="pdfasverticalspace"></div>
+ <fieldset class="pdfasresultfieldset">
+ <legend><b><fmt:message key="results.signaturecheck"/></b></legend>
+ <div class="<%= (result.getValueCheckCode().getCode() == 0) ? "pdfasok" : "pdfasnok" %>"><%= result.getValueCheckCode().getMessage() %></div>
+ </fieldset>
+
+ <div class="pdfassmallverticalspace"></div>
+ <fieldset class="pdfasresultfieldset">
+ <legend><b><fmt:message key="results.certificatecheck"/></b></legend>
+ <table class="pdfaslisttable" cellpadding="1" cellspacing="1">
+ <tr><td class="pdfascaption"><fmt:message key="results.signer"/>:</td><td class="pdfasvalue"><%= subject %></td></tr>
+ <tr><td class="pdfascaption"><fmt:message key="results.issuer"/>:</td><td class="pdfasvalue"><%= issuer %></td></tr>
+ <tr><td class="pdfascaption"><fmt:message key="results.serialnumber"/>:</td><td class="pdfasvalue"><%= serial %></td></tr>
+ <%
+ List public_properties = result.getPublicProperties();
+ Iterator propit = public_properties.iterator();
+ while (propit.hasNext()) {
+ String public_property = (String) propit.next();
+ %>
+ <tr><td class="pdfascaption"><fmt:message key="results.property"/>:</td><td class="pdfasvalue"><%= public_property %></td></tr>
+ <%
+ }
+ %>
+ <tr><td class="pdfascaption"><fmt:message key="results.certificate"/>:</td><td class="<%= (result.getCertificateCheck().getCode() == 0) ? "pdfasok" : "pdfasnok" %>"><%= result.getCertificateCheck().getMessage() %></td></tr>
+ </table>
+ </fieldset>
+
+ <div class="pdfassmallverticalspace"></div>
+ <fieldset class="pdfasresultfieldset">
+ <legend><b><fmt:message key="results.manifestcheck"/></b></legend>
+ <div class="<%= (result.getManifestCheckCode().getCode() == 0) ? "pdfasok" : "pdfasnok" %>"><%= result.getManifestCheckCode().getMessage() %></div>
+ </fieldset>
+
+ <%
+ if (resit.hasNext()) {
+ %>
+ <br />
+ <%
+ }
+ }
+ %>
+ <div class="pdfasverticalspace"></div>
+ <% if (backbutton) { %>
+ <a href="<%= request.getContextPath() %>/jsp/verifyupload.jsp"><fmt:message key="common.back"/></a>
+ <% } %>
+ <% if (btlurl != null) { %>
+ <a href="<%=btlurl%>"><fmt:message key="common.backtolist"/></a>
+ <% } %>
+ </body>
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/signpreview.jsp b/pdf-as-web/src/main/webapp/jsp/signpreview.jsp
new file mode 100644
index 0000000..d21a967
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/signpreview.jsp
@@ -0,0 +1,84 @@
+<%@ page import="at.gv.egiz.pdfas.web.FormFields" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.SessionAttributes" %>
+<%@ page import="at.gv.egiz.pdfas.web.session.SignSessionInformation" %>
+<%@ page import="at.gv.egiz.pdfas.web.io.TextDataSource"%>
+<%@ page import="org.apache.commons.lang.StringEscapeUtils"%>
+<%@ page import="at.gv.egiz.pdfas.api.commons.Constants" %>
+
+<%@ include file="language.jsp" %>
+
+<%
+ SignSessionInformation si = (SignSessionInformation) session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
+
+ String submit_url = (String)request.getAttribute("submit_url");
+
+ String signature_data_url = (String)request.getAttribute("signature_data_url");
+
+ String document_text = null;
+ if (si.mode.equals(FormFields.VALUE_MODE_TEXTUAL)) {
+// SignatureData data = si.si.getSignatureData();
+// TextDataSourceImpl tds = (TextDataSourceImpl)data.getDataSource();
+// document_text = StringEscapeUtils.escapeHtml(tds.getText());
+ document_text = StringEscapeUtils.escapeHtml(
+ (String)request.getAttribute("document_text"));
+ }
+%>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <title><fmt:message key="signpreview.title"/></title>
+ </head>
+
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <h2><fmt:message key="signpreview.heading2"/></h2>
+ <%
+ if (si.mode.equals(FormFields.VALUE_MODE_TEXTUAL)) {
+ %>
+ <form action="<%= submit_url %>" name="submitform" enctype="multipart/form-data" accept-charset="UTF-8" method="get">
+ <pre class="pdfasnt"><%= document_text != null ? document_text : "" %></pre>
+ <% if (Constants.SIGNATURE_DEVICE_BKU.equals(si.connector)) { %>
+ <div>
+ <!-- =============================================== Start BKU-Erkennung -->
+ <iframe src="bku-erkennung/bku-erkennung_iframe.html" width="152" height="57" id="sep_iframe" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" allowtransparency="true"></iframe>
+ <!-- ================================================ Stop BKU-Erkennung -->
+ </div>
+ <% } else if (Constants.SIGNATURE_DEVICE_MOC.equals(si.connector)) { %>
+ <div>
+ <img src="images/chiperling.jpg" width="57" height="57" alt="<fmt:message key="common.mocca"/>"/>
+ </div>
+ <% } // end if %>
+ <input type="submit" value="<fmt:message key="signpreview.button.sign"/>" />
+ </form>
+ <%
+ } else {
+ %>
+ <div class="pdfasverticalspace"></div>
+ <form action="<%= signature_data_url %>" method="get" target="blank_">
+ <input type="submit" value="<fmt:message key="signpreview.showpreview"/>" />
+ </form>
+ <div class="pdfasverticalspace"></div>
+ <% if (Constants.SIGNATURE_DEVICE_BKU.equals(si.connector)) { %>
+ <div>
+ <!-- =============================================== Start BKU-Erkennung -->
+ <iframe src="bku-erkennung/bku-erkennung_iframe.html" width="152" height="57" id="sep_iframe" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" allowtransparency="true"></iframe>
+ <!-- ================================================ Stop BKU-Erkennung -->
+ </div>
+ <% } else if (Constants.SIGNATURE_DEVICE_MOC.equals(si.connector)) { %>
+ <div>
+ <img src="images/chiperling.jpg" width="57" height="57" alt="<fmt:message key="common.mocca"/>"/>
+ </div>
+ <% } // end if %>
+ <form action="<%= submit_url %>" method="get">
+ <input type="submit" value="<fmt:message key="signpreview.button.sign"/>" />
+ </form>
+ <%
+ }
+ %>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%= request.getContextPath() %>/"><fmt:message key="common.back"/></a>
+ </body>
+
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/signupload.jsp b/pdf-as-web/src/main/webapp/jsp/signupload.jsp
new file mode 100644
index 0000000..9bc675f
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/signupload.jsp
@@ -0,0 +1,296 @@
+<%@page import="at.gv.egiz.pdfas.web.servlets.UpdateFormServlet"%>
+<%@page import="at.gv.egiz.pdfas.web.FormFields"%>
+<%@page import="at.gv.egiz.pdfas.web.session.SessionAttributes"%>
+<%@ page import="org.apache.commons.lang.StringEscapeUtils" %>
+<%@ page import="at.gv.egiz.pdfas.api.commons.Constants" %>
+<%@ page import="at.gv.egiz.pdfas.web.i18n.LanguageDecoratorMapper"%>
+<%@ page import="org.apache.commons.lang.BooleanUtils"%>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<%@ include file="language.jsp" %>
+
+<html>
+<head>
+ <%
+ boolean testMode = request.getContextPath().startsWith("/test-");
+ boolean forceTextualForMocca = false;
+
+ final String SIGNATUREPROFILE_DE_nonPDFa = "SIGNATURBLOCK_DE";
+ final String SIGNATUREPROFILE_EN_nonPDFa = "SIGNATURBLOCK_EN";
+ final String SIGNATUREPROFILE_DE_PDFa = "SIGNATURBLOCK_DE_PDFA";
+ final String SIGNATUREPROFILE_EN_PDFa = "SIGNATURBLOCK_EN_PDFA";
+
+ %>
+ <title>
+ <%
+ if (testMode) {
+ %>
+ <fmt:message key="test.common.title"/>
+ <% } else { %>
+ <fmt:message key="common.title"/>
+ <% } // end if %>
+ </title>
+ <% session.removeAttribute(SessionAttributes.SIGNED_PDF_DOCUMENT); %>
+ <script language="javascript" type="text/javascript">
+ <!--
+ function updateForm() {
+ var updateform = document.getElementById('updateform');
+ var submitform = document.getElementById('submitform');
+
+ updateform.<%= FormFields.FIELD_SIGNATURE_TYPE %>.value = submitform.<%= FormFields.FIELD_SIGNATURE_TYPE %>.value;
+ updateform.<%= FormFields.FIELD_MODE %>.value = submitform.<%= FormFields.FIELD_MODE %>.value;
+ updateform.<%= FormFields.FIELD_CONNECTOR %>.value = submitform.<%= FormFields.FIELD_CONNECTOR %>.value;
+ updateform.<%= FormFields.FIELD_PDFA_ENABLED %>.value = (submitform.<%= FormFields.FIELD_PDFA_ENABLED %>.checked == true);
+ updateform.<%= FormFields.FIELD_SOURCE %>.value = submitform.<%= FormFields.FIELD_SOURCE %>.value;
+ if (submitform.<%= FormFields.FIELD_FREETEXT %>) {
+ updateform.<%= FormFields.FIELD_FREETEXT %>.value = submitform.<%= FormFields.FIELD_FREETEXT %>.value;
+ }
+ updateform.submit();
+ return(false);
+ }
+ function submitForm(preview) {
+ var submitform = document.getElementById('submitform');
+ if (submitform.fileupload) {
+ // file
+ if (!submitform.fileupload.value) {
+ if (preview) {
+ alert('<fmt:message key="signupload.documentnotselected.preview"/>');
+ } else {
+ alert('<fmt:message key="signupload.documentnotselected"/>');
+ }
+ return(false);
+ }
+ } else {
+ // freetext
+ if (!submitform.freetext.value) {
+ if (preview) {
+ alert('<fmt:message key="signupload.nofreetext.preview"/>');
+ } else {
+ alert('<fmt:message key="signupload.nofreetext"/>');
+ }
+ return(false);
+ }
+ }
+ if (preview) {
+ submitform.<%= FormFields.FIELD_PREVIEW %>.value='true';
+ } else {
+ submitform.<%= FormFields.FIELD_PREVIEW %>.value='false';
+ }
+ return(true);
+ }
+ -->
+ </script>
+ <%
+ // PRESETS
+ // signature device
+ String device = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_DEVICE_KEY);
+ if (device == null) {
+ device = Constants.SIGNATURE_DEVICE_MOC;
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_DEVICE_KEY, device);
+ }
+ // signature mode
+ String mode = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_MODE_KEY);
+ if (forceTextualForMocca && Constants.SIGNATURE_DEVICE_MOC.equals(device)) {
+ mode = FormFields.VALUE_MODE_TEXTUAL;
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_MODE_KEY, mode);
+ }
+ if (mode == null) {
+ mode = FormFields.VALUE_MODE_BINARY;
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_MODE_KEY, mode);
+ }
+
+ // PDF/A-1b
+ boolean pdfa = BooleanUtils.toBoolean((String) session.getAttribute(UpdateFormServlet.UPLOADFORM_PDFA_KEY));
+ String TYPE_EN;
+ String TYPE_DE;
+ if (pdfa) {
+ TYPE_EN = SIGNATUREPROFILE_EN_PDFa;
+ TYPE_DE = SIGNATUREPROFILE_DE_PDFa;
+ } else {
+ TYPE_EN = SIGNATUREPROFILE_EN_nonPDFa;
+ TYPE_DE = SIGNATUREPROFILE_DE_nonPDFa;
+ }
+
+ // signature type
+ String type = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_TYPE_KEY);
+ if (type == null) {
+ Locale locale = (Locale) session.getAttribute(LocaleParamFilter.LOCALE_SESSION_KEY);
+ if (locale == null) {
+ locale = request.getLocale();
+ }
+ type = Locale.GERMAN.getLanguage().equals(locale.getLanguage()) ? TYPE_DE : TYPE_EN;
+ } else {
+ if (pdfa) {
+ if (SIGNATUREPROFILE_DE_nonPDFa.equals(type)) {
+ type = SIGNATUREPROFILE_DE_PDFa;
+ } else if (SIGNATUREPROFILE_EN_nonPDFa.equals(type)) {
+ type = SIGNATUREPROFILE_EN_PDFa;
+ }
+ } else {
+ if (SIGNATUREPROFILE_DE_PDFa.equals(type)) {
+ type = SIGNATUREPROFILE_DE_nonPDFa;
+ } else if (SIGNATUREPROFILE_EN_PDFa.equals(type)) {
+ type = SIGNATUREPROFILE_EN_nonPDFa;
+ }
+ }
+ }
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_SIGNATURE_TYPE_KEY, type);
+
+ // source
+ String source = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_SOURCE_KEY);
+ if (source == null) {
+ source = FormFields.VALUE_SOURCE_FILE;
+ }
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_SOURCE_KEY, source);
+ boolean freeText = FormFields.VALUE_SOURCE_FREETEXT.equals(source);
+
+ // freetext
+ String freeTextValue = (String) session.getAttribute(UpdateFormServlet.UPLOADFORM_FREETEXT_KEY);
+ if (freeTextValue == null) {
+ freeTextValue = "";
+ }
+ session.setAttribute(UpdateFormServlet.UPLOADFORM_FREETEXT_KEY, freeTextValue);
+
+ %>
+</head>
+<body>
+<h1>
+ <%
+ if (testMode) {
+ %>
+ <fmt:message key="test.common.title"/>
+ <% } else { %>
+ <fmt:message key="common.title"/>
+ <% } // end if %>
+</h1>
+<h2 align="left">
+ <% if (freeText) { %>
+ <fmt:message key="signupload.heading2.freetext"/>
+ <% } else { %>
+ <fmt:message key="signupload.heading2"/>
+ <% } %>
+</h2>
+<div class="pdfasnote">
+ <% if (freeText) { %>
+ <fmt:message key="signupload.selectfilenote.freetext"/>
+ <% } else { %>
+ <fmt:message key="signupload.selectfilenote"/>
+ <% } %>
+</div>
+<form name="updateform" id="updateform" accept-charset="UTF-8" method="post" action="<%= request.getContextPath() %>/UpdateForm">
+ <input type="hidden" name="<%= FormFields.FIELD_SIGNATURE_TYPE %>" value=""/>
+ <input type="hidden" name="<%= FormFields.FIELD_MODE %>" value=""/>
+ <input type="hidden" name="<%= FormFields.FIELD_CONNECTOR %>" value=""/>
+ <input type="hidden" name="<%= FormFields.FIELD_PDFA_ENABLED %>" value=""/>
+ <input type="hidden" name="<%= FormFields.FIELD_SOURCE %>" value=""/>
+ <% if (freeText) { %>
+ <input type="hidden" name="<%= FormFields.FIELD_FREETEXT %>" value=""/>
+ <% } // end if %>
+</form>
+<form name="submitform" id="submitform"
+ enctype="multipart/form-data"
+ accept-charset="UTF-8"
+ method="post"
+ action="<%= request.getContextPath() %>/Sign">
+ <table border="0" cellspacing="0" cellpadding="4" id="pdfasupperformtable">
+ <tr>
+ <td align="left" nowrap="nowrap"><label><fmt:message key="signupload.signaturetype"/>:</label></td>
+ <td align="left">
+ <select class="field" name="<%= FormFields.FIELD_SIGNATURE_TYPE %>" onchange="return updateForm();">
+ <option value="<%= TYPE_DE %>" <%= TYPE_DE.equals(type) ? "selected=\"selected\"" : "" %>><fmt:message key="signupload.signaturetype.signaturblock.de"/></option>
+ <option value="<%= TYPE_EN %>" <%= TYPE_EN.equals(type) ? "selected=\"selected\"" : "" %>><fmt:message key="signupload.signaturetype.signaturblock.en"/></option>
+ </select>
+ <!-- %= // FormFields.generateTypeSelectBox() % -->
+ <span style="padding-left: 20px; 1px solid black;"></span>
+ <input type="checkbox" name="<%= FormFields.FIELD_PDFA_ENABLED %>" value="true" <%= pdfa ? "checked=\"checked\"" : "" %> onclick="return updateForm();"/>&nbsp;<fmt:message key="signupload.pdfa"/>
+ </td>
+ </tr>
+ <tr>
+ <td align="left" nowrap="nowrap"><label><fmt:message key="signupload.signaturemode"/>:</label></td>
+ <td align="left">
+ <% if (forceTextualForMocca && Constants.SIGNATURE_DEVICE_MOC.equals(device)) {%>
+ <fmt:message key="common.textual"/>
+ <input type="hidden" name="<%= FormFields.FIELD_MODE %>" value="<%= FormFields.VALUE_MODE_TEXTUAL %>"/>
+ <% } else { %>
+ <select name="<%= FormFields.FIELD_MODE %>" onchange="return updateForm();">
+ <option value="<%= FormFields.VALUE_MODE_BINARY %>" <%= FormFields.VALUE_MODE_BINARY.equals(mode) ? "selected=\"selected\"" : "" %>><fmt:message key="common.binary"/></option>
+ <option value="<%= FormFields.VALUE_MODE_TEXTUAL %>" <%= FormFields.VALUE_MODE_TEXTUAL.equals(mode) ? "selected=\"selected\"" : "" %>><fmt:message key="common.textual"/></option>
+ <!--
+ <option value="<%= FormFields.VALUE_MODE_DETACHED %>">detached</option>
+ -->
+ </select>
+ <% } %>
+ </td>
+ </tr>
+ <tr>
+ <td align="left" nowrap="nowrap"><label><fmt:message key="signupload.signaturedevice"/>:</label></td>
+ <td align="left">
+ <select name="<%= FormFields.FIELD_CONNECTOR %>" onchange="return updateForm();">
+ <option value="<%= Constants.SIGNATURE_DEVICE_BKU %>" <%= Constants.SIGNATURE_DEVICE_BKU.equals(device) ? "selected=\"selected\"" : "" %>><fmt:message key="common.bku"/></option>
+ <option value="<%= Constants.SIGNATURE_DEVICE_MOC %>" <%= Constants.SIGNATURE_DEVICE_MOC.equals(device) ? "selected=\"selected\"" : "" %>><fmt:message key="common.mocca"/></option>
+ </select>
+ </td>
+ </tr>
+ <!--
+ <tr>
+ <td align="left" nowrap="nowrap"><label><fmt:message key="signupload.file"/>:</label></td>
+ <td align="left"><input size="50" type="file" id="fileupload" name="<%= FormFields.FIELD_UPLOAD %>" accept="application/pdf"/></td>
+ </tr>
+ -->
+ <tr>
+ <td align="left" nowrap="nowrap" style="vertical-align: top;">
+ <select name="<%= FormFields.FIELD_SOURCE %>" onchange="return updateForm();">
+ <option value="<%= FormFields.VALUE_SOURCE_FILE %>" <%= FormFields.VALUE_SOURCE_FILE.equals(source) ? "selected=\"selected\"" : "" %>><fmt:message key="signupload.file"/></option>
+ <option value="<%= FormFields.VALUE_SOURCE_FREETEXT %>" <%= FormFields.VALUE_SOURCE_FREETEXT.equals(source) ? "selected=\"selected\"" : "" %>><fmt:message key="signupload.freetext"/></option>
+ </select>
+ </td>
+ <td align="left">
+ <% if (freeText) { %>
+ <textarea class="freetext" id="freetext" name="<%= FormFields.FIELD_FREETEXT %>"><%= StringEscapeUtils.escapeHtml(freeTextValue) %></textarea>
+ <% } else { %>
+ <input size="50" type="file" id="fileupload" name="<%= FormFields.FIELD_UPLOAD %>" accept="application/pdf"/>
+ <% } // end if freetext %>
+ </td>
+ </tr>
+ </table>
+ <% if ((!freeText && (FormFields.VALUE_MODE_TEXTUAL.equals(mode))) || pdfa) { %>
+ <div class="pdfasnote"><span class="pdfasemphasis">
+ <fmt:message key="signupload.note.prefix"/>:</span>
+ <% if ((FormFields.VALUE_MODE_TEXTUAL.equals(mode))) { %>
+ <% if (!freeText) { %><fmt:message key="signupload.note.file"/><% } %> <fmt:message key="signupload.note"/>
+ <% } // end if %>
+ <% if (pdfa) { %> <fmt:message key="signupload.note.pdfa"/><% } %>
+ </div>
+ <% } // end if %>
+
+ <input type="hidden" name="<%= FormFields.FIELD_DOWNLOAD %>" value="<%= FormFields.VALUE_DOWNLOAD_ATTACHMENT %>"/>
+ <input type="hidden" name="<%= FormFields.FIELD_PREVIEW %>" value="false" />
+
+ <div class="pdfasverticalspace"></div>
+
+ <jsp:include page="SIGNATURBLOCK.jsp"/>
+
+ <div class="pdfasnote"><fmt:message key="signupload.noteonsigmark"/></div>
+ <% if (Constants.SIGNATURE_DEVICE_BKU.equals(device)) { %>
+ <div>
+ <!-- =============================================== Start BKU-Erkennung -->
+ <iframe src="<%= request.getContextPath() %>/bku-erkennung/bku-erkennung_iframe.html" width="152" height="57" id="sep_iframe" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" allowtransparency="true"></iframe>
+ <!-- ================================================ Stop BKU-Erkennung -->
+ </div>
+ <% } else if (Constants.SIGNATURE_DEVICE_MOC.equals(device)) { %>
+ <div>
+ <img src="images/chiperling.jpg" width="57" height="57" alt="<fmt:message key="common.mocca"/>"/>
+ </div>
+ <% } else { %>
+ <div class="pdfasverticalspace"></div>
+ <% } // end if %>
+ <div>
+ <input type="submit" value="<fmt:message key="signupload.button.sign"/>" onclick="return submitForm(false);"/>
+ <input type="submit" value="<fmt:message key="signupload.button.preview"/>" onclick="return submitForm(true);"/>
+ </div>
+
+</form>
+
+</body>
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/verifylist.jsp b/pdf-as-web/src/main/webapp/jsp/verifylist.jsp
new file mode 100644
index 0000000..2ebca39
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/verifylist.jsp
@@ -0,0 +1,73 @@
+<%@ page import="at.gv.egiz.pdfas.web.FormFields" %>
+<%@ page import="at.gv.egiz.pdfas.web.servlets.VerifyPreviewServlet"%>
+<%@ page import="at.gv.egiz.pdfas.api.commons.SignatureInformation"%>
+<%@ page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation"%>
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ page import="java.util.List" %>
+<%@ page errorPage="error_verify.jsp" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.SessionHelper"%>
+<%@ include file="language.jsp" %>
+<%
+
+ VerifySessionInformation si = (VerifySessionInformation) SessionHelper.getSession(request);
+
+ List signature_holders = si.analyzeResult.getSignatures();
+
+%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+ <title><fmt:message key="common.title"/></title>
+ </head>
+ <body>
+ <h1><fmt:message key="common.title"/></h1>
+ <%
+ if (signature_holders.size() > 1) {
+ %>
+ <h2><fmt:message key="verifylist.heading2.plural"/></h2>
+ <% } else { %>
+ <h2><fmt:message key="verifylist.heading2.singular"/></h2>
+ <%
+ }
+ %>
+ <%
+ for (int i = 0; i < signature_holders.size(); i++) {
+ SignatureInformation sigInfo = (SignatureInformation) signature_holders.get(i);
+ %>
+ <div class="pdfasverticalspace"></div>
+ <div class="pdfaslisttablecontainer">
+ <%= VerifyPreviewServlet.renderRequiredKeysText(getServletContext(), sigInfo) %>
+ <form action="<%= response.encodeURL(request.getContextPath() + "/VerifyPreview") %>"
+ accept-charset="UTF-8"
+ method="get"
+ style="float:left;">
+ <input type="hidden" name="<%= FormFields.FIELD_VERIFY_WHICH %>" value="<%= i %>" />
+ <input type="hidden" name="<%= FormFields.FIELD_PREVIEW %>" value="false" />
+ <input type="submit" value="<fmt:message key="verifylist.button.verifysinglesignature"/>" />
+ </form>
+ <form action="<%= response.encodeURL(request.getContextPath() + "/VerifyPreview") %>"
+ accept-charset="UTF-8"
+ method="get"
+ style="float:left;">
+ <input type="hidden" name="<%= FormFields.FIELD_VERIFY_WHICH %>" value="<%= i %>" />
+ <input type="hidden" name="<%= FormFields.FIELD_PREVIEW %>" value="true" />
+ <input type="submit" value="<fmt:message key="verifylist.button.preview"/>" />
+ </form>
+ </div>
+ <%
+ }
+ %>
+ <div class="pdfasverticalspace"></div>
+ <div class="pdfasverticalspace"></div>
+ <form action="<%= response.encodeURL(request.getContextPath() + "/VerifyPreview") %>"
+ accept-charset="UTF-8"
+ method="get">
+ <input type="hidden" name="<%= FormFields.FIELD_VERIFY_WHICH %>" value="<%= FormFields.VALUE_VERIFY_WHICH_ALL %>" />
+ <input type="hidden" name="<%= FormFields.FIELD_PREVIEW %>" value="false" />
+ <input type="submit" value="<fmt:message key="verifylist.button.verifyallsignatures"/>" />
+ </form>
+ <div class="pdfasverticalspace"></div>
+ <a href="<%= request.getContextPath() %>/jsp/verifyupload.jsp"><fmt:message key="common.back"/></a>
+ </body>
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/verifypreview.jsp b/pdf-as-web/src/main/webapp/jsp/verifypreview.jsp
new file mode 100644
index 0000000..a65aa4e
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/verifypreview.jsp
@@ -0,0 +1,60 @@
+<%@page import="at.gv.egiz.pdfas.api.commons.SignatureInformation"%>
+<%@page import="at.gv.egiz.pdfas.web.servlets.VerifyPreviewServlet"%>
+<%@page import="at.gv.egiz.pdfas.web.FormFields"%>
+<%@page import="at.gv.egiz.pdfas.web.session.VerifySessionInformation"%>
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ page errorPage="error_verify.jsp" %>
+<%@ page import="java.util.List" %>
+<%@ page import="at.gv.egiz.pdfas.web.helper.SessionHelper"%>
+<%@ include file="language.jsp" %>
+<%
+ String btlurl = (String)request.getAttribute("btlurl");
+
+ VerifySessionInformation si = (VerifySessionInformation) SessionHelper.getSession(request);
+
+ List signature_holders = si.analyzeResult.getSignatures();
+ Integer ver_wh = (Integer) request.getAttribute(FormFields.FIELD_VERIFY_WHICH);
+ int verify_which = ver_wh.intValue();
+ SignatureInformation signatureInfo = (SignatureInformation) signature_holders.get(verify_which);
+ String signedText = (String)request.getAttribute(FormFields.FIELD_SIGNED_TEXT);
+%>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <title><fmt:message key="common.title"/></title>
+ <script type="text/javascript">
+ <!--
+ function initSigValues() {
+ <%= VerifyPreviewServlet.renderRequiredKeysJavaScript(getServletContext(), signatureInfo, "") %>
+ }
+ -->
+ </script>
+</head>
+<body">
+<h1><fmt:message key="common.title"/></h1>
+<h2><fmt:message key="verifypreview.heading2"/></h2>
+<form action="<%= response.encodeURL(request.getContextPath() + "/VerifyPreview") %>"
+ name="submitform"
+ enctype="multipart/form-data"
+ accept-charset="UTF-8"
+ method="post">
+ <input type="hidden" name="<%= FormFields.FIELD_VERIFY_WHICH %>" value="<%= verify_which %>" />
+ <div class="pdfasnote"><label><fmt:message key="verifypreview.reconstruction"/>:</label></div>
+ <div class="pdfasverticalspace"></div>
+ <textarea class="pdfaspreviewfield" rows="14" name="<%= FormFields.FIELD_RAW_DOCUMENT_TEXT %>"><%= signedText %></textarea>
+ <%= VerifyPreviewServlet.renderRequiredKeys(getServletContext(), signatureInfo, "", false) %>
+ <br />
+ <input type="hidden" name="verify" value="false" />
+ <input type="submit" value="<fmt:message key="verifypreview.applyvalues"/>" />
+ <input type="submit" value="<fmt:message key="verifypreview.applyvaluesandverify"/>" onclick="document.submitform.verify.value='true'" />
+</form>
+<div class="pdfasverticalspace"></div>
+<a href="<%= request.getContextPath() %>/jsp/verifyupload.jsp"><fmt:message key="common.back"/></a>
+<a href="<%=btlurl%>"><fmt:message key="common.backtolist"/></a>
+ <script language="javascript" type="text/javascript">
+ <!--
+ initSigValues();
+ -->
+ </script>
+</body>
+</html>
diff --git a/pdf-as-web/src/main/webapp/jsp/verifyupload.jsp b/pdf-as-web/src/main/webapp/jsp/verifyupload.jsp
new file mode 100644
index 0000000..34e791e
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/jsp/verifyupload.jsp
@@ -0,0 +1,41 @@
+<%@page import="at.gv.egiz.pdfas.web.FormFields"%>
+<%@ page contentType="text/html; charset=UTF-8" %>
+
+<%@ include file="language.jsp" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <title><fmt:message key="common.title"/></title>
+</head>
+<body>
+<h1><fmt:message key="common.title"/></h1>
+<h2><fmt:message key="verifyupload.heading2"/></h2>
+<div class="pdfasnote"><fmt:message key="verifyupload.note"/><br/></div>
+<form name="submitform" enctype="multipart/form-data" method="post" action="<%= request.getContextPath() %>/Verify" accept-charset="UTF-8">
+ <textarea class="pdfaspreviewfield" rows="14" name="<%= FormFields.FIELD_UPLOAD %>"></textarea>
+ <table border="0" cellspacing="0" cellpadding="4" id="pdfasupperformtable">
+ <tr>
+ <td nowrap="nowrap"><label><fmt:message key="verifyupload.verifydevice"/>:</label></td>
+ <td><%= FormFields.generateConnectorSelectBox(getServletContext()) %></td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap"><label><fmt:message key="verifyupload.verifymode"/>:</label></td>
+ <td><span><fmt:message key="common.textual"/></span></td>
+ </tr>
+ </table>
+
+ <div>
+ <!-- =============================================== Start BKU-Erkennung -->
+ <iframe src="<%= request.getContextPath() %>/bku-erkennung/bku-erkennung_iframe.html" width="152" height="57" id="sep_iframe" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" allowtransparency="true"></iframe>
+ <!-- ================================================ Stop BKU-Erkennung -->
+ </div>
+ <input type="hidden" name="<%= FormFields.FIELD_PREVIEW %>" value="false" />
+ <input type="submit" value="<fmt:message key="verifyupload.button.verifyallsignatures"/>" />
+ <input type="submit" value="<fmt:message key="verifyupload.button.listsignatures"/>" onclick="document.submitform.<%= FormFields.FIELD_PREVIEW %>.value='true'" />
+
+</form>
+<div class="pdfasverticalspace"></div>
+<a href="<%= request.getContextPath() %>/"><fmt:message key="common.back"/></a>
+</body>
+</html> \ No newline at end of file