aboutsummaryrefslogtreecommitdiff
path: root/id/server/auth/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/auth/src/main')
-rw-r--r--id/server/auth/src/main/resources/META-INF/services/org.apache.axis.components.net.SecureSocketFactory1
-rw-r--r--id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdfbin0 -> 191806 bytes
-rw-r--r--id/server/auth/src/main/webapp/META-INF/MANIFEST.MF2
-rw-r--r--id/server/auth/src/main/webapp/WCAG-Pruefprotokoll.pdfbin0 -> 721803 bytes
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/server-config.wsdd29
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/web.xml153
-rw-r--r--id/server/auth/src/main/webapp/css/index.css235
-rw-r--r--id/server/auth/src/main/webapp/css/mandates.css57
-rw-r--r--id/server/auth/src/main/webapp/css/styles.css741
-rw-r--r--id/server/auth/src/main/webapp/css/styles_opera.css11
-rw-r--r--id/server/auth/src/main/webapp/errorpage-auth.jsp50
-rw-r--r--id/server/auth/src/main/webapp/iframeHandyBKU.html61
-rw-r--r--id/server/auth/src/main/webapp/iframeOnlineBKU.html61
-rw-r--r--id/server/auth/src/main/webapp/img/ecard_aktivieren.jpgbin0 -> 18927 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/egov_schrift.gifbin0 -> 1843 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/handy.gifbin0 -> 2632 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/info.gifbin0 -> 892 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/karte.gifbin0 -> 2369 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/logo.jpgbin0 -> 18260 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/mobilsig_aktivieren.jpgbin0 -> 19202 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/rufezeichen.gifbin0 -> 844 bytes
-rw-r--r--id/server/auth/src/main/webapp/img/stern.gifbin0 -> 856 bytes
-rw-r--r--id/server/auth/src/main/webapp/index.html201
-rw-r--r--id/server/auth/src/main/webapp/info_bk.html96
-rw-r--r--id/server/auth/src/main/webapp/javascript/fa.js8
-rw-r--r--id/server/auth/src/main/webapp/javascript/formallg.js315
-rw-r--r--id/server/auth/src/main/webapp/message-auth.jsp20
-rw-r--r--id/server/auth/src/main/webapp/template_handyBKU.html37
-rw-r--r--id/server/auth/src/main/webapp/template_localBKU.html29
-rw-r--r--id/server/auth/src/main/webapp/template_onlineBKU.html35
-rw-r--r--id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl40
-rw-r--r--id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl40
-rw-r--r--id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd454
33 files changed, 2676 insertions, 0 deletions
diff --git a/id/server/auth/src/main/resources/META-INF/services/org.apache.axis.components.net.SecureSocketFactory b/id/server/auth/src/main/resources/META-INF/services/org.apache.axis.components.net.SecureSocketFactory
new file mode 100644
index 000000000..c4547e804
--- /dev/null
+++ b/id/server/auth/src/main/resources/META-INF/services/org.apache.axis.components.net.SecureSocketFactory
@@ -0,0 +1 @@
+at.gv.egovernment.moa.id.util.AxisSecureSocketFactory
diff --git a/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf b/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf
new file mode 100644
index 000000000..dcf38c218
--- /dev/null
+++ b/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf
Binary files differ
diff --git a/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF b/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..58630c02e
--- /dev/null
+++ b/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/id/server/auth/src/main/webapp/WCAG-Pruefprotokoll.pdf b/id/server/auth/src/main/webapp/WCAG-Pruefprotokoll.pdf
new file mode 100644
index 000000000..3722c5d7e
--- /dev/null
+++ b/id/server/auth/src/main/webapp/WCAG-Pruefprotokoll.pdf
Binary files differ
diff --git a/id/server/auth/src/main/webapp/WEB-INF/server-config.wsdd b/id/server/auth/src/main/webapp/WEB-INF/server-config.wsdd
new file mode 100644
index 000000000..0f0eb49d1
--- /dev/null
+++ b/id/server/auth/src/main/webapp/WEB-INF/server-config.wsdd
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment name="defaultClientConfig"
+ xmlns="http://xml.apache.org/axis/wsdd/"
+ xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
+ xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler">
+
+ <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
+ <handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider"/>
+ <handler name="HTTPAuthHandler" type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
+
+ <service name="GetAuthenticationData" provider="java:MSG">
+ <namespace>urn:oasis:names:tc:SAML:1.0:protocol</namespace>
+ <parameter name="allowedMethods" value="Request"/>
+ <parameter name="className" value="at.gv.egovernment.moa.id.auth.servlet.GetAuthenticationDataService"/>
+ <wsdlFile>/resources/wsdl/MOA-ID-1.x.wsdl</wsdlFile>
+ <requestFlow>
+ </requestFlow>
+ <responseFlow>
+ </responseFlow>
+ </service>
+
+ <transport name="http">
+ <requestFlow>
+ <handler type="URLMapper"/>
+ <handler type="HTTPAuthHandler"/>
+ </requestFlow>
+ </transport>
+
+</deployment>
diff --git a/id/server/auth/src/main/webapp/WEB-INF/web.xml b/id/server/auth/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 000000000..ef75dff24
--- /dev/null
+++ b/id/server/auth/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
+<web-app>
+ <display-name>MOA ID Auth</display-name>
+ <description>MOA ID Authentication Service</description>
+ <servlet>
+ <servlet-name>SelectBKU</servlet-name>
+ <display-name>SelectBKU</display-name>
+ <description>Select Bürgerkartenartenumgebung</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.SelectBKUServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>StartAuthentication</servlet-name>
+ <display-name>StartAuthentication</display-name>
+ <description>Start authentication process</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.StartAuthenticationServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>VerifyIdentityLink</servlet-name>
+ <display-name>VerifyIdentityLink</display-name>
+ <description>Verify identity link coming from security layer</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>VerifyCertificate</servlet-name>
+ <display-name>VerifyCertificate</display-name>
+ <description>Verify the certificate coming from security layer</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyCertificateServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>GetMISSessionID</servlet-name>
+ <display-name>GetMISSessionID</display-name>
+ <description>Get the MIS session ID coming from security layer</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.GetMISSessionIDServlet</servlet-class>
+ </servlet>
+
+ <servlet>
+ <servlet-name>GetForeignID</servlet-name>
+ <display-name>GetForeignID</display-name>
+ <description>Gets the foreign eID from security layer</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.GetForeignIDServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>ProcessInput</servlet-name>
+ <display-name>ProcessInput</display-name>
+ <description>Process user input needed by infobox validators</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.ProcessValidatorInputServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>VerifyAuthBlock</servlet-name>
+ <display-name>VerifyAuthBlock</display-name>
+ <description>Verify AUTH block coming from security layer</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>ConfigurationUpdate</servlet-name>
+ <display-name>ConfigurationUpdate</display-name>
+ <description>Update MOA-ID Auth configuration from the configuration file</description>
+ <servlet-class>at.gv.egovernment.moa.id.auth.servlet.ConfigurationServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>AxisServlet</servlet-name>
+ <display-name>Apache-Axis Servlet</display-name>
+ <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
+ </servlet>
+
+ <!-- JSP servlet -->
+ <servlet>
+ <servlet-name>jspservlet</servlet-name>
+ <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+ </servlet>
+
+ <!-- servlet mapping for jsp pages -->
+ <!-- errorpage.jsp (customizeable) -->
+ <servlet-mapping>
+ <servlet-name>jspservlet</servlet-name>
+ <url-pattern>/errorpage-auth.jsp</url-pattern>
+ </servlet-mapping>
+ <!-- message.jsp (customizeable) used for non error messages (e.g. ConfigurationUpdate) -->
+ <servlet-mapping>
+ <servlet-name>jspservlet</servlet-name>
+ <url-pattern>/message-auth.jsp</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>SelectBKU</servlet-name>
+ <url-pattern>/SelectBKU</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>StartAuthentication</servlet-name>
+ <url-pattern>/StartAuthentication</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>VerifyIdentityLink</servlet-name>
+ <url-pattern>/VerifyIdentityLink</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>VerifyCertificate</servlet-name>
+ <url-pattern>/VerifyCertificate</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>GetMISSessionID</servlet-name>
+ <url-pattern>/GetMISSessionID</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>GetForeignID</servlet-name>
+ <url-pattern>/GetForeignID</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>ProcessInput</servlet-name>
+ <url-pattern>/ProcessInput</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>VerifyAuthBlock</servlet-name>
+ <url-pattern>/VerifyAuthBlock</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ConfigurationUpdate</servlet-name>
+ <url-pattern>/ConfigurationUpdate</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>AxisServlet</servlet-name>
+ <url-pattern>/services/*</url-pattern>
+ </servlet-mapping>
+ <session-config>
+ <session-timeout>30</session-timeout>
+ </session-config>
+ <error-page>
+ <error-code>500</error-code>
+ <location>/errorpage.jsp</location>
+ </error-page>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>ConfigurationUpdate</web-resource-name>
+ <url-pattern>/ConfigurationUpdate</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>moa-admin</role-name>
+ </auth-constraint>
+ </security-constraint>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ <realm-name>UserDatabase</realm-name>
+ </login-config>
+ <security-role>
+ <description>
+ The role that is required to log in to the moa Application
+ </description>
+ <role-name>moa-admin</role-name>
+ </security-role>
+</web-app>
diff --git a/id/server/auth/src/main/webapp/css/index.css b/id/server/auth/src/main/webapp/css/index.css
new file mode 100644
index 000000000..28fea78e3
--- /dev/null
+++ b/id/server/auth/src/main/webapp/css/index.css
@@ -0,0 +1,235 @@
+@charset "utf-8";
+
+* {
+ margin:0;
+ padding:0;
+ border:0;
+}
+
+body {
+ margin:0;
+ padding:0;
+ color : #000;
+ background-color : #fff;
+ font-family : Verdana, Geneva, Arial, sans-serif;
+ font-size:76%;
+}
+
+/* skiplink */
+
+#skiplinks {
+ position:relative;
+}
+
+p#skiplinks a {
+
+ position: absolute;
+ top: -999em;
+ left: -999em;
+ height: 0;
+ width: 0;
+ overflow: hidden;
+}
+
+p#skiplinks a:focus,
+p#skiplinks a:hover,
+p#skiplinks a:active {
+ height: auto;
+ width:auto;
+ left: 0;
+ top: 0;
+ padding: 4px;
+ position: absolute;
+ overflow: visible;
+ text-decoration: none;
+ z-index: 100;
+}
+
+/*layout */
+
+#wrapper {
+ min-width:746px;
+ max-width:1258px;
+ padding: 0 10px;
+}
+
+#banner {
+ width:100%;
+ min-height:100px;
+ padding-top:20px;
+ position:relative;
+}
+
+#bannerleft {
+ float:left;
+}
+
+#bannerleft h1 {
+ font-size:2em;
+ padding-top:10px;
+}
+
+#bannerright {
+ float:right;
+}
+
+#main {
+ clear:both;
+ position:relative;
+}
+
+/* left */
+
+#leftcontent {
+ float:left;
+ width:220px;
+}
+
+h2#tabheader, h2#contentheader {
+ padding:2px;
+ font-size:1.1em;
+ color:#fff;
+ border-bottom:2px solid #fff;
+}
+
+#bkulogin {
+ overflow:hidden;
+ width:220px;
+}
+
+#bkukarte {
+ float:left;
+ background: url(../img/karte.gif) no-repeat top center;
+ padding: 90px 10px 10px 10px;
+ text-align:center;
+ width:40%;
+}
+
+#bkuhandy {
+ float:right;
+ background: url(../img/handy.gif) no-repeat top center;
+ padding: 90px 10px 10px 10px;
+ text-align:center;
+ width:40%;
+}
+
+#mandate{
+ text-align:center;
+ padding : 5px 5px 5px 5px;
+}
+
+
+button {
+ background: #efefef;
+ border:1px solid #000;
+ cursor: pointer;
+}
+
+#installJava, #BrowserNOK {
+ clear:both;
+ font-size:0.8em;
+ padding:4px;
+}
+
+#localBKU {
+ padding:4px;
+}
+
+#tab {
+ margin-top:2px;
+ padding:2px;
+ clear:both;
+}
+
+#leftcontent a {
+ text-decoration:none;
+ color: #000;
+ display:block;
+ padding:4px;
+}
+
+#leftcontent a:hover, #leftcontent a:focus, #leftcontent a:active {
+ text-decoration:underline;
+ color: #000;
+}
+
+#navlist {
+ margin-top:20px;
+}
+
+#navlist ul {
+ list-style: none;
+ margin-left: 0;
+}
+
+#navlist li {
+ border-bottom:1px solid #fff;
+}
+
+iframe {
+ width:220px;
+}
+
+/* right */
+
+#rightcontent {
+ float:right;
+ width:220px;
+}
+
+#centercontent {
+ width:auto;
+ margin: 0 230px;
+}
+
+/* center */
+
+#content {
+ padding:20px;
+}
+
+#content a {
+ text-decoration:underline;
+ color: #000;
+}
+
+#content a:hover, #content a:focus, #content a:active {
+ text-decoration:underline;
+ color: #000;
+}
+
+p {
+ margin-bottom:1em;
+}
+
+.lightblock{
+ text-align : left;
+ padding : 5px 5px 5px 5px;
+}
+
+
+#mandateLogin {
+ vertical-align: middle;
+}
+
+/* [OPTIONAL] Geben Sie hier die Farbe fuer den hellen Hintergrund an */
+.hell {
+ background-color : #DDDDDD;
+}
+
+/* [OPTIONAL] Geben Sie hier die Farbe fuer den dunklen Hintergrund an */
+.dunkel {
+ background-color: #A02D2D;
+}
+
+/* [OPTIONAL] Geben Sie hier die Farbe fuer Links an */
+#leftcontent a, #content a {
+ color: blue;
+}
+
+@media print {
+ #wrapper { width:100%;}
+ #banner {width:640px;}
+ #rightcontent {display: none;}
+ #centercontent {width:400px; margin-right:0;}
+}
diff --git a/id/server/auth/src/main/webapp/css/mandates.css b/id/server/auth/src/main/webapp/css/mandates.css
new file mode 100644
index 000000000..7b6e550f0
--- /dev/null
+++ b/id/server/auth/src/main/webapp/css/mandates.css
@@ -0,0 +1,57 @@
+/* CSS Document */
+
+.hleft {
+ float: left;
+ width: 50%;
+}
+
+.hright {
+ float: left;
+ width: 49%;
+}
+
+.htitle {
+ padding-top: 15px;
+ clear: both;
+}
+
+.leiste1 {
+ background-color: #FF0000;
+ color: #FFFFFF;
+ font-weight: bold;
+ width: 15%;
+ float: left;
+ clear: left;
+ height: 20px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ FONT-SIZE: 0.9em;
+}
+
+.leiste2 {
+ background-color: #CCCCCC;
+ color: #000000;
+ float: left;
+ height: 20px;
+ width: 33%;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+a.info {
+ color: #000000;
+ text-decoration: underline;
+}
+
+
+.leiste3 {
+ background-color: #CCCCCC;
+ color: #000000;
+ height: 20px;
+ float: left;
+ width: 17%;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ FONT-SIZE: 0.8em;
+
+}
diff --git a/id/server/auth/src/main/webapp/css/styles.css b/id/server/auth/src/main/webapp/css/styles.css
new file mode 100644
index 000000000..d91b993d1
--- /dev/null
+++ b/id/server/auth/src/main/webapp/css/styles.css
@@ -0,0 +1,741 @@
+/*
+|| Groesse der Seite auf A4 setzen
+|| Rand auf jeweils 10% der Seite setzen
+*/
+
+@page {
+ size: 21cm 29.7cm;
+ margin: 10%;
+}
+
+/*
+|| Font und Farben, die fuer das gesamte Dokument gueltig sind.
+*/
+
+body {
+ font-family: arial, helvetica, sans-serif;
+ background-color: white;
+ color: black;
+}
+
+/*
+|| Eingabefelder verwenden eine Monospace-Font (s. Laenderstyleguide 5.1)
+*/
+
+input, textarea, select {
+ font-family: monospace;
+}
+
+/*
+|| Schriftgroesse fuer Formulartitel
+*/
+
+h1 {
+ font-size: 1.3em;
+}
+
+/*
+|| Definitionen fuer die Kategorien (faerbiger Balken)
+*/
+
+h2 {
+ width: 98%;
+ background-color: #A02D2D;
+ color: white;
+ font-weight: bold;
+ font-size: 1em;
+ padding: 0.3em;
+ border-width: thin;
+ margin-bottom: 1em;
+}
+
+/*
+|| Subkategorie (zB Adresse innerhalb von Stammgewerbeberechtigung)
+*/
+
+h3 {
+ padding: 5px;
+ margin-bottom: 1px;
+ font-size: 0.8em;
+}
+
+/*
+|| Informationstext zu einer Kategorie
+*/
+
+h4 {
+ margin-bottom: 0.5em;
+ font-size: 0.8em;
+}
+
+fieldset {
+ border: none;
+}
+
+}
+
+legend {
+ display: none;
+}
+
+
+/*
+|| Informationstext im Info-Kaestchen
+*/
+
+.infotext {
+ padding: 0.8em;
+ float: left;
+ background-color: #EEEEEE;
+ color: black;
+ font-size: 0.8em;
+}
+
+/*
+|| Info-Link im Info-Kaestchen
+*/
+
+.infobutton {
+ float: left;
+ width: 2em;
+ background-color: red;
+ text-align: center;
+ font-size: 1.5em;
+ color: white;
+ font-weight: bold;
+ padding: 0.4em;
+ border-width: 0.25em;
+ border-style: outset;
+ border-style: -moz-bg-outset;
+}
+
+/*
+|| Info-Link soll weiss sein
+*/
+
+.infobutton a:link {
+ background-color: red;
+ color: white;
+ text-decoration: none;
+
+}
+
+/*
+|| Info-Link soll weiss sein, auch wenn Link schon einmal angeklickt wurde
+*/
+
+.infobutton a:visited {
+ background-color: red;
+ color: white;
+}
+
+/*
+|| Info-Link-Text soll weiss sein, auch wenn man mit der Maus drueberfaehrt
+*/
+
+.infobutton a:hover {
+ background-color: red;
+ color: white;
+}
+
+/*
+|| Begrenzung fuer das Info-Kaestchen
+*/
+
+.boundinginfobox {
+ width: 99%;
+ background-color: #EEEEEE;
+ color: black;
+ border-width: thin;
+}
+
+/*
+|| Begrenzung fuer Eingabefeldbereiche
+*/
+
+.boundingbox {
+ width: 99%;
+ background-color: #EEEEEE;
+ color: black;
+ border-width: thin;
+ margin-bottom: 1em;
+}
+
+/*
+|| Begrenzung, die Leittexte und Formulardaten im statischen Formular
+|| zusammenhaelt, sodass es bei einem Seitenumbruch beim Ausdruck
+|| nicht zu Verschiebungen kommt
+*/
+.printboundingbox {
+ width: 99%;
+}
+
+/*
+|| Bereich fuer die Leittexte
+*/
+
+.labelarea {
+ text-align: right;
+ width: 17%;
+ float: left;
+ padding: 5px;
+ font-size: 0.8em;
+ vertical-align: middle;
+}
+
+/*
+|| Bereich fuer sehr lange Leittexte
+*/
+
+.labelareawidened {
+ text-align: right;
+ width: 50%;
+ float: left;
+ padding: 5px;
+ font-size: 0.8em;
+ vertical-align: middle;
+}
+
+/*
+|| Leittextbereich ohne Angabe einer Breite (z.B. bei Stiege und Tuer; sonst generell (.labelarea) 17% der Gesamtbreite)
+*/
+
+.labelareanowidth {
+ float: left;
+ padding: 5px;
+ font-size: 0.8em;
+ vertical-align: middle;
+}
+
+/*
+|| Legendenbereich (Icons)
+*/
+
+.legendarea {
+ width: 30px;
+ text-align: left;
+ float: left;
+ padding-left: 4px;
+ padding-top: 5px;
+ vertical-align: middle;
+}
+
+/*
+|| Legendenbereich fuer den Stern (in Kombination mit einem Rufzeichen)
+*/
+
+.legendareastar {
+ width: 13px;
+ float: left;
+ padding-left: 4px;
+ padding-top: 5px;
+ vertical-align: middle;
+}
+
+/*
+|| Legendenbereich fuer das Info-Icon
+*/
+
+.legendareainfo {
+ width: 17px;
+ float: left;
+ padding-top: 5px;
+ vertical-align: middle;
+}
+
+/*
+|| Bereich fuer ein einzelnes Eingabefeld
+*/
+
+.inputfieldarea {
+ float: left;
+ padding: 4px;
+}
+
+/*
+|| Bereich fuer das erste Eingabefeld, wenn zwei in einer Zeile
+|| = Eingabefeldbereich, dessen Breite auf 26% begrenzt ist (.inputfieldarea hat keine Begrenzung)
+*/
+
+.inputfieldareafortwo {
+ width: 26%;
+ float: left;
+ padding: 4px;
+}
+
+
+/*
+|| e-Goverment Schriftzug im Logo
+*/
+
+.egovlogo {
+ text-align: center;
+ background-color: white;
+ color: #008B8B;
+ font-weight: bold;
+ font-style: italic;
+ font-size: 1.7em;
+}
+
+/*
+|| help.gv.at-Schriftzug im Logo
+*/
+
+.egovtext {
+ text-align: center;
+ background-color: white;
+ color: black;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+/*
+|| Bereich fuer den Titel des Formulars links vom Logo
+*/
+
+.titlebox {
+ float: left;
+ width: 65%;
+ margin-bottom: 1em;
+}
+
+/*
+|| Bereich fuer das Logo
+*/
+
+.logobox {
+ float: right;
+ margin-bottom: 1em;
+}
+
+/*
+|| Allgemeiner Informationstext zu einem Formular (zwischen Formulartitel
+|| und Info-Kaestchen
+*/
+
+.introtext {
+ font-weight: bold;
+ margin-bottom: 1em;
+}
+
+/*
+|| Link "Zum Formularanfang"
+*/
+
+.formtop {
+ float: right;
+}
+
+/*
+|| Bereich fuer die Steuerungs-Buttons (Senden, Abbrechen, etc.)
+*/
+
+.buttonarea {
+ margin-top: 0.5em;
+ text-align: center;
+}
+
+/*
+|| Aussehen der Steuerungs-Buttons
+*/
+
+.button {
+ font-family: arial, helvetica, sans-serif;
+ font-size: 1em;
+}
+
+/*
+|| Formularkennung/Fusszeile des Formulars
+*/
+
+.formid {
+ float: left;
+ font-style: italic;
+ font-size: 0.8em;
+ background-color: #008B8B;
+ color: white;
+ padding: 0.5em;
+}
+
+/*
+|| Behoerdenanschrift
+*/
+
+.organizationaddress {
+ font-style: italic;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+/*
+|| Behoerdenanschrift mit Logo
+*/
+
+.organizationaddresslogo {
+ font-style: italic;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ float: left;
+}
+
+/*
+|| Beilagen-Tabelle
+*/
+
+.attachmenttable {
+ width: 99%;
+ background-color: #EEEEEE;
+ color: black;
+ border-width: thin;
+ border-collapse: collapse;
+ margin-bottom: 1em;
+}
+
+/*
+|| Spaltenueberschrift "lfd Nr"
+*/
+
+.attachmenttitlenumber {
+ border-bottom: thin solid black;
+ border-right: thin solid black;
+ padding: 0.3em;
+ font-size: 0.8em;
+}
+
+/*
+|| Spaltenueberschrift "Beilage"
+*/
+
+.attachmenttitlename {
+ border-bottom: thin solid black;
+ border-right: thin solid black;
+ padding: 0.5em;
+ text-align: left;
+ font-size: 0.8em;
+}
+
+
+/*
+|| Spaltenueberschriften "nachgereicht" und "angefuegt"
+*/
+
+.attachmenttitleselection {
+ padding: 0.3em;
+ text-align: center;
+ border-left: thin solid black;
+ border-bottom: thin solid black;
+ font-size: 0.8em;
+}
+
+/*
+|| Spaltenueberschrift "Datei"
+*/
+
+.attachmenttitlefile {
+ padding: 0.3em;
+ text-align: left;
+ border-bottom: thin solid black;
+ font-size: 0.8em;
+}
+
+/*
+|| Zellen der Spalte "lfd Nr"
+*/
+
+.attachmentnumber {
+ text-align: center;
+ border-left: thin solid #EEEEEE;
+ border-right: thin solid black;
+ padding: 0.3em;
+ font-size: 0.8em;
+}
+
+/*
+|| Zellen der Spalte "Beilage"
+*/
+
+.attachmentname {
+ text-align: left;
+ border-left: thin solid black;
+ border-right: thin solid black;
+ padding: 0.5em;
+ font-size: 0.8em;
+}
+
+/*
+|| Zellen der Spalte "Datei"
+*/
+
+.attachmentfile {
+ text-align: left;
+ border-right: thin solid #EEEEEE;
+ padding: 0.3em;
+}
+
+/*
+|| Zellen der Spalte "angefuegt"
+*/
+
+.attachmentselectiononline {
+ text-align: center;
+ padding: 0.3em;
+ border-left: solid black thin;
+}
+
+/*
+|| Zellen der Spalte "nachgereicht"
+*/
+
+.attachmentselectionpost {
+ text-align: center;
+ border-left: solid black thin;
+ padding: 0.3em;
+}
+
+/*
+|| unsichtbarer Bereich
+*/
+
+.hide {
+ visibility: hidden;
+ display: none;
+}
+
+/*
+|| sichtbarer Bereich
+*/
+
+.show {
+ visibility: visible;
+ display: block;
+}
+
+/*
+|| readonly-Felder
+*/
+
+.deactive {
+ background-color: #D3D3D3;
+ color: gray;
+}
+
+/*
+|| Fehlertexte (bei fehlerhaften Eingaben)
+*/
+
+.errortext {
+ color: red;
+ background-color: white;
+ font-size: 1em;
+ border: solid red 2px;
+ padding: 0.5em;
+ width: 97%;
+}
+
+.errortext a:visited , .errortext a:link, .errortext a:hover {
+ color: red;
+}
+
+/*
+|| simuliertes Readonly-Eingabefeld, das in Wirklichkeit
+|| Text mit einem Rahmen ist
+*/
+
+.readonlybutton {
+ width: 20em;
+ background-color: #D3D3D3;
+ color: gray;
+ border-color: gray;
+ border-width: thin;
+ border-style: inset;
+ font-family: monospace;
+}
+
+/*
+|| Vertikale Ausrichtung des Info-Icons im Beilagenbereich
+*/
+
+.imagevertalign {
+ vertical-align: middle;
+}
+
+/*
+|| Unterbindet Rahmen bei Bildern mit hinterlegtem Link
+*/
+
+a img {
+ border: none;
+}
+
+/*
+|| MOA-Ergebnis-Tabelle
+*/
+
+.MOA-SP-ergebnis-tabelle {
+ width: 100%;
+ border: thin solid black;
+ border-collapse: collapse;
+ margin-bottom: 1em;
+}
+
+/*
+|| MOA-Ergebnis-Tabellenemelemente
+*/
+
+.MOA-SP-ergebnis-zelle, .MOA-SP-ergebnis-header {
+ border: thin solid black;
+ text-align: left;
+ padding: 0.3em;
+ background-color: #EEEEEE;
+}
+
+/*
+|| MOA-Ergebnis-Tabelle Fehlermeldungen
+*/
+
+.moa-sp-error {
+ color: red;
+ font-weight: bold;
+}
+
+/*
+|| Signaturblock-Tabelle
+*/
+
+.sigblock-tabelle {
+ width: 100%;
+ border: thin solid black;
+ border-collapse: collapse;
+ margin-bottom: 1em;
+}
+
+/*
+|| Signaturblock-Tabellenelemente
+*/
+
+.sigblock-zelle, .sigblock-header {
+ border: thin solid black;
+ text-align: left;
+ padding: 0.3em;
+ background-color: #EEEEEE;
+}
+
+/*
+|| Formular mit mehreren Seiten, Angabe der aktuellen Seite
+*/
+
+.steps {
+ text-align: right;
+ font-weight: bold;
+ padding: 0.3em;
+ margin-right: 0.3em;
+ font-style: italic;
+}
+
+/*
+|| Bereich fuer Formularliste
+*/
+
+.labelareaform {
+ text-align: left;
+ width: 50%;
+ float: left;
+ padding: 5px;
+ font-size: 0.8em;
+ font-weight: bold;
+ vertical-align: middle;
+}
+
+/*
+|| Bereich fuer Bestellung und Details bei Formularbestellungen
+*/
+
+.labelareaorderdetail {
+ text-align: center;
+ width: 17%;
+ float: left;
+ padding: 5px;
+ font-size: 0.8em;
+ vertical-align: middle;
+ font-weight: bold;
+}
+
+/*
+|| Farbe der Verfahrens-Tabellenzeilen mit geradem Index
+*/
+
+.evenformrow {
+ background-color: #EEEEEE;
+}
+
+/*
+|| Farbe der Verfahrens-Tabellenzeilen mit ungeradem Index
+*/
+
+.oddformrow {
+ background-color: lightgrey;
+}
+
+/*
+|| Sicherheitsabfrage in der Verfahrensverwaltung
+*/
+
+.checktext {
+ color: red;
+ padding: 0.5em;
+ border: solid 2px red;
+ margin: 1em;
+}
+
+/*
+|| Buttons der Eingangsstelle
+*/
+
+.eingang_button {
+ line-height: 2em;
+ border-width: 2px;
+ border-color: grey;
+ padding: 4px;
+ background-color: lightgrey;
+ border-style: outset;
+ border-style: -moz-bg-outset;
+}
+
+/*
+|| Buttonlinks der Eingangsstelle
+*/
+
+.eingang_button_link {
+ color: black;
+ text-decoration: none;
+}
+
+/*
+|| Für den Farbenwechsel bei den Beilagen-Tabellen
+*/
+
+table.attachmenttable tr.s
+{
+ background-color: lightgrey;
+}
+
+/*
+|| Farbe der Titelzeile bei den Beilagen-Tabellen
+*/
+
+table.attachmenttable thead
+{
+ background-color: #aaaaaa;
+}
+
+/*
+|| Aktuell fokussiertes Eingabefeld visuell hervorheben (Styleguide Anforderung)
+*/
+
+input:focus, input.field:focus, select:focus, textarea:focus {
+ border: 2px solid black;
+}
+
+select:focus {
+ background-color: #FFFFFE;
+} \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/css/styles_opera.css b/id/server/auth/src/main/webapp/css/styles_opera.css
new file mode 100644
index 000000000..a2ea527bf
--- /dev/null
+++ b/id/server/auth/src/main/webapp/css/styles_opera.css
@@ -0,0 +1,11 @@
+/*
+|| In Opera funktioniert das Aus- und Einblenden von HTML-Bloecken
+|| mittels JavaScript-Zugriff auf DOM-Objekte nicht, daher muss
+|| die Definition der Klasse .hide in diesem Browser durch eine
+|| "sichtbare" Definition ueberlagert werden
+*/
+
+.hide {
+ visibility: visible;
+ display: block;
+} \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/errorpage-auth.jsp b/id/server/auth/src/main/webapp/errorpage-auth.jsp
new file mode 100644
index 000000000..07f3e7f69
--- /dev/null
+++ b/id/server/auth/src/main/webapp/errorpage-auth.jsp
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<%@ page contentType="text/html; charset=UTF-8" %>
+<html>
+<head>
+<title>Ein Fehler ist aufgetreten</title>
+</head>
+<% Throwable exceptionThrown = (Throwable)request.getAttribute("ExceptionThrown");
+ String errorMessage = (String)request.getAttribute("ErrorMessage");
+ String wrongParameters = (String)request.getAttribute("WrongParameters");
+%>
+
+<body>
+<h1>Fehler bei der Anmeldung</h1>
+<p>Bei der Anmeldung ist ein Fehler aufgetreten.</p>
+
+<% if (errorMessage != null) { %>
+<p>
+<%= errorMessage%><br>
+</p>
+<% } %>
+<% if (exceptionThrown != null) { %>
+<p>
+<%= exceptionThrown.getMessage()%>
+</p>
+<% } %>
+<% if (wrongParameters != null) { %>
+<p>Die Angabe der Parameter ist unvollst&auml;ndig.<br></p>
+<b> <%= wrongParameters %> </b><br>
+<p>
+ Beispiele f&uuml;r korrekte Links zur MOA-ID Authentisierung sind:
+</p>
+<p>
+<tt>&lt;a href="https://&lt;MOA-URL&gt;/StartAuthentication?Target=&lt;Gesch&auml;ftsbereich&gt;&amp;OA=&lt;OA-URL&gt;&amp;Template=&lt;Template-URL&gt;&quot;&gt;</tt>
+</p>
+<p>
+<tt>&lt;a href="https://&lt;MOA-URL&gt;/SelectBKU?Target=&lt;Gesch&auml;ftsbereich&gt;&amp;OA=&lt;OA-URL&gt;&amp;Template=&lt;Template-URL&gt;&amp;BKUSelectionTemplate=&lt;BKU-Template-URL&gt;&quot;&gt;</tt>
+</p>
+<p>
+Im Falle einer Applikation aus dem privatwirtschaftlichen Bereich (type="businessService") entf&auml;llt die Angabe des <i>Target</i> Parameters:
+</p>
+<p>
+<tt>&lt;a href="https://&lt;MOA-URL&gt;/StartAuthentication?OA=&lt;OA-URL&gt;&amp;Template=&lt;Template-URL&gt;&quot;&gt;</tt>
+</p>
+<p>
+<tt>&lt;a href="https://&lt;MOA-URL&gt;/SelectBKU?OA=&lt;OA-URL&gt;&amp;Template=&lt;Template-URL&gt;&amp;BKUSelectionTemplate=&lt;BKU-Template-URL&gt;&quot;&gt;</tt>
+</p>
+<p>Die Angabe der Parameter <tt>&quot;Template&quot;</tt> und <tt>&quot;BKUSelectionTemplate&quot;</tt> ist optional.</p>
+<% } %>
+</body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/iframeHandyBKU.html b/id/server/auth/src/main/webapp/iframeHandyBKU.html
new file mode 100644
index 000000000..f07b73265
--- /dev/null
+++ b/id/server/auth/src/main/webapp/iframeHandyBKU.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title>iFrame Handy BKU</title>
+ <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">
+ <script type="text/javascript">
+ // [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an
+ // z.B.: https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at
+ var MOA_ID_STARTAUTHENTICATION = "[MOA_ID_STARTAUTHENTICATION]";
+
+ // [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die Handy Signatur an -->
+ <!-- z.B.: value="https://yoururl.at/moa-id-auth/template_handyBKU.html"-->
+ var URL_TO_HANDYSIGNATUR_TEMPLATE = "[URL_TO_HANDYSIGNATUR_TEMPLATE]";
+
+
+ window.onload=function() {
+
+ document.getElementById('moaidform').action = MOA_ID_STARTAUTHENTICATION;
+ document.getElementById('Template').value = URL_TO_HANDYSIGNATUR_TEMPLATE;
+
+ var useMandate = gup("useMandate");
+
+ if (useMandate == "true")
+ document.getElementById('useMandate').value = "true";
+ else
+ document.getElementById('useMandate').value = "false";
+
+
+ document.moaidform.submit();
+ return;
+ }
+
+ function gup(name) {
+ name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
+ var regexS = "[\\?&]"+name+"=([^&#]*)";
+ var regex = new RegExp( regexS );
+ var results = regex.exec( window.location.href );
+ if( results == null )
+ return "";
+ else
+ return results[1];
+ }
+
+ </script>
+ </head>
+ <body>
+
+ Bitte warten...
+
+ <FORM name="moaidform" method="post" id="moaidform">
+ <input type="hidden" name="Template" id="Template">
+ <input type="hidden" name="bkuURI" value="https://www.handy-signatur.at/mobile/https-security-layer-request/default.aspx">
+ <input type="hidden" name="useMandate" id="useMandate">
+ </FORM>
+
+
+ <hr>
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/iframeOnlineBKU.html b/id/server/auth/src/main/webapp/iframeOnlineBKU.html
new file mode 100644
index 000000000..4873245be
--- /dev/null
+++ b/id/server/auth/src/main/webapp/iframeOnlineBKU.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title>iFrame Online BKU</title>
+ <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">
+ <script type="text/javascript">
+ // [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an
+ // z.B.: https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at
+ var MOA_ID_STARTAUTHENTICATION = "[MOA_ID_STARTAUTHENTICATION]";
+
+ // [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die Online BKU an
+ // z.B.: "https://yoururl.at/moa-id-auth/template_onlineBKU.html"
+ var URL_TO_ONLINEBKU_TEMPLATE = "[URL_TO_ONLINEBKU_TEMPLATE]";
+
+ // [MUSS] Geben Sie hier die URL zur Online BKU an
+ // z.B.: value="https://yoururl.at/bkuonline/https-security-layer-request"
+ // Hinweis: Diese URL muss auch bei den vertrauenswürdigen BKUs in der MOA-ID Konfiguration angegeben werden (siehe Element MOA-IDConfiguration/TrustedBKUs/BKUURL)
+ var URL_TO_ONLINEBKU = "[URL_TO_ONLINEBKU]";
+
+ window.onload=function() {
+ document.getElementById('moaidform').action = MOA_ID_STARTAUTHENTICATION;
+ document.getElementById('Template').value = URL_TO_ONLINEBKU_TEMPLATE;
+ document.getElementById('bkuURI').value = URL_TO_ONLINEBKU;
+
+ var useMandate = gup("useMandate");
+
+ if (useMandate == "true")
+ document.getElementById('useMandate').value = "true";
+ else
+ document.getElementById('useMandate').value = "false";
+
+ document.moaidform.submit();
+ return;
+ }
+
+ function gup(name) {
+ name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
+ var regexS = "[\\?&]"+name+"=([^&#]*)";
+ var regex = new RegExp( regexS );
+ var results = regex.exec( window.location.href );
+ if( results == null )
+ return "";
+ else
+ return results[1];
+ }
+ </script>
+ </head>
+ <body>
+ Bitte warten...
+
+ <form method="POST" name="moaidform" id="moaidform">
+ <input type="hidden" name="Template" id="Template">
+ <input type="hidden" name="bkuURI" id="bkuURI">
+ <input type="hidden" name="useMandate" id="useMandate">
+ </form>
+
+ <hr>
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/img/ecard_aktivieren.jpg b/id/server/auth/src/main/webapp/img/ecard_aktivieren.jpg
new file mode 100644
index 000000000..4b29a9786
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/ecard_aktivieren.jpg
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/egov_schrift.gif b/id/server/auth/src/main/webapp/img/egov_schrift.gif
new file mode 100644
index 000000000..aea64ef5e
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/egov_schrift.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/handy.gif b/id/server/auth/src/main/webapp/img/handy.gif
new file mode 100644
index 000000000..088ec0957
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/handy.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/info.gif b/id/server/auth/src/main/webapp/img/info.gif
new file mode 100644
index 000000000..f9e1bb00f
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/info.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/karte.gif b/id/server/auth/src/main/webapp/img/karte.gif
new file mode 100644
index 000000000..1ec7afc2e
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/karte.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/logo.jpg b/id/server/auth/src/main/webapp/img/logo.jpg
new file mode 100644
index 000000000..bafbccc84
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/logo.jpg
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/mobilsig_aktivieren.jpg b/id/server/auth/src/main/webapp/img/mobilsig_aktivieren.jpg
new file mode 100644
index 000000000..e72aeadfc
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/mobilsig_aktivieren.jpg
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/rufezeichen.gif b/id/server/auth/src/main/webapp/img/rufezeichen.gif
new file mode 100644
index 000000000..fbad8d758
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/rufezeichen.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/img/stern.gif b/id/server/auth/src/main/webapp/img/stern.gif
new file mode 100644
index 000000000..77c53d1c3
--- /dev/null
+++ b/id/server/auth/src/main/webapp/img/stern.gif
Binary files differ
diff --git a/id/server/auth/src/main/webapp/index.html b/id/server/auth/src/main/webapp/index.html
new file mode 100644
index 000000000..62576b15e
--- /dev/null
+++ b/id/server/auth/src/main/webapp/index.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <!-- [OPTIONAL] Aendern Sie hier den Titel der Seite -->
+ <title>
+ MOA-Template zur B&uuml;rgerkartenauswahl (Musterseite)
+ </title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta http-equiv="Content-Style-Type" content="text/css">
+ <link rel="stylesheet" type="text/css" href="css/index.css">
+ <script type="text/javascript">
+ // [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an
+ // z.B.: https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at
+ var MOA_ID_STARTAUTHENTICATION = "[MOA_ID_STARTAUTHENTICATION]";
+
+ // [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die lokale BKU an
+ // z.B.: https://yoururl.at/moa-id-auth/template_localBKU.html
+ var URL_TO_LOKALBKU_TEMPLATE = "[URL_TO_LOKALBKU_TEMPLATE]";
+
+
+ window.onload=function() {
+
+ document.getElementById("localBKU").style.display="none";
+ return;
+ }
+
+ function bkuOnlineClicked() {
+ <!-- [OPTIONAL] Um die lokale BKU auszublenden, ersetzen Sie in der folgenden Zeile "block" durch "none" -->
+ document.getElementById("localBKU").style.display="block";
+
+ document.getElementById("moaidform").action = MOA_ID_STARTAUTHENTICATION;
+ document.getElementById("Template").value = URL_TO_LOKALBKU_TEMPLATE;
+
+ document.getElementById("useMandate").value = "false";
+ var checkbox = document.getElementById("mandateCheckBox")
+ if (checkbox != null) {
+ if (document.getElementById("mandateCheckBox").checked) {
+ document.getElementById("useMandate").value = "true";
+ }
+ }
+
+ var el = document.getElementById("bkulogin");
+ var parent = el.parentNode;
+
+ var iFrameURL = "iframeOnlineBKU.html" + "?";
+ iFrameURL += "useMandate=" + document.getElementById("useMandate").value;
+
+ var iframe = document.createElement("iframe");
+ iframe.setAttribute("src", iFrameURL);
+ iframe.setAttribute("width", "220");
+ iframe.setAttribute("height", "165");
+ iframe.setAttribute("frameborder", "0");
+ iframe.setAttribute("scrolling", "no");
+ iframe.setAttribute("title", "Login");
+
+ parent.replaceChild(iframe, el);
+ }
+
+
+ function bkuHandyClicked() {
+ document.getElementById("localBKU").style.display="none";
+
+ document.getElementById("useMandate").value = "false";
+ var checkbox = document.getElementById("mandateCheckBox")
+ if (checkbox != null) {
+ if (document.getElementById("mandateCheckBox").checked) {
+ document.getElementById("useMandate").value = "true";
+ }
+ }
+
+ var el = document.getElementById("bkulogin");
+ var parent = el.parentNode;
+
+ var iFrameURL = "iframeHandyBKU.html" + "?";
+ iFrameURL += "useMandate=" + document.getElementById("useMandate").value;
+
+ var iframe = document.createElement("iframe");
+ iframe.setAttribute("src", iFrameURL);
+ iframe.setAttribute("width", "220");
+ iframe.setAttribute("height", "159");
+ iframe.setAttribute("frameborder", "0");
+ iframe.setAttribute("scrolling", "no");
+ iframe.setAttribute("title", "Login");
+
+ parent.replaceChild(iframe, el);
+ }
+ </script>
+ </head>
+ <body>
+ <div id="wrapper">
+ <p id="skiplinks">
+ <a href="#content">Zum Inhalt springen</a>
+ </p>
+ <div id="banner">
+ <!-- [OPTIONAL] Aendern Sie hier die Titelueberschrift der Seite) -->
+ <div id="bannerleft">
+ <h1>MOA-Template zur B&uuml;rgerkartenauswahl (Musterseite)</h1>
+ <!-- Meldung im Browser, wenn JavaScript nicht aktiviert -->
+ <noscript>
+ <p>
+ Bitte aktivieren Sie JavaScript.
+ </p>
+ </noscript>
+ </div>
+ <!-- [OPTIONAL] Aendern Sie hier das Logo der Seite (und Alternativtext fuer das Bild) -->
+ <div id="bannerright">
+ <img src="img/logo.jpg" alt="Logo">
+ </div>
+ </div>
+ <div id="main">
+ <div id="leftcontent">
+ <h2 id="tabheader" class="dunkel">
+ Login mit B&uuml;rgerkarte
+ </h2>
+ <div id="bkulogin" class="hell">
+ <!-- [OPTIONAL] Um die Online BKU auszublenden, kommentieren sie das folgende div (bkukarte) aus -->
+ <div id="bkukarte" class="hell">
+ <button name="bkuButton" type="button" onClick="bkuOnlineClicked();">KARTE</button>
+ </div>
+ <!-- [OPTIONAL] Um die Mobile BKU auszublenden, kommentieren sie das folgende div (bkukhandy) aus -->
+ <div id="bkuhandy" class="hell">
+ <button name="bkuButton" type="button" onClick="bkuHandyClicked();">HANDY</button>
+ </div>
+
+ <!-- [OPTIONAL] Um die Anmeldung mit Vollmachten auszublenden, kommentieren Sie das folgende div (mandate) aus -->
+ <div id="mandate">
+ <input type="checkbox" name="Mandate" style="vertical-align: middle; margin-right: 5px;" id="mandateCheckBox"><label>in Vertretung anmelden</label>
+ </div>
+ </div>
+
+
+
+ <div id="localBKU" style="display:none" class="hell">
+ <hr>
+ <!-- [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an -->
+ <!-- z.B.: action="https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at"-->
+ <form method="post" id="moaidform">
+ <input type="hidden" name="show" value="false">
+ <!-- [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die lokale BKU an -->
+ <!-- z.B.: value="https://yoururl.at/moa-id-auth/template_localBKU.html"-->
+ <input type="hidden" name="Template" id="Template">
+ <input type="hidden" name="bkuURI" value="https://localhost:3496/https-security-layer-request">
+ <input type="hidden" name="useMandate" id="useMandate">
+ <input type="submit" size="400" value="Lokale BKU">
+ </form>
+ <p>
+ <small>Alternativ k&ouml;nnen Sie eine lokal installierte BKU verwenden.</small>
+ </p>
+ </div>
+
+ <div id="tab" class="hell">
+ <a href="info_bk.html" class="link_nav">Informationen zur B&uuml;rgerkarte</a>
+ </div>
+
+ <div id="navlist" class="hell">
+ <ul>
+ <li>
+ <a href="http://www.buergerkarte.at" target="_blank">B&uuml;rgerkarte.at</a> </li>
+ <li>
+ <a href="http://www.digitales.oesterreich.gv.at/" target="_blank">Digitales &Ouml;sterreich</a> </li>
+ <li>
+ <a href="http://www.a-sit.at/" target="_blank">A-SIT</a>
+ </li>
+ <li>
+ <a href="http://www.a-trust.at/" target="_blank">A-Trust</a>
+ </li>
+ <li>
+ <a href="http://www.egiz.gv.at/" target="_blank">EGIZ</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <div id="rightcontent">
+ <p>
+ <a href="http://www.buergerkarte.at/de/aktivieren/online.html" target="_blank"><img src="img/ecard_aktivieren.jpg" border="0" alt="eCard online aktivieren" width="210"></a>
+ </p>
+ <p>
+ <a href="http://www.buergerkarte.at/de/aktivieren/mobil.html" target="_blank"><img src="img/mobilsig_aktivieren.jpg" border="0" alt="Mobile Signatur aktivieren" width="210"></a>
+ </p>
+ </div>
+
+ <div id="centercontent">
+
+ <h2 id="contentheader" class="dunkel">
+ Hinweise zum MOA-Template
+ </h2>
+
+ <div id="content" class="hell">
+ <p>
+ Eine Anleitung zur Nutzung des MOA-Template finden Sie hier: <a href="BKAuswahl-MOA-Template-Howto.pdf" target="_blank">BKAuswahl-MOA-Template-Howto.pdf (PDF, 190B)</a>.
+ So m&uuml;ssen vor einem Login noch die Parameter für den MOA-ID Aufruf angegeben werden.</p>
+ <p>
+ Diese Musterseite erf&uuml;llt die Richtlinie f&uuml;r barrierefreie Webinhalte 2.0 (WCAG 2.0 des W3C) Stufe AA. Das Pr&uuml;fprotokoll hierzu finden Sie hier: <a href="WCAG-Pruefprotokoll.pdf" target="_blank">Pruefprotokoll.pdf (PDF, 705kB)</a>.
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/info_bk.html b/id/server/auth/src/main/webapp/info_bk.html
new file mode 100644
index 000000000..8bfee57f2
--- /dev/null
+++ b/id/server/auth/src/main/webapp/info_bk.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title>Information</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta http-equiv="Content-Style-Type" content="text/css">
+ <link rel="stylesheet" type="text/css" href="css/index.css">
+ </head>
+ <body>
+ <div id="wrapper">
+ <p id="skiplinks">
+ <a href="#content">Zum Inhalt springen</a>
+ </p>
+ <div id="banner">
+ <!-- [OPTIONAL] Aendern Sie hier die Titelueberschrift der Seite) -->
+ <div id="bannerleft">
+ <h1>Musterseite</h1>
+ <!-- Meldung im Browser, wenn JavaScript nicht aktiviert -->
+ <noscript>
+ <p>
+ Bitte aktivieren Sie JavaScript.
+ </p>
+ </noscript>
+ </div>
+ <!-- [OPTIONAL] Aendern Sie hier das Logo der Seite (und Alternativtext fuer das Bild) -->
+ <div id="bannerright">
+ <img src="img/logo.jpg" alt="Logo">
+ </div>
+ </div>
+ <div id="main">
+ <div id="centercontent">
+ <h2 id="contentheader" class="dunkel">
+ Informationen zur B&uuml;rgerkarte
+ </h2>
+ <div id="content" class="hell">
+ <p>
+ <B>Hinweis:</B>
+ F&uuml;r nat&uuml;rliche Personen ist beim Login mit B&uuml;rgerkarte keine Erstanmeldung erforderlich.
+ </p>
+ <p>
+ Um mit der B&uuml;rgerkarte einsteigen zu k&ouml;nnen, ben&ouml;tigen Sie:
+ </p>
+ <ul>
+ <li>
+ eine Chipkarte, die f&uuml;r die Verwendung als B&uuml;rgerkarte geeignet ist, wie zum Beispiel Ihre e-card, Bankomatkarte oder Signaturkarte von a-trust oder ein Mobiltelefon, das zur Nutzung als Handy BKU (B&uuml;rgerkartenumgebung) registriert ist.
+ </li>
+ <li>
+ einen Kartenleser mit den dazugeh&ouml;rigen Treibern
+ </li>
+ <li>
+ eine B&uuml;rgerkartensoftware (BKU)
+ </li>
+ </ul>
+ <p>
+ Als B&uuml;rgerkartensoftware stehen folgende drei Varianten zur Verf&uuml;gung:
+ </p>
+ <ul>
+ <li><i>Lokale BKU</i>: Diese Software wird lokal auf Ihrem Computer installiert. Die Software finden sie unter <a href="http://www.buergerkarte.at/de/voraussetzungen/software.html" target="_blank">http://www.buergerkarte.at/de/voraussetzungen/software.html</a>
+ </li>
+ <li><i>Online-BKU</i>: Mit der Online-BKU wird keine lokale B&uuml;rgerkartensoftware am PC ben&ouml;tigt. &Uuml;ber JAVA Technologien werden die ben&ouml;tigten Funktionen als Applet im Browser ausgef&uuml;hrt. Einzige Voraussetzung ist eine aktuelle JAVA Version (ab Java 6).
+ </li>
+ <li><i>Mobile BKU</i>: Mit der mobilen BKU k&ouml;nnen sie mittels ihres Mobiltelefons. Voraussetzung ist eine vorherige Registrierung. Mehr Informationen hierzu finden Sie auf <a href="http://www.a-trust.at/mobile/" target="_blank">http://www.a-trust.at/mobile/</a><br>
+ <b>Hinweis:</b><br>
+ Wenn das JAVA-Applet nicht funktioniert (bei einer &auml;lteren JAVA Version als Java 6 oder bei einem nicht unterst&uuml;tzten Browser), m&uuml;ssen Sie die lokale BKU installieren und dann &uuml;ber die Button &quot;Login mit B&uuml;rgerkarte&quot; und &quot;Lokale BKU&quot; einsteigen.
+ </li>
+ </ul>
+ <p>
+ <br>
+ <b>Informationen zur B&uuml;rgerkarte finden Sie hier:</b>
+ </p>
+ <ul>
+ <li>
+ <a href="http://www.digitales.oesterreich.gv.at" target="_blank">Digitales &Ouml;sterreich</a>: Informationen rund um E-Government
+ </li>
+ <li>
+ <a href="http://www.buergerkarte.at" target="_blank">B&uuml;rgerkarte</a>: Einfach verst&auml;ndliche Informationen zur B&uuml;rgerkarte
+ </li>
+ </ul>
+ <p>
+ <br>
+ <b>Hier bekommen Sie Ihre B&uuml;rgerkarte:</b>
+ </p>
+ <ul>
+ <li>
+ <a href="http://www.a-trust.at/" target="_blank">A-Trust</a>: Aktivieren der Bankomatkarte/e-card als B&uuml;rgerkarte oder Registrierung ihres Mobiltelefons als B&uuml;rgerkarte oder Ausstellung einer eigenen B&uuml;rgerkarte
+ </li>
+ </ul>
+ <p align="center">
+ <a href="javascript:history.back();" class="link_nav">zur&uuml;ck</a>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/javascript/fa.js b/id/server/auth/src/main/webapp/javascript/fa.js
new file mode 100644
index 000000000..ffa4031b1
--- /dev/null
+++ b/id/server/auth/src/main/webapp/javascript/fa.js
@@ -0,0 +1,8 @@
+function deactivateApplicant( ) {
+ if ( document.formular.familienname.value != '' )
+ toggleActive( document.formular.familienname, 'deactive' );
+ if ( document.formular.vorname.value != '' )
+ toggleActive( document.formular.vorname, 'deactive' );
+ if ( document.formular.geburtsdatum.value != '' && document.formular.geburtsdatum.value != 'JJJJ-MM-TT' )
+ toggleActive( document.formular.geburtsdatum, 'deactive' );
+}
diff --git a/id/server/auth/src/main/webapp/javascript/formallg.js b/id/server/auth/src/main/webapp/javascript/formallg.js
new file mode 100644
index 000000000..65d7bbedf
--- /dev/null
+++ b/id/server/auth/src/main/webapp/javascript/formallg.js
@@ -0,0 +1,315 @@
+/*
+|| Die Funktion displayElement() macht ein verstecktes HTML-Element sichtbar.
+|| Das HTML-Element ist in aller Regel ein mit <div> ... </div> umspannter
+|| HTML-Abschnitt.
+||
+|| IN-Parameter: element_id ... ID des sichtbarzumachenden HTML-Elements
+||
+*/
+
+function displayElement( element_id ) {
+ if ( notNN4( ) )
+ {
+ var elementToDisplay = document.getElementById( element_id );
+ elementToDisplay.className = 'show';
+ }
+}
+
+
+
+/*
+|| Die Funktion hideElement() macht ein HTML-Element unsichtbar.
+|| Das HTML-Element ist in aller Regel ein mit <div> ... </div> umspannter
+|| HTML-Abschnitt.
+||
+|| IN-Parameter: element_id ... ID des zu versteckenden HTML-Elements
+||
+*/
+
+function hideElement( element_id ) {
+ if ( notNN4( ) )
+ {
+ var elementToHide = document.getElementById( element_id );
+ elementToHide.className = 'hide';
+ }
+}
+
+
+
+/*
+|| Die Funktion resetValue() setzt Radiobuttons, Dropdown-Menues und Checkboxes auf ihre
+|| Ausgangswerte (beim Laden des Formulars) zurueck.
+||
+|| IN-Parameter: element ... Radiobutton-, Dropdown- oder Checkbox-Element
+||
+*/
+
+function resetValue( element ) {
+ for ( var i = 0; i < element.length; i++ )
+ {
+ element[i].checked = element[i].defaultChecked;
+ element[i].selected = element[i].defaultSelected;
+ }
+}
+
+
+
+/*
+|| Die Funktion toggleDisplay() invertiert die Sichtbarkeit eines
+|| HTML-Elements.
+|| Das HTML-Element ist in aller Regel ein mit <div> ... </div> umspannter
+|| HTML-Abschnitt.
+||
+|| IN-Parameter: element_id ... ID des zu invertierenden HTML-Elements
+||
+*/
+
+function toggleDisplay( element_id ) {
+ if ( notNN4( ) )
+ {
+ var elementToToggle = document.getElementById( element_id );
+ var elementClass = elementToToggle.className;
+ if ( elementClass == 'hide' )
+ elementToToggle.className = "display";
+ else
+ elementToToggle.className = "hide";
+ }
+}
+
+/*
+|| Die Funktion toggleActive() setzt das Attribut 'readonly' eines
+|| HTML-Eingabeelements.
+||
+|| IN-Parameter: element ... HTML-Eingabeelement
+|| IN-Parameter: status ... entweder 'active' oder 'deactive'
+||
+*/
+
+function toggleActive( element, status ) {
+
+ if ( notNN4( ) )
+ {
+ var elementToToggle = document.getElementById( element.id );
+
+ if ( status == 'active' )
+ {
+ element.readOnly = false;
+ elementToToggle.className = "active";
+ }
+ else
+ {
+ element.readOnly = true;
+ elementToToggle.className = "deactive";
+ }
+ }
+}
+
+
+
+/*
+|| Die Funktion changeActivity() setzt das Attribut 'readonly' eines
+|| HTML-Eingabeelements in Abhaengigkeit des Uebergabeparameters 'value'.
+||
+|| IN-Parameter: value ... Wert eines HTML-Eingabelements
+|| IN-Parameter: element ... HTML-Eingabeelement
+||
+*/
+
+function changeActivity( value, element ) {
+ if ( value == null || value == '' )
+ toggleActive( element, 'active' );
+ else
+ toggleActive( element, 'deactive' );
+}
+
+
+
+/*
+|| Die Funktion pasteValueAndDeactivate() setzt den Wert eines HTML-Eingabeelements
+|| und setzt das Attribut 'readonly', je nachdem ob der uebergebene Wert ungleich
+|| dem Leerstring ist oder nicht.
+||
+|| IN-Parameter: value ... zu setzender Wert
+|| IN-Parameter: element ... HTML-Eingabeelement
+||
+*/
+
+function pasteValueAndDeactivate( value, element ) {
+ if ( notNN4( ) )
+ {
+ var elementToSet = document.getElementById( element.id );
+ elementToSet.value = value;
+ if ( value != null && value != '' )
+ {
+ element.readOnly = true;
+ elementToSet.className = "deactive";
+ }
+ else
+ {
+ element.readOnly = false;
+ elementToSet.className = "active";
+ }
+ }
+}
+
+
+
+/*
+|| Die Funktion popitup() oeffnet im Browser links oben ein Fenster
+|| mit bestimmten Eigenschaften (keine Statuszeile, kein Browsermenue, etc.).
+|| URL und Groesse des Fensters werden als Parameter uebergeben.
+||
+|| IN-Parameter: url ... in dem Fenster zu oeffnende URL
+|| IN-Parameter: win_width ... Breite des zu oeffnenden Fensters
+|| IN-Parameter: win_height ... Hoehe des zu oeffnenden Fensters
+||
+*/
+
+function popitup( url, win_width, win_height ) {
+ var features = "resizable, scrollbars=yes,status=no, menubar=no, toolbar=no, screenX=20, screenY=20, width=" + win_width + ", height=" + win_height;
+ newwindow=window.open( url, 'Info', features );
+ /* die folgende Anweisung verursacht im IE eine Zugriffsverletzung, daher auskommentiert! */
+ // newwindow.moveTo( 20, 20);
+ if ( window.focus )
+ newwindow.focus( );
+}
+
+
+
+/*
+|| Die Funktion initialize() deaktiviert das StyleSheet styles_opera.css (ausser fuer Opera).
+|| Ausserdem werden in Browsern, die JavaScript aktiviert haben, die Icon-Info-Links durch href-Werte ersetzt,
+|| die kein neues Browser-Fenster, sondern ein kleines Fenster oeffnen (s. Funktion javascriptWindows).
+|| Der Parameter url hat entweder den Wert http://www.help.gv.at/formulare/infotexte/ oder
+|| http://e-www.help.gv.at/linkdb/formulare/infotexte/, je nachdem in welcher Umgebung man sich befindet
+*/
+
+function initialize( url ) {
+ if ( notNN4( ) ) {
+ if (document.getElementsByTagName) {
+ if ( document.getElementsByTagName('link').length > 1 )
+ {
+ document.getElementsByTagName('link')[1].disabled = true;
+ javascriptWindows( url );
+ }
+ schattieren( );
+ }
+ }
+}
+
+
+/*
+|| Die Funktion javascriptWindows() ersetzt in den Formularen bei aktiviertem JavaScript
+|| die Links bei den Infobuttons durch window.open-Befehle, so dass diese Infotexte in
+|| einem kleinen Fenster im Browser links oben geoeffnet werden.
+|| Der Parameter url hat entweder den Wert http://www.help.gv.at/formulare/infotexte/ oder
+|| http://e-www.help.gv.at/linkdb/formulare/infotexte/, je nachdem in welcher Umgebung man sich befindet.
+*/
+
+function javascriptWindows( url ) {
+ var aElement,
+ href,
+ newHref,
+ lastIndex;
+ if ( notNN4( ) )
+ {
+ for ( var i = 0; i < document.getElementsByTagName( 'a' ).length; i++ )
+ {
+ aElement = document.getElementsByTagName( 'a' )[i];
+ href = aElement.href;
+ if ( href.indexOf( 'info_' ) != -1 )
+ {
+ lastIndex = href.lastIndexOf( '/' );
+ newHref = href.substring( lastIndex + 1 );
+ newHref = "javascript:popitup('" + url + newHref + "',660,500);";
+ aElement.setAttribute( 'href', newHref );
+ aElement.setAttribute( 'target', '_self' );
+ }
+ }
+ }
+}
+
+/*
+|| Die Funktion submitButton() erzeugt einen Submit-Button, der ein automatisches
+|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste
+|| betaetigt.
+|| Wurde durch die Funktion generateButton() abgeloest.
+*/
+
+function submitButton( ) {
+ document.writeln('<input type="button" name="JavaScriptButton" value="Senden" class="button" ' +
+ 'onclick="document.formular.Senden.value=\'Senden\'; document.formular.submit()" ' +
+ 'onkeypress="document.formular.Senden.value=\'Senden\'; document.formular.submit()" />');
+}
+
+/*
+|| Die Funktion cancelButton() erzeugt einen Abbrechen-Button, der ein automatisches
+|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste
+|| betaetigt.
+|| Wurde durch die Funktion generateButton() abgeloest.
+*/
+
+function cancelButton( ) {
+ document.writeln('<input type="button" name="JavaScriptButton" value="Abbrechen" class="button" ' +
+ 'onclick="document.formular.Senden.value=\'Abbrechen\'; document.formular.submit()" ' +
+ 'onkeypress="document.formular.Senden.value=\'Abbrechen\'; document.formular.submit()" />');
+}
+
+/*
+|| Die Funktion generateButton() erzeugt einen Button, der ein automatisches
+|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste
+|| betaetigt. Die Art des Buttons wird durch den uebergebenen Wert bestimmt.
+|| Moegliche Werte: Senden, Abbrechen, Signieren, etc.
+*/
+
+function generateButton( kind ) {
+
+ document.write('<input type="button" name="JavaScriptButton" value="' + kind + '" class="button" ' +
+ 'onclick="' );
+ if ( kind == 'Druckversion' )
+ document.write( 'document.formular.target=\'_blank\' ;' );
+ else
+ document.write( 'document.formular.target=\'_self\' ; ' );
+ document.write( 'document.formular.Senden.value=\'' + kind + '\'; document.formular.submit()" ' +
+ 'onkeypress="' );
+ if ( kind == 'Druckversion' )
+ document.write( 'document.formular.target=\'_blank\'; ' );
+ else
+ document.write( 'document.formular.target=\'_self\';' );
+ document.writeln( 'document.formular.Senden.value=\'' + kind + '\'; document.formular.submit()" />');
+
+}
+
+/*
+|| Die Funktion NN4 testet, ob es sich bei dem Browser um einen Netscape
+|| Navigator der Version 4 handelt.
+*/
+
+function notNN4( ) {
+ return ( ! document.layers );
+}
+
+/*
+|| Die Funktion schattieren setzt in den Beilagen-Tabellen abwechselnd Farben
+|| Quelle: Andreas Borutta, http://borumat.de/html/tab-schattieren.php
+*/
+
+
+function schattieren () {
+var tabelle=document.getElementsByTagName("table");
+ for(i=0; i<=tabelle.length-1; i++) {
+ var klasse=tabelle[i].className;
+ var pos1=klasse.indexOf("attachmenttable");
+ if (pos1 > -1) {
+ pos1=klasse.indexOf("ab_");
+ if (pos1 > -1 ) var von=parseInt(klasse.substr(pos1+3,2));
+ else var von=3;
+ var pos2=klasse.indexOf("fuss_");
+ if (pos2 > -1 ) var fuss=parseInt(klasse.substr(pos2+5,2));
+ else var fuss=0;
+ var reihe=tabelle[i].getElementsByTagName("tr");
+ for (j=von -1; j<=reihe.length -fuss -1; j=j+2)
+ reihe[j].className="s";
+ } //endIf
+ } //endFor
+} //endFunc
diff --git a/id/server/auth/src/main/webapp/message-auth.jsp b/id/server/auth/src/main/webapp/message-auth.jsp
new file mode 100644
index 000000000..0c28c1ba7
--- /dev/null
+++ b/id/server/auth/src/main/webapp/message-auth.jsp
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<%@ page contentType="text/html; charset=UTF-8" %>
+<html>
+<head>
+<title>MOA-ID AUTH</title>
+</head>
+<% String message = (String)request.getAttribute("Message");
+%>
+
+<body>
+<h1>MOA-ID AUTH</h1>
+
+<% if (message != null) { %>
+<p>
+<%= message%><br>
+</p>
+<% } %>
+
+</body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/template_handyBKU.html b/id/server/auth/src/main/webapp/template_handyBKU.html
new file mode 100644
index 000000000..6ccd295b2
--- /dev/null
+++ b/id/server/auth/src/main/webapp/template_handyBKU.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script language="javascript" type="text/javascript">
+ function onAnmeldeSubmit() {
+ document.CustomizedForm.submit();
+ document.CustomizedForm.Senden.disabled=true;
+ }
+ </script>
+ </head>
+ <body onLoad="onAnmeldeSubmit()">
+ <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <input class="button" type="hidden" value="Starte Authentisierung" name="Senden">
+ <input type="hidden" name="XMLRequest" value="<XMLRequest>">
+ <input type="hidden" name="DataURL" value="<DataURL>">
+ <input type="hidden" name="PushInfobox" value="<PushInfobox>">
+
+ <!-- Angabe der Parameter für die Handy-BKU -->
+ <input type="hidden" name="appletWidth" value="220">
+ <input type="hidden" name="appletHeight" value="159">
+
+ <!-- [OPTIONAL] Aendern Sie hier die Hintergrundfarbe der Handy-BKU -->
+ <input type="hidden" name="backgroundColor" value="#DDDDDD">
+
+ <input type="hidden" name="redirecttarget" value="_parent">
+ </form>
+
+ <form name="CustomizedInfoForm" action="<BKU>" method="post">
+ <input type="hidden" name="XMLRequest" value="<CertInfoXMLRequest>">
+ <input type="hidden" name="DataURL" value="<CertInfoDataURL>">
+ </form>
+ <form name="DummyForm" action="<BKU>" method="post">
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/template_localBKU.html b/id/server/auth/src/main/webapp/template_localBKU.html
new file mode 100644
index 000000000..e07ba5d52
--- /dev/null
+++ b/id/server/auth/src/main/webapp/template_localBKU.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script language="javascript" type="text/javascript">
+ function onAnmeldeSubmit() {
+ document.CustomizedForm.submit();
+ document.CustomizedForm.Senden.disabled=true;
+ }
+ </script>
+ </head>
+ <body onLoad="onAnmeldeSubmit()">
+ <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <input class="button" type="submit" value="Starte Authentisierung" name="Senden">
+ <input type="hidden" name="XMLRequest" value="<XMLRequest>">
+ <input type="hidden" name="DataURL" value="<DataURL>">
+ <input type="hidden" name="PushInfobox" value="<PushInfobox>">
+ </form>
+
+ <form name="CustomizedInfoForm" action="<BKU>" method="post">
+ <input type="hidden" name="XMLRequest" value="<CertInfoXMLRequest>">
+ <input type="hidden" name="DataURL" value="<CertInfoDataURL>">
+ </form>
+
+ <form name="DummyForm" action="<BKU>" method="post">
+ </form>
+ </body>
+</html>
diff --git a/id/server/auth/src/main/webapp/template_onlineBKU.html b/id/server/auth/src/main/webapp/template_onlineBKU.html
new file mode 100644
index 000000000..1bb2ac236
--- /dev/null
+++ b/id/server/auth/src/main/webapp/template_onlineBKU.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="de">
+ <head>
+ <title></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script language="javascript" type="text/javascript">
+ function onAnmeldeSubmit() {
+ document.CustomizedForm.submit();
+ document.CustomizedForm.Senden.disabled=true;
+ }
+ </script>
+ </head>
+ <body onLoad="onAnmeldeSubmit()">
+ <form name="CustomizedForm" action="<BKU>" method="post" enctype="multipart/form-data<>">
+ <input class="button" type="hidden" value="Starte Authentisierung" name="Senden">
+ <input type="hidden" name="XMLRequest" value="<XMLRequest>">
+ <input type="hidden" name="DataURL" value="<DataURL>">
+ <input type="hidden" name="PushInfobox" value="<PushInfobox>">
+
+ <!-- Angabe der Parameter fuer die Online-BKU -->
+ <input type="hidden" name="appletWidth" value="220">
+ <input type="hidden" name="appletHeight" value="140">
+
+ <!-- [OPTIONAL] Aendern Sie hier die Hintergrundfarbe der Online-BKU -->
+ <input type="hidden" name="appletBackgroundColor" value="#DDDDDD">
+ </form>
+
+ <form name="CustomizedInfoForm" action="<BKU>" method="post">
+ <input type="hidden" name="XMLRequest" value="<CertInfoXMLRequest>">
+ <input type="hidden" name="DataURL" value="<CertInfoDataURL>">
+ </form>
+ <form name="DummyForm" action="<BKU>" method="post">
+ </form>
+ </body>
+</html>
diff --git a/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl b/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl
new file mode 100644
index 000000000..5751b3e58
--- /dev/null
+++ b/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
+ <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" location="MOA-20020812.xsd"/>
+ <message name="GetAuthenticationDataInput">
+ <part name="body" element="samlp:Request"/>
+ </message>
+ <message name="GetAuthenticationDataOutput">
+ <part name="body" element="samlp:Response"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="IdentificationPortType">
+ <operation name="getAuthenticationData">
+ <input message="tns:GetAuthenticationDataInput"/>
+ <output message="tns:GetAuthenticationDataOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="IdentificationBinding" type="tns:IdentificationPortType" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/wsdl/soap/">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="getAuthenticationData">
+ <soap:operation soapAction="urn:GetAuthenticationDataAction"/>
+ <input>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault name="MOAFault" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="GetAuthenticationDataService">
+ <port name="IdentificationPort" binding="tns:IdentificationBinding">
+ <soap:address location="http://localhost/moa-id-auth/services/GetAuthenticationData"/>
+ </port>
+ </service>
+</definitions>
diff --git a/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl b/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl
new file mode 100644
index 000000000..5466a0b6f
--- /dev/null
+++ b/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
+ <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" location="MOA-SPSS-1.2.xsd"/>
+ <message name="GetAuthenticationDataInput">
+ <part name="body" element="samlp:Request"/>
+ </message>
+ <message name="GetAuthenticationDataOutput">
+ <part name="body" element="samlp:Response"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="IdentificationPortType">
+ <operation name="getAuthenticationData">
+ <input message="tns:GetAuthenticationDataInput"/>
+ <output message="tns:GetAuthenticationDataOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="IdentificationBinding" type="tns:IdentificationPortType" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/wsdl/soap/">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="getAuthenticationData">
+ <soap:operation soapAction="urn:GetAuthenticationDataAction"/>
+ <input>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault name="MOAFault" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="GetAuthenticationDataService">
+ <port name="IdentificationPort" binding="tns:IdentificationBinding">
+ <soap:address location="http://localhost/Identification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd b/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd
new file mode 100644
index 000000000..d7a06d6e7
--- /dev/null
+++ b/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.2 Schema
+-->
+<xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2">
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <!--########## Create XML Signature ###-->
+ <!--### Create XML Signature Request ###-->
+ <xsd:element name="CreateXMLSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="CreateXMLSignatureRequestType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="CreateXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/>
+ <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="DataObjectInfo" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="DataObjectInfoType">
+ <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="CreateSignatureInfo" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateSignatureEnvironmentProfile"/>
+ <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Create XML Signature Response ###-->
+ <xsd:complexType name="CreateXMLSignatureResponseType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="SignatureEnvironment">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="ErrorResponse"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
+ <!--########## Verify CMS Signature ###-->
+ <!--### Verifiy CMS Signature Request ###-->
+ <xsd:element name="VerifyCMSSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="VerifyCMSSignatureRequestType">
+ <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="VerifyCMSSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
+ <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ <xsd:element name="TrustProfileID">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify CMS Signature Response ###-->
+ <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
+ <xsd:complexType name="VerifyCMSSignatureResponseType">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SignatureCheck" type="CheckResultType"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Verify XML Signature ###-->
+ <!--### Verify XML Signature Request ###-->
+ <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
+ <xsd:complexType name="VerifyXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="VerifySignatureInfo">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:element name="VerifySignatureLocation" type="xsd:token"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="SupplementProfile"/>
+ <xsd:element name="SupplementProfileID" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:element name="SignatureManifestCheckParams" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ReturnHashInputData" minOccurs="0"/>
+ <xsd:element name="TrustProfileID">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify XML Signature Response ###-->
+ <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
+ <xsd:complexType name="VerifyXMLSignatureResponseType">
+ <xsd:sequence>
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="HashInputData" type="ContentExLocRefBaseType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferenceInputData" type="ContentExLocRefBaseType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/>
+ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/>
+ <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ProfileIdentifierType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="MimeType" type="MimeTypeType"/>
+ <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/>
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="FinalDataMetaInfoType">
+ <xsd:complexContent>
+ <xsd:extension base="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectInfoType">
+ <xsd:sequence>
+ <xsd:element name="DataObject">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="ContentOptionalRefType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateTransformsInfoProfile"/>
+ <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="Structure" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="detached"/>
+ <xsd:enumeration value="enveloping"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLDataObjectAssociationType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="ContentRequiredRefType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSDataObjectOptionalMetaType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="CMSContentBaseType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSContentBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!--########## Error Response ###-->
+ <xsd:element name="ErrorResponse" type="ErrorResponseType">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="ErrorResponseType">
+ <xsd:sequence>
+ <xsd:element name="ErrorCode" type="xsd:integer"/>
+ <xsd:element name="Info" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Auxiliary Types ###-->
+ <xsd:simpleType name="KeyIdentifierType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="KeyStorageType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Software"/>
+ <xsd:enumeration value="Hardware"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MimeTypeType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="AnyChildrenType" mixed="true">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLContentType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:extension base="AnyChildrenType">
+ <xsd:attribute ref="xml:space" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="ContentExLocRefBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentOptionalRefType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentBaseType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentRequiredRefType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyTransformsDataType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="VerifyTransformsInfoProfile"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="QualifiedCertificate"/>
+ <xsd:element name="PublicAuthority" type="PublicAuthorityType"/>
+ <xsd:complexType name="PublicAuthorityType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="SignatoriesType">
+ <xsd:union memberTypes="AllSignatoriesType">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:positiveInteger"/>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ <xsd:simpleType name="AllSignatoriesType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CreateSignatureLocationType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+ <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="TransformParameterType">
+ <xsd:choice minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="Base64Content" type="xsd:base64Binary">
+ <xsd:annotation>
+ <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Hash">
+ <xsd:annotation>
+ <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:DigestMethod"/>
+ <xsd:element ref="dsig:DigestValue"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="CreateSignatureEnvironmentProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyTransformsInfoProfile">
+ <xsd:annotation>
+ <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="CreateTransformsInfoProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/>
+ <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>