diff options
Diffstat (limited to 'pdf-as-web')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java | 25 | ||||
-rw-r--r-- | pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language.properties | 19 | ||||
-rw-r--r-- | pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language_de.properties | 20 | ||||
-rw-r--r-- | pdf-as-web/src/main/webapp/images/dreieck-hinauf.gif | bin | 0 -> 114 bytes | |||
-rw-r--r-- | pdf-as-web/src/main/webapp/images/dreieck-hinunter.gif | bin | 0 -> 113 bytes | |||
-rw-r--r-- | pdf-as-web/src/main/webapp/jsp/signupload.jsp | 56 | ||||
-rw-r--r-- | pdf-as-web/src/main/webapp/jsp/supportedEID.jsp | 190 |
7 files changed, 300 insertions, 10 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java index a19b24a..a4203ff 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java @@ -145,7 +145,7 @@ public class DataURLServlet extends HttpServlet { protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
log.debug("Data URL is accessed."); //$NON-NLS-1$
-
+
Object sessionObject = null;
try {
sessionObject = SessionHelper.getSession(request);
@@ -164,6 +164,9 @@ public class DataURLServlet extends HttpServlet { } catch (ExternalErrorException f) {
if (statLog.isInfoEnabled()) {
+
+ String ua = request.getHeader("User-Agent");
+
long endTime = System.currentTimeMillis();
// String toReport = "SIGN;" + si.mode + ";" + si.filename +
// ";"+ fileSize + ";" +
@@ -174,13 +177,13 @@ public class DataURLServlet extends HttpServlet { SignSessionInformation si = (SignSessionInformation) sessionObject;
toReport = "SIGN;" + si.mode + ";" + si.connector + ";"
+ si.pdfDataSource.getLength() + ";"
- + (endTime - si.startTime) + ";ERROR";
+ + (endTime - si.startTime) + ";ERROR;" + ua;
} else {
VerifySessionInformation si = (VerifySessionInformation) sessionObject;
try {
- toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";" + VerifyServlet.debugVerifyResults(si.verifyResults) + ";ERROR";
+ toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";" + VerifyServlet.debugVerifyResults(si.verifyResults) + ";ERROR;" + ua;
} catch (SettingNotFoundException e1) {
- toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";ERROR-debug-verify" + ";ERROR";
+ toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";ERROR-debug-verify" + ";ERROR;" + ua;
}
}
}
@@ -398,7 +401,7 @@ public class DataURLServlet extends HttpServlet { response.setCharacterEncoding("UTF-8");
response.getWriter()
.println(
- "Das detached XML kann nicht direkt durch die BKU geschliffen werden, weil diese es als Request interpretieren würde. Daher das XML als Text:");
+ "Das detached XML kann nicht direkt durch die BKU geschliffen werden, weil diese es als Request interpretieren w�rde. Daher das XML als Text:");
response.getWriter().println(
new String(si.signedPdf, "UTF-8"));
if (statLog.isInfoEnabled()) {
@@ -408,7 +411,7 @@ public class DataURLServlet extends HttpServlet { String toReport = "SIGN;" + si.mode + ";"
+ si.connector + ";"
+ si.pdfDataSource.getLength() + ";"
- + (endTime - si.startTime) + ";OK";
+ + (endTime - si.startTime) + ";OK;" + userAgent;
statLog.info(toReport);
}
@@ -427,7 +430,7 @@ public class DataURLServlet extends HttpServlet { String toReport = "SIGN;" + si.mode + ";"
+ si.connector + ";"
+ si.pdfDataSource.getLength() + ";"
- + (endTime - si.startTime) + ";OK";
+ + (endTime - si.startTime) + ";OK;" + userAgent;
statLog.info(toReport);
}
@@ -468,7 +471,7 @@ public class DataURLServlet extends HttpServlet { String toReport = "SIGN;" + si.mode + ";"
+ si.connector + ";"
+ si.pdfDataSource.getLength() + ";"
- + (endTime - si.startTime) + ";OK";
+ + (endTime - si.startTime) + ";OK;" + userAgent;
statLog.info(toReport);
}
@@ -499,6 +502,8 @@ public class DataURLServlet extends HttpServlet { SignatureException {
log.trace("processVerify");
+ String userAgent = request.getHeader("user-agent");
+
String xml_response = request.getParameter("XMLResponse"); //$NON-NLS-1$
log.debug("xml_response = " + xml_response); //$NON-NLS-1$
@@ -558,9 +563,9 @@ public class DataURLServlet extends HttpServlet { // ";"+ fileSize + ";" +
String toReport = null;
try {
- toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";" + VerifyServlet.debugVerifyResults(si.verifyResults) + ";OK";
+ toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";" + VerifyServlet.debugVerifyResults(si.verifyResults) + ";OK;" + userAgent;
} catch (SettingNotFoundException e1) {
- toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";ERROR-debug-verify" + ";OK";
+ toReport = "VERIFY;"+ si.file_name + ";"+ 0 + ";" + (endTime - si.startTime) + ";ERROR-debug-verify" + ";OK;" + userAgent;
}
statLog.info(toReport);
diff --git a/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language.properties b/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language.properties index c9a1b02..2f541ce 100644 --- a/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language.properties +++ b/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language.properties @@ -138,3 +138,22 @@ verifyupload.heading2 = Verify document signature verifyupload.note = Please enter the complete document text together with the signature block.
verifyupload.verifydevice = Verification device
verifyupload.verifymode = Verification mode
+
+supported.EID.link = Supported cards from european countries
+
+supported.EID.title = Supported signature-creation devices
+
+supported.EID.text = This service creates qualified electronic signatures following the PDF-AS specification. Signatures can be validated at <a href="http://www.signaturpruefung.gv.at">www.signaturpruefung.gv.at</a>. The service supports signature-creation devices of the following countries.
+
+supported.EID.austria = Austria (citizen card as smart card or mobile phone signature)
+supported.EID.belgium = Belgium
+supported.EID.estonia = Estonia
+supported.EID.finland = Finland
+supported.EID.iceland = Iceland
+supported.EID.italy = Italy
+supported.EID.liechtenstein = Liechtenstein
+supported.EID.lithuania = Lithuania
+supported.EID.portugal = Portugal
+supported.EID.spain = Spain
+supported.EID.sweden = Sweden
+supported.EID.switzerland = Switzerland
\ No newline at end of file diff --git a/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language_de.properties b/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language_de.properties index d7185bc..7573f9e 100644 --- a/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language_de.properties +++ b/pdf-as-web/src/main/resources/at/gv/egiz/pdfas/web/i18n/language_de.properties @@ -140,3 +140,23 @@ verifyupload.heading2 = Dokument Signatur pr\u00FCfen verifyupload.note = Hier bitte den vollst\u00E4ndigen Dokumenttext samt Signaturblock eingeben.
verifyupload.verifydevice = Pr\u00FCf-Applikation
verifyupload.verifymode = Pr\u00FCf-Modus
+
+supported.EID.link = Folgende Karten aus dem EU Raum werden unterst\u00FCtzt
+
+supported.EID.title = Unterst\u00FCtzte Signaturerstellungseinheiten
+
+supported.EID.text = Dieses Service erstellt qualifizierte Signaturen nach der Spezifikation PDF-AS. Die Pr\u00FCfung der Signaturen kann unter <a href="http://www.signaturpruefung.gv.at">www.signaturpruefung.gv.at</a> erfolgen. Es werden Signaturerstellungseinheiten aus folgenden L\u00E4ndern unterst\u00FCtzt:
+
+supported.EID.austria = \u00D6sterreich (B\u00FCrgerkarte mit Chipkarte oder Handy-Signatur)
+supported.EID.belgium = Belgien
+supported.EID.estonia = Estland
+supported.EID.finland = Finnland
+supported.EID.iceland = Island
+supported.EID.italy = Italien
+supported.EID.liechtenstein = Liechtenstein
+supported.EID.lithuania = Litauen
+supported.EID.portugal = Portugal
+supported.EID.spain = Spanien
+supported.EID.sweden = Schweden
+supported.EID.switzerland = Schweiz
+
diff --git a/pdf-as-web/src/main/webapp/images/dreieck-hinauf.gif b/pdf-as-web/src/main/webapp/images/dreieck-hinauf.gif Binary files differnew file mode 100644 index 0000000..47fbdae --- /dev/null +++ b/pdf-as-web/src/main/webapp/images/dreieck-hinauf.gif diff --git a/pdf-as-web/src/main/webapp/images/dreieck-hinunter.gif b/pdf-as-web/src/main/webapp/images/dreieck-hinunter.gif Binary files differnew file mode 100644 index 0000000..b63f11c --- /dev/null +++ b/pdf-as-web/src/main/webapp/images/dreieck-hinunter.gif diff --git a/pdf-as-web/src/main/webapp/jsp/signupload.jsp b/pdf-as-web/src/main/webapp/jsp/signupload.jsp index 89a9360..a65f56a 100644 --- a/pdf-as-web/src/main/webapp/jsp/signupload.jsp +++ b/pdf-as-web/src/main/webapp/jsp/signupload.jsp @@ -254,6 +254,9 @@ else {
document.getElementById('descriptionbeforefreetext').style.display='none';
}
+
+ document.getElementById('cardlink').style.display='none';
+
document.getElementById('descriptionduring').style.display='block';
//document.getElementById('sprachlink').style.display = 'none';
//document.getElementById('sprachlinkdeaktiviert').style.display= 'block';
@@ -295,6 +298,9 @@ if (document.getElementById('descriptionbeforefreetext').style.display=='block') {
document.getElementById('descriptionbeforefreetext').style.display='none'
}
+ if (document.getElementById('cardlink').style.display=='block') {
+ document.getElementById('cardlink').style.display='none'
+ }
if (document.getElementById('descriptionduring').style.display=='block') {
document.getElementById('descriptionduring').style.display='none'
}
@@ -446,6 +452,21 @@ }
}
+
+ function PDFEinAusblenden(objekt) {
+ if (document.getElementById(objekt).style.display == 'block') {
+ document.getElementById(objekt).style.display = 'none';
+ document.getElementById('dreieck-' + objekt).src = 'images/dreieck-hinunter.gif';
+ document.getElementById('dreieck-' + objekt).alt = objekt + ' anzeigen';
+ }
+ else {
+ document.getElementById(objekt).style.display = 'block';
+ document.getElementById('dreieck-' + objekt).src = 'images/dreieck-hinauf.gif';
+ document.getElementById('dreieck-' + objekt).alt = objekt + ' ausblenden';
+ }
+ document.getElementById('dreieck-' + objekt).parentNode.blur();
+ }
+
//Check the height of the IFrame to be shown for adjusting the high
//of the currently showed div's as well as of those of other pages
function checkHeight() {
@@ -558,6 +579,41 @@ </div>
<% } %>
+ <div id="cardlink" style="display:block">
+ <a id='Link-cards' class='keinhover'><fmt:message key="supported.EID.link"/></a><a><img id='dreieck-CardSupport' alt="<fmt:message key="supported.EID.link"/>" src='images/dreieck-hinunter.gif' width='9' height='8' class='dreieck' /></a>
+ </div>
+
+ <script type='text/javascript'>
+ document.getElementById('Link-cards').href = "javascript:PDFEinAusblenden('CardSupport');";
+ document.getElementById('Link-cards').className = '';
+ document.getElementById('dreieck-CardSupport').parentNode.href = "javascript:PDFEinAusblenden('CardSupport');";
+ </script>
+ <div id="CardSupport" style="display:none">
+ <p>
+ <fmt:message key="supported.EID.text"/>
+ </p>
+ <ul class="links" style="margin-left:20px;">
+ <li><fmt:message key="supported.EID.austria"/></li>
+ <li><fmt:message key="supported.EID.belgium"/></li>
+ <li><fmt:message key="supported.EID.estonia"/></li>
+ <li><fmt:message key="supported.EID.finland"/></li>
+ <li><fmt:message key="supported.EID.iceland"/></li>
+ <li><fmt:message key="supported.EID.italy"/></li>
+ <li><fmt:message key="supported.EID.liechtenstein"/></li>
+ <li><fmt:message key="supported.EID.lithuania"/></li>
+ <li><fmt:message key="supported.EID.portugal"/></li>
+ <% if(german) { %>
+ <li><fmt:message key="supported.EID.sweden"/></li>
+ <li><fmt:message key="supported.EID.spain"/></li>
+ <% } else { %>
+ <li><fmt:message key="supported.EID.spain"/></li>
+ <li><fmt:message key="supported.EID.sweden"/></li>
+ <% } %>
+ <li><fmt:message key="supported.EID.switzerland"/></li>
+</ul>
+ </div> <!-- CardSupport -->
+</div>
+
<div id="descriptionduring" style="display:none">
<fmt:message key="signupload.signing"/>
</div>
diff --git a/pdf-as-web/src/main/webapp/jsp/supportedEID.jsp b/pdf-as-web/src/main/webapp/jsp/supportedEID.jsp new file mode 100644 index 0000000..b9d3ed0 --- /dev/null +++ b/pdf-as-web/src/main/webapp/jsp/supportedEID.jsp @@ -0,0 +1,190 @@ +<%@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"%> +<%@ page import="at.gv.egiz.pdfas.web.i18n.LocaleParamFilter"%> +<%@ page import="java.util.Locale"%> +<%@ page import="at.gv.egiz.pdfas.web.helper.LocalRequestHelper"%> + +<%@ include file="/jsp/language.jsp"%> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html> +<head> + +<% + + String sessionLang = null; + + //When Change Language link is hit, three parameters are passed with a hidden form + //so that the settings keep the same. Check if this parameters are passed... + String source_mode_request = (String)request.getParameter("source_mode"); + String text_request = (String)request.getParameter("text"); + String lang_request = (String)request.getParameter("newlanguage"); + + if (lang_request!=null) { + if (lang_request.equals("de")) { + session.setAttribute(SessionAttributes.LANGUAGE, "de"); + } + else { + session.setAttribute(SessionAttributes.LANGUAGE, "en"); + } + } + + String serverUrl=LocalRequestHelper.getLocalServerAddress(request,response); + String baseUrl=LocalRequestHelper.getLocalContextAddress(request,response); + + //Check if application is started within an iframe from an extern application + String extern = (String)request.getParameter("extern"); + boolean startedFromIFrame = false; + + if (extern !=null) { + if (extern.equals("yes")) { + startedFromIFrame = true; + } + } + + String requestLang = (String)request.getParameter("locale"); + sessionLang = (String)session.getAttribute(SessionAttributes.LANGUAGE); + String language = ""; + + //If language within session... + if (sessionLang!=null) { + //But if language also changed by clicking the change language link + //or passed as parameter with the URL... + if (requestLang!=null) { + //If language has changed, change it also within session + if (!sessionLang.equals(requestLang)) { + session.setAttribute(SessionAttributes.LANGUAGE, requestLang); + } + //else do nothing + } + //else no change + } + //Else still no language within session + else { + //But if language changed by clicking the change language link + //or passed as parameter with the URL... + if (requestLang!=null) { + if (requestLang.equals("de")) { + session.setAttribute(SessionAttributes.LANGUAGE,"de"); + } + else { + session.setAttribute(SessionAttributes.LANGUAGE,"en"); + } + } + //No language here. Set to german + else { + session.setAttribute(SessionAttributes.LANGUAGE,"de"); + } + } + + language = (String)session.getAttribute(SessionAttributes.LANGUAGE); + + boolean german = true; + + if (language != null) { + if (language.equals("en")) { + german = false; + } + } + + if (german) { +%> +<fmt:setLocale value="de" /> +<% + } else { +%> +<fmt:setLocale value="en" /> +<% + } +%> + +<title> + <fmt:message key="supported.EID.title"/> +</title> + +<% + //If application called within an IFrame from an external application + //choose template and set session attribute + if (!startedFromIFrame) { + session.setAttribute("extern", "no"); + if (german) { + %> + <meta name="decorator" content="production_de" /> + <link rel="stylesheet" type="text/css" href="<%=baseUrl%>/css/pdfas-styles.css" /> + <% } else { %> + <meta name="decorator" content="production_en" /> + <link rel="stylesheet" type="text/css" href="<%=baseUrl%>/css/pdfas-styles.css" /> + <% } + } else { + session.setAttribute("extern", "yes"); + %> + <link rel="stylesheet" type="text/css" href="<%=baseUrl%>/css/extern-styles.css" /> + <% } %> + + <% if ((serverUrl.contains("http")) && (!serverUrl.contains("https")) && (!serverUrl.contains("localhost"))) { + baseUrl = baseUrl.replace("http","https"); %> + <meta HTTP-EQUIV="REFRESH" content="0; url=<%=baseUrl %>/"> + <% } %> + +</head> +<body> + +<h1 id="heading1" style="display:block"> +<fmt:message key="supported.EID.title"/> +</h1> +<div class="linksinhalt"> + + +<fmt:message key="supported.EID.text"/> + +<ul> + <li><fmt:message key="supported.EID.austria"/></li> + <li><fmt:message key="supported.EID.belgium"/></li> + <li><fmt:message key="supported.EID.estonia"/></li> + <li><fmt:message key="supported.EID.finland"/></li> + <li><fmt:message key="supported.EID.iceland"/></li> + <li><fmt:message key="supported.EID.italy"/></li> + <li><fmt:message key="supported.EID.liechtenstein"/></li> + <li><fmt:message key="supported.EID.lithuania"/></li> + <li><fmt:message key="supported.EID.portugal"/></li> + <% if(german) { %> + <li><fmt:message key="supported.EID.sweden"/></li> + <li><fmt:message key="supported.EID.spain"/></li> + <% } else { %> + <li><fmt:message key="supported.EID.spain"/></li> + <li><fmt:message key="supported.EID.sweden"/></li> + <% } %> + <li><fmt:message key="supported.EID.switzerland"/></li> +</ul> +</div> +<div style="display: none;"> +<form id="submitform" name="submitform"> + <select id="source" name="source_filefreetext"> + <option name="none" value="none" selected="selected"></option> + </select> +</form> +</div> + +<!-- Form that sets the source choosed and eventually the text when free text is choosen. + This is for passing the information when the change language link was hit. --> + <form name="changelanguage" id="changelanguage" method="post" accept-charset="UTF-8" action="<%=baseUrl %>/jsp/supportedEID.jsp" target="_self"> + <% if (german) { %> + <input type="hidden" name="newlanguage" value="en"/> + <% } else { %> + <input type="hidden" name="newlanguage" value="de"/> + <% } %> + <input type="hidden" name="source_mode" value="file"/> + <input type="hidden" name="text" value=""/> + </form> + + <script language="javascript" type="text/javascript"> + checkHeight(); + detectBrowser(); + </script> + +</body> +</html>
\ No newline at end of file |