diff options
Diffstat (limited to 'BKUOnline/src/main')
-rw-r--r-- | BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/BKURequestHandler.java | 6 | ||||
-rw-r--r-- | BKUOnline/src/main/java/at/gv/egiz/bku/online/webapp/ResultServlet.java | 6 | ||||
-rw-r--r-- | BKUOnline/src/main/java/at/gv/egiz/stal/service/impl/STALServiceImpl.java | 2 | ||||
-rw-r--r-- | BKUOnline/src/main/webapp/WEB-INF/applicationContext.xml | 21 | ||||
-rw-r--r-- | BKUOnline/src/main/webapp/WEB-INF/wsdl/stal.xsd | 14 | ||||
-rw-r--r-- | BKUOnline/src/main/webapp/applet.jsp | 14 | ||||
-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.html | 183 | ||||
-rw-r--r-- | BKUOnline/src/main/wsdl/stal-service.xsd | 14 |
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"> |