summaryrefslogtreecommitdiff
path: root/BKUOnline/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'BKUOnline/src/main')
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java6
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java6
-rw-r--r--BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java2
-rw-r--r--BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml21
-rw-r--r--BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd14
-rw-r--r--BKUOnline/src/main/webapp/applet.jsp14
-rw-r--r--BKUOnline/src/main/webapp/css/applet.css (renamed from BKUOnline/src/main/webapp/css/login.css)0
-rw-r--r--BKUOnline/src/main/webapp/slRequestForm.html183
-rw-r--r--BKUOnline/src/main/wsdl/stal-service.xsd14
9 files changed, 170 insertions, 90 deletions
diff --git a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java
index c758bcee..b858083b 100644
--- a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java
+++ b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java
@@ -166,6 +166,10 @@ public class BKURequestHandler extends SpringBKUServlet {
log.trace("Found applet hash data display parameter: " + hashDataDisplay);
session.setAttribute("appletHashDataDisplay", hashDataDisplay);
}
+ if (extension != null && !"".equals(extension)) {
+ log.trace("Found applet extension parameter: " + extension);
+ session.setAttribute("extension", extension);
+ }
if (localeFormParam != null) {
log.debug("overrule accept-language locale " + locale
+ " with form param " + localeFormParam);
@@ -179,7 +183,7 @@ public class BKURequestHandler extends SpringBKUServlet {
// handle server side redirect url after processing
String redirectUrl = bindingProcessor.getRedirectURL();
if ( redirectUrl != null) {
- log.debug("Got redirect URL "+redirectUrl+". Deferring browser redirect.");
+ log.info("Got redirect URL "+redirectUrl+". Deferring browser redirect.");
session.setAttribute(REDIRECT_URL_SESSION_ATTRIBUTE, redirectUrl);
}
// TODO error if no dispatcher found
diff --git a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java
index f271dfc9..12707117 100644
--- a/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java
+++ b/BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java
@@ -109,15 +109,15 @@ public class ResultServlet extends SpringBKUServlet {
bp.writeResultTo(new NullOutputStream(), encoding);
getBindingProcessorManager().removeBindingProcessor(bp.getId());
} finally {
- log.debug("Executing deferred browser redirect to: " + redirectUrl);
+ log.info("Executing deferred browser redirect to: " + redirectUrl);
resp.sendRedirect(redirectUrl);
session.invalidate();
}
return;
}
resp.setStatus(bp.getResponseCode());
- resp.setHeader("Cache-Control", "no-store"); // HTTP 1.1
- resp.setHeader("Pragma", "no-cache"); // HTTP 1.0
+ resp.setHeader("Cache-Control", "no-store"); // HTTP 1.1
+ resp.setHeader("Pragma", "no-cache"); // HTTP 1.0
resp.setDateHeader("Expires", 0);
if (configurator.getProperty(USER_AGENT_PROPERTY_KEY) != null) {
resp.setHeader(HttpUtil.HTTP_HEADER_USER_AGENT, configurator
diff --git a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java
index a30c6bb2..c30cd75d 100644
--- a/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java
+++ b/BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java
@@ -16,8 +16,6 @@
*/
package at.gv.egiz.stal.service.impl;
-//import at.buergerkarte.namespaces.cardchannel.service.CommandAPDUType;
-//import at.buergerkarte.namespaces.cardchannel.service.ScriptType;
import at.buergerkarte.namespaces.cardchannel.service.CommandAPDUType;
import at.buergerkarte.namespaces.cardchannel.service.ScriptType;
import at.gv.egiz.bku.binding.BindingProcessor;
diff --git a/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml b/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml
index 321e1e98..6a234b73 100644
--- a/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml
+++ b/BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml
@@ -10,9 +10,9 @@
CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the
License.
- -->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
+ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="STALFactory" class="at.gv.egiz.stal.service.impl.RequestBrokerSTALFactory"
@@ -39,8 +39,14 @@
key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:InfoboxReadRequest"
value="at.gv.egiz.bku.slcommands.impl.InfoboxReadCommandImpl" />
<entry
+ key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:InfoboxUpdateRequest"
+ value="at.gv.egiz.bku.slcommands.impl.InfoboxUpdateCommandImpl" />
+ <entry
key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:CreateXMLSignatureRequest"
value="at.gv.egiz.bku.slcommands.impl.CreateXMLSignatureCommandImpl" />
+ <entry
+ key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:GetStatusRequest"
+ value="at.gv.egiz.bku.slcommands.impl.GetStatusCommandImpl" />
</map>
</property>
</bean>
@@ -55,9 +61,12 @@
<entry
key="IdentityLink"
value="at.gv.egiz.bku.slcommands.impl.IdentityLinkInfoboxImpl" />
-<!-- <entry-->
-<!-- key="CardChannel"-->
-<!-- value="at.gv.egiz.bku.slcommands.impl.CardChannelInfoboxImpl" />-->
+ <entry
+ key="CardChannel"
+ value="at.gv.egiz.bku.slcommands.impl.CardChannelInfoboxImpl" />
+ <entry
+ key="SV-Personendaten"
+ value="at.gv.egiz.bku.slcommands.impl.SVPersonendatenInfoboxImpl" />
</map>
</property>
</bean>
diff --git a/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd b/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd
index 6f3946dc..2389e043 100644
--- a/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd
+++ b/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd
@@ -33,6 +33,7 @@
<element name="InfoboxReadResponse" type="tns:InfoboxReadResponseType"/>
<element name="SignResponse" type="tns:SignResponseType"/>
<element name="ErrorResponse" type="tns:ErrorResponseType"/>
+ <element name="StatusResponse" type="tns:StatusResponseType"/>
</choice>
<attribute name="SessionId" type="string"/>
</complexType>
@@ -65,6 +66,13 @@
</extension>
</complexContent>
</complexType>
+ <complexType name="StatusResponseType">
+ <complexContent>
+ <extension base="tns:ResponseType">
+ <attribute name="cardReady" type="boolean" />
+ </extension>
+ </complexContent>
+ </complexType>
<complexType name="GetNextRequestResponseType">
<!-- abstract Request/Response type not supported by JAX-WS 2.0 (jdk < 1.6.0_04)
<sequence>
@@ -74,6 +82,7 @@
<element name="InfoboxReadRequest" type="tns:InfoboxReadRequestType"/>
<element name="SignRequest" type="tns:SignRequestType"/>
<element name="QuitRequest" type="tns:QuitRequestType"/>
+ <element name="StatusRequest" type="tns:StatusRequestType"/>
</choice>
<attribute name="SessionId" type="string"/>
</complexType>
@@ -118,6 +127,11 @@
<extension base="tns:RequestType"/>
</complexContent>
</complexType>
+ <complexType name="StatusRequestType">
+ <complexContent>
+ <extension base="tns:RequestType"/>
+ </complexContent>
+ </complexType>
<complexType name="GetHashDataInputType">
<sequence>
<element name="Reference" maxOccurs="unbounded">
diff --git a/BKUOnline/src/main/webapp/applet.jsp b/BKUOnline/src/main/webapp/applet.jsp
index ada48f22..591ed1bf 100644
--- a/BKUOnline/src/main/webapp/applet.jsp
+++ b/BKUOnline/src/main/webapp/applet.jsp
@@ -24,14 +24,15 @@
<title>MOCCA Applet</title>
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<script type="text/javascript" src="js/deployJava.js"></script>
- <style type="text/css" media="all">@import "css/login.css";</style>
+ <style type="text/css" media="all">@import "css/applet.css";</style>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<%
- // min W/H (for de locale): 152px/145px with gui style 'tiny'
+ // min W/H (for de locale): 145px/145px with gui style 'tiny'
+ // (vs. 152px on linux)
int width = session.getAttribute("appletWidth") == null ? 190
: (Integer) session.getAttribute("appletWidth"); //230 for workshop demo integration
int height = session.getAttribute("appletHeight") == null ? 130
@@ -39,12 +40,15 @@
String backgroundImg = (String) session.getAttribute("appletBackground");
String guiStyle = (String) session.getAttribute("appletGuiStyle");
String locale = (String) session.getAttribute("locale");
+ String extension = (String) session.getAttribute("extension");
String appletClass, appletArchive;
- //if (Boolean.parseBoolean((String) session.getAttribute("appletExtension"))) {
- if ("activation".equals(guiStyle)) {
+ if ("activation".equals(extension)) {
appletArchive = "BKUAppletExt.jar";
- appletClass = "at.gv.egiz.bku.online.applet.ext.BKUAppletExt.class";
+ appletClass = "at.gv.egiz.bku.online.applet.ActivationApplet.class";
+ } else if ("pin".equals(extension)) {
+ appletArchive = "BKUAppletExt.jar";
+ appletClass = "at.gv.egiz.bku.online.applet.PINManagementApplet.class";
} else {
appletArchive = "BKUApplet.jar";
appletClass = "at.gv.egiz.bku.online.applet.BKUApplet.class";
diff --git a/BKUOnline/src/main/webapp/css/login.css b/BKUOnline/src/main/webapp/css/applet.css
index 4bfbd77d..4bfbd77d 100644
--- a/BKUOnline/src/main/webapp/css/login.css
+++ b/BKUOnline/src/main/webapp/css/applet.css
diff --git a/BKUOnline/src/main/webapp/slRequestForm.html b/BKUOnline/src/main/webapp/slRequestForm.html
index ff96a6fa..76cd1be9 100644
--- a/BKUOnline/src/main/webapp/slRequestForm.html
+++ b/BKUOnline/src/main/webapp/slRequestForm.html
@@ -16,53 +16,67 @@
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
-<head>
-<title>Security-Layer v1.2 Request Formular</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-</head>
-<body>
-<h1>Security-Layer v1.2 Request Formular</h1>
-<style type="text/css">
-fieldset {
- padding: 1em;
- font: 80%/ 1 sans-serif;
- background-color: #F2EFE9;
- padding-left: 5em;
-}
+ <head>
+ <title>Security-Layer v1.2 Request Formular</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script language="JavaScript">
+ <!--
+ function setAppletDimension(width, height)
+ {
+ document.forms.slform.appletWidth.value=width;
+ document.forms.slform.appletHeight.value=height;
+ }
+ function setNOPRequest() {
+ document.forms.slform.XMLRequest.value='<?xml version="1.0" encoding="UTF-8"?><NullOperationRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"/>';
+ }
+
+ //-->
+ </script>
-fieldset.submit {
- float: none;
- width: auto;
- border: 0 none #FFF;
- padding-left: 14em;
- border-style: none;
- background-color: transparent;
-}
+ </head>
+ <body>
+ <h1>Security-Layer v1.2 Request Formular</h1>
+ <style type="text/css">
+ fieldset {
+ padding: 1em;
+ font: 80%/ 1 sans-serif;
+ background-color: #F2EFE9;
+ padding-left: 5em;
+ }
-label {
- float: left;
- width: 8em;
- margin-right: 0.5em;
- padding-top: 0.2em;
- text-align: right;
- font-weight: bold;
- color: #000;
- padding-top: 0.2em;
-}
+ fieldset.submit {
+ float: none;
+ width: auto;
+ border: 0 none #FFF;
+ padding-left: 14em;
+ border-style: none;
+ background-color: transparent;
+ }
-legend {
- border: 1px solid;
- padding: 2px 6px
-}
-</style>
+ label {
+ float: left;
+ width: 8em;
+ margin-right: 0.5em;
+ padding-top: 0.2em;
+ text-align: right;
+ font-weight: bold;
+ color: #000;
+ padding-top: 0.2em;
+ }
-<p>
-<form action="./http-security-layer-request" method="Post"
- enctype="application/x-www-form-urlencoded">
- <!--input name="locale" value="es_MX" type="hidden" /-->
-<fieldset><legend>Enter XML Request</legend>
-<p><label for="XMLRequest">XML Request</label> <textarea
- name="XMLRequest" rows=15 cols="60" id="XMLRequest">
+ legend {
+ border: 1px solid;
+ padding: 2px 6px
+ }
+ </style>
+
+ <p>
+ <form action="./http-security-layer-request" method="Post"
+ enctype="application/x-www-form-urlencoded" name="slform">
+ <!--input name="locale" value="es_MX" type="hidden" /-->
+ <fieldset><legend>Enter XML Request</legend>
+ <p><label for="XMLRequest">XML Request</label> <textarea
+ name="XMLRequest" rows=15 cols="60" id="XMLRequest">
<?xml version="1.0" encoding="UTF-8"?>
<sl:CreateXMLSignatureRequest
xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
@@ -78,40 +92,63 @@ legend {
</sl:TransformsInfo>
</sl:DataObjectInfo>
</sl:CreateXMLSignatureRequest>
-</textarea></p>
-<!--
+ </textarea></p>
+ <!--
<?xml version="1.0" encoding="UTF-8" ?>
<sl:InfoboxReadRequest
- xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
-<sl:InfoboxIdentifier>IdentityLink</sl:InfoboxIdentifier>
-<sl:BinaryFileParameters ContentIsXMLEntity="true" />
+ xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+ <sl:InfoboxIdentifier>IdentityLink</sl:InfoboxIdentifier>
+ <sl:BinaryFileParameters ContentIsXMLEntity="true" />
</sl:InfoboxReadRequest>
-->
-<p><label for="appletWidth">Applet Width</label> <input
- name="appletWidth" value="190" id="appletWidth">
-<p><label for="appletHeight">Applet Height</label> <input
- name="appletHeight" value="130" id="appletHeight">
-<p><label for="appletBackground">Applet Background</label> <input
- name="appletBackground" value="" id="appletBackground">
-<p>
- <label for="appletGuiStyle">GUI Style</label>
- <input type="radio" name="appletGuiStyle" value="tiny">tiny
- <input type="radio" name="appletGuiStyle" value="simple" checked="checked">simple
- <input type="radio" name="appletGuiStyle" value="advanced">advanced
- <input type="radio" name="appletGuiStyle" value="activation">activation
-</p>
+<!--
+<?xml version='1.0' encoding='UTF-8'?>
+<sl10:InfoboxUpdateRequest xmlns:sl10='http://www.buergerkarte.at/namespaces/securitylayer/1.2#'>
+ <sl10:InfoboxIdentifier>CardChannel</sl10:InfoboxIdentifier>
+ <sl10:BinaryFileParameters>
+ <sl10:XMLContent>
+ <Script>
+ <Reset cold='true' />
+ <CommandAPDU sequence='1' of='2' expectedSW='9000'>00A4000C023F00</CommandAPDU>
+ <CommandAPDU sequence='2' of='2' expectedSW='9000'>00B0820000</CommandAPDU>
+ </Script>
+ </sl10:XMLContent>
+ </sl10:BinaryFileParameters>
+</sl10:InfoboxUpdateRequest>
+-->
+
+ <p>
+ <label for="appletGuiStyle">GUI Style</label>
+ <input type="radio" name="appletGuiStyle" value="tiny" onclick="setAppletDimension(152, 145)">tiny
+ <input type="radio" name="appletGuiStyle" value="simple" checked="checked" onclick="setAppletDimension(190,130)">simple
+ <input type="radio" name="appletGuiStyle" value="advanced" onclick="setAppletDimension(300, 180)">advanced
+ </p>
+ <p><label for="appletWidth">Applet Width</label> <input
+ name="appletWidth" value="190" id="appletWidth">
+ <p><label for="appletHeight">Applet Height</label> <input
+ name="appletHeight" value="130" id="appletHeight">
+ <p><label for="appletBackground">Applet Background</label> <input
+ name="appletBackground" value="" id="appletBackground">
-<!--
-<p><label for="RedirectURL">RedirectURL</label> <input
- name="RedirectURL" value="" id="RedirectURL"></p>
-<p><label for="DataURL">DataURL</label> <input name="DataURL"
- value="" id="DataURL"></p>
-<p><label for="StyleSheetURL">StyleSheetURL</label> <input
- name="StyleSheetURL" value="" id="StyleSheetURL"></p>
-<p>
- --></fieldset>
-<fieldset class="submit"><input type="submit" class="submit"></fieldset>
-</form>
-</body>
+ <p>
+ <label for="appletExtension">Extension</label>
+ <input type="radio" name="appletExtension" value="activation" onclick="setInfoboxUpdateRequest()">Activation
+ <input type="radio" name="appletExtension" value="pin" onclick="setAppletDimension(400, 200)">PIN Management
+ </p>
+
+<!--
+ <p><label for="RedirectURL">RedirectURL</label> <input
+ name="RedirectURL" value="" id="RedirectURL"></p>
+ <p><label for="DataURL">DataURL</label> <input name="DataURL"
+ value="" id="DataURL"></p>
+ <p><label for="StyleSheetURL">StyleSheetURL</label> <input
+ name="StyleSheetURL" value="" id="StyleSheetURL"></p>
+ <p>
+-->
+ </fieldset>
+ <fieldset class="submit"><input type="submit" class="submit"></fieldset>
+ </form>
+
+ </body>
</html>
diff --git a/BKUOnline/src/main/wsdl/stal-service.xsd b/BKUOnline/src/main/wsdl/stal-service.xsd
index 450c8146..870e2db6 100644
--- a/BKUOnline/src/main/wsdl/stal-service.xsd
+++ b/BKUOnline/src/main/wsdl/stal-service.xsd
@@ -42,6 +42,7 @@
<element name="InfoboxReadResponse" type="tns:InfoboxReadResponseType"/>
<element name="SignResponse" type="tns:SignResponseType"/>
<element name="ErrorResponse" type="tns:ErrorResponseType"/>
+ <element name="StatusResponse" type="tns:StatusResponseType"/>
<element ref="tns:OtherResponse"/>
<!-- do not list cc:Script here, JAXB knows about substitution groups
<element ref="cc:Script"/-->
@@ -77,6 +78,13 @@
</extension>
</complexContent>
</complexType>
+ <complexType name="StatusResponseType">
+ <complexContent>
+ <extension base="tns:ResponseType">
+ <attribute name="cardReady" type="boolean" />
+ </extension>
+ </complexContent>
+ </complexType>
<complexType name="GetNextRequestResponseType">
<!-- abstract Request/Response type not supported by JAX-WS 2.0 (jdk < 1.6.0_04)
<sequence>
@@ -86,6 +94,7 @@
<element name="InfoboxReadRequest" type="tns:InfoboxReadRequestType"/>
<element name="SignRequest" type="tns:SignRequestType"/>
<element name="QuitRequest" type="tns:QuitRequestType"/>
+ <element name="StatusRequest" type="tns:StatusRequestType"/>
<element ref="tns:OtherRequest"/>
<!-- do not list cc:Response here, JAXB knows about substitution groups
<element ref="cc:Response"/-->
@@ -133,6 +142,11 @@
<extension base="tns:RequestType"/>
</complexContent>
</complexType>
+ <complexType name="StatusRequestType">
+ <complexContent>
+ <extension base="tns:RequestType"/>
+ </complexContent>
+ </complexType>
<complexType name="GetHashDataInputType">
<sequence>
<element name="Reference" maxOccurs="unbounded">