aboutsummaryrefslogtreecommitdiff
path: root/id/server/doc
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/doc')
-rw-r--r--id/server/doc/Architektur ID.vsdbin0 -> 318464 bytes
-rw-r--r--id/server/doc/MOA ID 1.x.wsdl41
-rw-r--r--id/server/doc/MOA-ID Feinspezifikation.docbin0 -> 268288 bytes
-rw-r--r--id/server/doc/MOA-ID-Configuration-1.2.xsd350
-rw-r--r--id/server/doc/MOA-ID-Configuration-1.3.xsd424
-rw-r--r--id/server/doc/MOA-ID-Configuration-1.4.2.xsd616
-rw-r--r--id/server/doc/MOA-ID-Configuration-1.4.3.xsd612
-rw-r--r--id/server/doc/MOA-ID-Configuration-1.4.xsd505
-rw-r--r--id/server/doc/MOA-Testzertifikate.pdfbin0 -> 33476 bytes
-rw-r--r--id/server/doc/MOA-Testzertifikate.vsdbin0 -> 316416 bytes
-rw-r--r--id/server/doc/MOA_ID_1.2_20040315.pdfbin0 -> 577309 bytes
-rw-r--r--id/server/doc/MOA_ID_1.3_20060315.pdfbin0 -> 355156 bytes
-rw-r--r--id/server/doc/MOA_ID_1.4_20070802.pdfbin0 -> 239502 bytes
-rw-r--r--id/server/doc/OID-1-0-3.pdfbin0 -> 347041 bytes
-rw-r--r--id/server/doc/bku-auswahl.20030408.pdfbin0 -> 131587 bytes
-rw-r--r--id/server/doc/cs-sstc-schema-assertion-01.xsd194
-rw-r--r--id/server/doc/cs-sstc-schema-protocol-01.xsd127
-rw-r--r--id/server/doc/moa-id.htm7
-rw-r--r--id/server/doc/moa_id/examples/BKUSelectionTemplate.html52
-rw-r--r--id/server/doc/moa_id/examples/ChainingModes.txt6
-rw-r--r--id/server/doc/moa_id/examples/IdentityLinkSigners.txt9
-rw-r--r--id/server/doc/moa_id/examples/LoginServletExample.txt171
-rw-r--r--id/server/doc/moa_id/examples/SampleMOAIDVerifyInfoboxesConfiguration.xml148
-rw-r--r--id/server/doc/moa_id/examples/Template.html50
-rw-r--r--id/server/doc/moa_id/examples/TransformsInfoAuthBlock.txt35
-rw-r--r--id/server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml103
-rw-r--r--id/server/doc/moa_id/examples/conf/OAConfBasicAuth.xml9
-rw-r--r--id/server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml10
-rw-r--r--id/server/doc/moa_id/examples/conf/OAConfParamAuth.xml10
-rw-r--r--id/server/doc/moa_id/examples/moa-id-env.sh.txt15
-rw-r--r--id/server/doc/moa_id/examples/startTomcat.bat.txt26
-rw-r--r--id/server/doc/moa_id/faqs.htm217
-rw-r--r--id/server/doc/moa_id/id-admin.htm317
-rw-r--r--id/server/doc/moa_id/id-admin_1.htm540
-rw-r--r--id/server/doc/moa_id/id-admin_2.htm1467
-rw-r--r--id/server/doc/moa_id/id-admin_3.htm204
-rw-r--r--id/server/doc/moa_id/id-anwendung.htm104
-rw-r--r--id/server/doc/moa_id/id-anwendung_1.htm205
-rw-r--r--id/server/doc/moa_id/id-anwendung_2.htm247
-rw-r--r--id/server/doc/moa_id/links.htm141
-rw-r--r--id/server/doc/moa_id/moa-id-ablauf.jpgbin0 -> 15550 bytes
-rw-r--r--id/server/doc/moa_id/moa.htm248
-rw-r--r--id/server/doc/moa_images/east.gifbin0 -> 966 bytes
-rw-r--r--id/server/doc/moa_images/idle.gifbin0 -> 869 bytes
-rw-r--r--id/server/doc/moa_images/moa_diagramm1.jpgbin0 -> 60602 bytes
-rw-r--r--id/server/doc/moa_images/moa_thema.gifbin0 -> 25120 bytes
-rw-r--r--id/server/doc/moa_images/north.gifbin0 -> 967 bytes
-rw-r--r--id/server/doc/moa_images/pfeil.gifbin0 -> 843 bytes
-rw-r--r--id/server/doc/moa_images/print.gifbin0 -> 211 bytes
-rw-r--r--id/server/doc/moa_images/select.gifbin0 -> 880 bytes
-rw-r--r--id/server/doc/moa_images/south.gifbin0 -> 965 bytes
-rw-r--r--id/server/doc/moa_images/transdot.gifbin0 -> 43 bytes
-rw-r--r--id/server/doc/moa_images/west.gifbin0 -> 966 bytes
53 files changed, 7210 insertions, 0 deletions
diff --git a/id/server/doc/Architektur ID.vsd b/id/server/doc/Architektur ID.vsd
new file mode 100644
index 000000000..d4678007a
--- /dev/null
+++ b/id/server/doc/Architektur ID.vsd
Binary files differ
diff --git a/id/server/doc/MOA ID 1.x.wsdl b/id/server/doc/MOA ID 1.x.wsdl
new file mode 100644
index 000000000..06daae8f1
--- /dev/null
+++ b/id/server/doc/MOA ID 1.x.wsdl
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by patrick peck (anecon) -->
+<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/Identification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/id/server/doc/MOA-ID Feinspezifikation.doc b/id/server/doc/MOA-ID Feinspezifikation.doc
new file mode 100644
index 000000000..e71ffa8e6
--- /dev/null
+++ b/id/server/doc/MOA-ID Feinspezifikation.doc
Binary files differ
diff --git a/id/server/doc/MOA-ID-Configuration-1.2.xsd b/id/server/doc/MOA-ID-Configuration-1.2.xsd
new file mode 100644
index 000000000..4b018db64
--- /dev/null
+++ b/id/server/doc/MOA-ID-Configuration-1.2.xsd
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Rudolf Schamberger (Stabsstelle IKT-Strategie) (Bundesrechenzentrum GmbH) -->
+<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.1">
+ <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.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.20020225.xsd"/>
+ <xsd:element name="Configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LoginType" type="LoginType" default="stateful"/>
+ <xsd:element name="Binding" minOccurs="0" maxOccurs="1">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="userName"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element ref="ParamAuth"/>
+ <xsd:element ref="BasicAuth"/>
+ <xsd:element ref="HeaderAuth"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="LoginType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stateless"/>
+ <xsd:enumeration value="stateful"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="ParamAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Parameter" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Parameter">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="BasicAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="UserID" type="MOAAuthDataType"/>
+ <xsd:element name="Password" type="MOAAuthDataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="HeaderAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Header" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Header">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="MOAAuthDataType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="MOAGivenName"/>
+ <xsd:enumeration value="MOAFamilyName"/>
+ <xsd:enumeration value="MOADateOfBirth"/>
+ <xsd:enumeration value="MOABPK"/>
+ <xsd:enumeration value="MOAPublicAuthority"/>
+ <xsd:enumeration value="MOABKZ"/>
+ <xsd:enumeration value="MOAQualifiedCertificate"/>
+ <xsd:enumeration value="MOAStammzahl"/>
+ <xsd:enumeration value="MOAIdentificationValueType"/>
+ <xsd:enumeration value="MOAIPAddress"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MOAKeyBoxSelector">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SecureSignatureKeypair"/>
+ <xsd:enumeration value="CertifiedKeypair"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
+ <xsd:element name="MOA-IDConfiguration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter der
+ Authentisierungs-Komponente</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfigurationsparameter der
+ Proxy-Komponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation zw.
+ Proxykomponente und Authenttisierungskomponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ Proxy-Komponente zur Auth-Komponente (vgl.
+ AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="OnlineApplication" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die OA</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="OnlineApplicationType">
+ <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ChainingModes" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die
+ Zertifikatspfadvalidierung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="TrustAnchor">
+ <xsd:annotation>
+ <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann
+ für jeden TrustAnchor gesetzt werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="dsig:X509IssuerSerialType">
+ <xsd:attribute name="mode" type="ChainingModeType" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA
+ (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AuthComponentType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelection" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
+ </xsd:sequence>
+ <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="SecurityLayer">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation mit dem
+ Security-Layer</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TransformsInfo" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem
+ Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo
+ werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks
+ inkludiert</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MOA-SP">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA
+ SP Modul</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server;
+ wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden;
+ wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben
+ werden; wird das Element nicht verwendet dann wird MOA-SP über das API
+ aufgerufen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="VerifyIdentityLink">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung der
+ Personenbindung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyAuthBlock">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung des
+ AUTH-Blocks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="IdentityLinkSigners">
+ <xsd:annotation>
+ <xsd:documentation>enthält Informationen über akzeptierte Signers des
+ IdentityLinks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>akzeptierte Signer des IdentityLinks werden per
+ X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ProxyComponentType"/>
+ <xsd:complexType name="OnlineApplicationType">
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die
+ Authentisierungs-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der
+ TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterClientAuthType">
+ <xsd:complexContent>
+ <xsd:extension base="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="ClientKeyStore" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für
+ die TLS-Client-Authentisierung verwendetwird, enthält</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="password" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="TrustProfileID" type="xsd:string"/>
+ <xsd:simpleType name="ChainingModeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="chaining"/>
+ <xsd:enumeration value="pkix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="BKUSelectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="HTMLComplete"/>
+ <xsd:enumeration value="HTMLSelect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/id/server/doc/MOA-ID-Configuration-1.3.xsd b/id/server/doc/MOA-ID-Configuration-1.3.xsd
new file mode 100644
index 000000000..66c6e1832
--- /dev/null
+++ b/id/server/doc/MOA-ID-Configuration-1.3.xsd
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Rudolf Schamberger (Stabsstelle IKT-Strategie) (Bundesrechenzentrum GmbH) -->
+<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.1">
+ <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.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.20020225.xsd"/>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en_moaWID.xsd"/>
+ <xsd:element name="Configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LoginType" type="LoginType" default="stateful"/>
+ <xsd:element name="Binding" minOccurs="0">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="userName"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element ref="ParamAuth"/>
+ <xsd:element ref="BasicAuth"/>
+ <xsd:element ref="HeaderAuth"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="LoginType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stateless"/>
+ <xsd:enumeration value="stateful"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="ParamAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Parameter" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Parameter">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="BasicAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="UserID" type="MOAAuthDataType"/>
+ <xsd:element name="Password" type="MOAAuthDataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="HeaderAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Header" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Header">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="MOAAuthDataType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="MOAGivenName"/>
+ <xsd:enumeration value="MOAFamilyName"/>
+ <xsd:enumeration value="MOADateOfBirth"/>
+ <xsd:enumeration value="MOABPK"/>
+ <xsd:enumeration value="MOAWBPK"/>
+ <xsd:enumeration value="MOAPublicAuthority"/>
+ <xsd:enumeration value="MOABKZ"/>
+ <xsd:enumeration value="MOAQualifiedCertificate"/>
+ <xsd:enumeration value="MOAStammzahl"/>
+ <xsd:enumeration value="MOAIdentificationValueType"/>
+ <xsd:enumeration value="MOAIPAddress"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MOAKeyBoxSelector">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SecureSignatureKeypair"/>
+ <xsd:enumeration value="CertifiedKeypair"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
+ <xsd:element name="MOA-IDConfiguration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter der
+ Authentisierungs-Komponente</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfigurationsparameter der
+ Proxy-Komponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation zw.
+ Proxykomponente und Authenttisierungskomponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ Proxy-Komponente zur Auth-Komponente (vgl.
+ AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="OnlineApplication" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die OA</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="OnlineApplicationType">
+ <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
+ <xsd:attribute name="type" use="optional" default="publicService">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="businessService"/>
+ <xsd:enumeration value="publicService"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ChainingModes" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die
+ Zertifikatspfadvalidierung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="TrustAnchor">
+ <xsd:annotation>
+ <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann
+ für jeden TrustAnchor gesetzt werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="dsig:X509IssuerSerialType">
+ <xsd:attribute name="mode" type="ChainingModeType" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA
+ (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DirectoryCertStoreParameters.RootDir"/>
+ <xsd:enumeration value="AuthenticationSession.TimeOut"/>
+ <xsd:enumeration value="AuthenticationData.TimeOut"/>
+ <xsd:enumeration value="TrustManager.RevocationChecking"/>
+ <xsd:enumeration value="FrontendServlets.EnableHTTPConnection"/>
+ <xsd:enumeration value="FrontendServlets.DataURLPrefix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AuthComponentType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelection" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
+ </xsd:sequence>
+ <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="SecurityLayer">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation mit dem
+ Security-Layer</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MOA-SP">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA
+ SP Modul</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server;
+ wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden;
+ wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben
+ werden; wird das Element nicht verwendet dann wird MOA-SP über das API
+ aufgerufen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="VerifyIdentityLink">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung der
+ Personenbindung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyAuthBlock">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung des
+ AUTH-Blocks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="IdentityLinkSigners">
+ <xsd:annotation>
+ <xsd:documentation>enthält Informationen über akzeptierte Signers des
+ IdentityLinks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>akzeptierte Signer des IdentityLinks werden per
+ X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem
+ Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo
+ werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks
+ inkludiert</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="TemplatesType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelectionTemplate" type="TemplateType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="Template" type="TemplateType" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TemplateType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut URL spezifiziert die Lage des Templates</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ProxyComponentType"/>
+ <xsd:complexType name="OnlineApplicationType">
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die
+ Authentisierungs-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <!--xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="pr:AbstractSimpleIdentification"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element-->
+ <xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element ref="pr:Firmenbuchnummer"/>
+ <xsd:element ref="pr:ZMRzahl"/>
+ <xsd:element ref="pr:Vereinsnummer"/>
+ <xsd:element ref="pr:ERJPZahl"/>
+ <xsd:element name="AnyNumber">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="slVersion" use="optional" default="1.1">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.1"/>
+ <xsd:enumeration value="1.2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideCertificate" type="xsd:boolean" use="optional" default="false"/>
+ <!--xsd:element ref="pr:AbstractSimpleIdentification" minOccurs="0" maxOccurs="1"/-->
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <!--xsd:element ref="pr:CorporateBody" minOccurs="0" maxOccurs="1"/-->
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der
+ TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterClientAuthType">
+ <xsd:complexContent>
+ <xsd:extension base="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="ClientKeyStore" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für
+ die TLS-Client-Authentisierung verwendetwird, enthält</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="password" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="TrustProfileID" type="xsd:string"/>
+ <xsd:simpleType name="ChainingModeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="chaining"/>
+ <xsd:enumeration value="pkix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="BKUSelectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="HTMLComplete"/>
+ <xsd:enumeration value="HTMLSelect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/id/server/doc/MOA-ID-Configuration-1.4.2.xsd b/id/server/doc/MOA-ID-Configuration-1.4.2.xsd
new file mode 100644
index 000000000..360789834
--- /dev/null
+++ b/id/server/doc/MOA-ID-Configuration-1.4.2.xsd
@@ -0,0 +1,616 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.4.2">
+ <!-- es werden lokale Schemas referenziert für real aufgelöste Schemas bitte ersetzen: http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd -->
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en_moaWID.xsd"/>
+ <xsd:element name="Configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LoginType" type="LoginType" default="stateful"/>
+ <xsd:element name="Binding" minOccurs="0">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="userName"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element ref="ParamAuth"/>
+ <xsd:element ref="BasicAuth"/>
+ <xsd:element ref="HeaderAuth"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="LoginType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stateless"/>
+ <xsd:enumeration value="stateful"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="ParamAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Parameter" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Parameter">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="BasicAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="UserID" type="MOAAuthDataType"/>
+ <xsd:element name="Password" type="MOAAuthDataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="HeaderAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Header" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Header">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="MOAAuthDataType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="MOAGivenName"/>
+ <xsd:enumeration value="MOAFamilyName"/>
+ <xsd:enumeration value="MOADateOfBirth"/>
+ <xsd:enumeration value="MOABPK"/>
+ <xsd:enumeration value="MOAWBPK"/>
+ <xsd:enumeration value="MOAPublicAuthority"/>
+ <xsd:enumeration value="MOABKZ"/>
+ <xsd:enumeration value="MOAQualifiedCertificate"/>
+ <xsd:enumeration value="MOAStammzahl"/>
+ <xsd:enumeration value="MOAIdentificationValueType"/>
+ <xsd:enumeration value="MOAIPAddress"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MOAKeyBoxSelector">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SecureSignatureKeypair"/>
+ <xsd:enumeration value="CertifiedKeypair"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
+ <xsd:element name="MOA-IDConfiguration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter der Authentisierungs-Komponente</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfigurationsparameter der Proxy-Komponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation zw. Proxykomponente und Authenttisierungskomponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der Proxy-Komponente zur Auth-Komponente (vgl. AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="OnlineApplication" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die OA</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="OnlineApplicationType">
+ <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
+ <xsd:attribute name="type" use="optional" default="publicService">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="businessService"/>
+ <xsd:enumeration value="publicService"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="calculateHPI" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ChainingModes" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="TrustAnchor">
+ <xsd:annotation>
+ <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="dsig:X509IssuerSerialType">
+ <xsd:attribute name="mode" type="ChainingModeType" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DirectoryCertStoreParameters.RootDir"/>
+ <xsd:enumeration value="AuthenticationSession.TimeOut"/>
+ <xsd:enumeration value="AuthenticationData.TimeOut"/>
+ <xsd:enumeration value="TrustManager.RevocationChecking"/>
+ <xsd:enumeration value="FrontendServlets.EnableHTTPConnection"/>
+ <xsd:enumeration value="FrontendServlets.DataURLPrefix"/>
+ <xsd:enumeration value="AuthenticationServer.KeepAssertion"/>
+ <xsd:enumeration value="AuthenticationServer.WriteAssertionToFile"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AuthComponentType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelection" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
+ </xsd:sequence>
+ <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="SecurityLayer">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation mit dem Security-Layer</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MOA-SP">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA SP Modul</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben werden; wird das Element nicht verwendet dann wird MOA-SP über das API aufgerufen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="VerifyIdentityLink">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung der Personenbindung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyAuthBlock">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung des AUTH-Blocks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="IdentityLinkSigners" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Informationen über akzeptierte Signers des IdentityLinks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>akzeptierte Signer des IdentityLinks werden per X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Defaultparameter für die Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks inkludiert</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="TemplatesType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelectionTemplate" type="TemplateType" minOccurs="0"/>
+ <xsd:element name="Template" type="TemplateType" minOccurs="0"/>
+ <xsd:element name="InputProcessorSignTemplate" type="TemplateType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TemplateType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut URL spezifiziert die Lage des Templates</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyInfoboxesType">
+ <xsd:annotation>
+ <xsd:documentation>Verifikation zusätzlicher Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="DefaultTrustProfile" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Infobox" type="InfoboxType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Parameter für Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxType">
+ <xsd:annotation>
+ <xsd:documentation>Parameter zur Überprüfung einzelner Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>optionalervName, der für Fehlermeldungen verwendet werden soll; z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird das Identifier-Attribut verwendet</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="TrustProfileID" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>TrustProfil, das für die Überprüfung der Infobox verwendet werden soll</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ValidatorClass" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Validatorklasse, die für die Prüfung der Infobox verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname vom Default Package- und Klassennamen abweichen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SchemaLocations" type="SchemaLocationType" minOccurs="0"/>
+ <xsd:element name="ApplicationSpecificParameters" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Infobox spezifische Parameter, die der jeweiligen Prüfapplikation übergeben werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ParepSpecificParameters" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Infobox spezifische Parameter, die der Prüfapplikation für berufliche Parteienvertretung übergeben werden. Dies ist logisch Teil der ApplicationSpecificParameters, kann jedoch aufgrund der Strukturierung validierend geparst werden und dadurch wird eine funktionierende Konfiguration bei Programmstart garantiert.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="CompatibilityMode" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Legt fest ob Machtgeber und Machtnehmer in den Anmeldedaten ausgetauscht werden sollen. Lediglich die übermittelte Vollmacht gibt dann Aufschluss darüber, dass eine Vertretung vorliegt. Ziel dieses Schalters ist, dass bisherige Applikationen mit Vollmachten und beruflicher Parteienvertretung nachgerüstet werden können, ohne der Erfordernis Änderungen durchführen zu müssen.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="EnableInfoboxValidator" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Falls Infoboxinhalte für die berufliche Parteienvertretung in der Vollmachten Infobox "mandates" abgelegt werden und Vertretung für berufliche Parteienvertreter aktiviert ist, so kann mit diesem Schalter die Vollmachtsprüfung für normale Vollmachten deaktiviert werden. Damit wird erreicht, dass mittels der Vollmachten Infobox ausschließlich berufliche Parteienvertretung aktiviert ist. Dieser Schalter ist nur für die Vollmachten Infobox "mandates" relevant.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PartyRepresentation" type="PartyRepresentationType">
+ <xsd:annotation>
+ <xsd:documentation>Eigentlicher Konfigurationsteil für berufliche Parteienvertretung</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ <xsd:attribute name="required" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="SchemaLocationType">
+ <xsd:annotation>
+ <xsd:documentation>Spezifiziert die Lage von XML Schemas</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="Schema" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ProxyComponentType"/>
+ <xsd:complexType name="OnlineApplicationType">
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Authentisierungs-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <!--xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="pr:AbstractSimpleIdentification"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element-->
+ <xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element ref="pr:Firmenbuchnummer"/>
+ <xsd:element ref="pr:ZMRzahl"/>
+ <xsd:element ref="pr:Vereinsnummer"/>
+ <xsd:element ref="pr:ERJPZahl"/>
+ <xsd:element name="AnyNumber">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="slVersion" use="optional" default="1.1">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.1"/>
+ <xsd:enumeration value="1.2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideCertificate" type="xsd:boolean" use="optional" default="false"/>
+ <!--xsd:element ref="pr:AbstractSimpleIdentification" minOccurs="0" maxOccurs="1"/-->
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <!--xsd:element ref="pr:CorporateBody" minOccurs="0" maxOccurs="1"/-->
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterClientAuthType">
+ <xsd:complexContent>
+ <xsd:extension base="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="ClientKeyStore" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für die TLS-Client-Authentisierung verwendet wird, enthält</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="password" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="TrustProfileID" type="xsd:string"/>
+ <xsd:simpleType name="ChainingModeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="chaining"/>
+ <xsd:enumeration value="pkix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="BKUSelectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="HTMLComplete"/>
+ <xsd:enumeration value="HTMLSelect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="CompatibilityMode" default="false">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="EnableInfoboxValidator" default="true">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="AlwaysShowForm" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:complexType name="InputProcessorType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="template" type="xsd:anyURI" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>Das Attribut spezifiziert die Lage des Templates, welches der InputProcessor zur Darstellung des Eingabeformulars nutzen soll</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="PartyRepresentationType">
+ <xsd:sequence>
+ <xsd:element name="InputProcessor" type="InputProcessorType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default InputProcessor. Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="AlwaysShowForm" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default Wert für Formularanzeige. Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular zur vervollständigung der Vertretenendaten immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default Verbindungsparameter zum SZR-Gateway (für den EGIZ-Demonstrator im internen Netzwerk: https://129.27.142.5:8443/szr-gateway/services/MandateCreation)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PartyRepresentative" type="PartyRepresentativeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Falls keine speziellen beruflichen ParteienvertreterInnen definiert sind (Element kommt nicht vor), werden ausschließlich standardisierte Vollmachten mit einer MandateID="*" akzeptiert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="PartyRepresentativeType">
+ <xsd:sequence>
+ <xsd:element name="InputProcessor" type="InputProcessorType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="AlwaysShowForm" minOccurs="0"/>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Optionale Verbindungsparameter zu speziellem (SZR-)Gateway</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="oid" use="required">
+ <xsd:annotation>
+ <xsd:documentation>OID der Parteienvertretung lt. "Object Identifier der öffentlichen Verwaltung" - Konvention, Empfehlung. Diese ID muss mit der MandateID der übermittelten standardisierten Vollmacht übereinstimmen. Eine Parteienvertretung für standardisierte Vollmachten mit der MandateID "*" muss nicht definiert werden und erlaubt eine allgemeine berufliche Parteienvertretung mit Standardtexten. In anderen Fällen ist eine erlaubte OID mitttels dieses Attributs zu definieren</xsd:documentation>
+ </xsd:annotation>
+ <!--xsd:simpleType>
+ <xsd:restriction/>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.2.40.0.10.3.1"/>
+ <xsd:enumeration value="1.2.40.0.10.3.2"/>
+ <xsd:enumeration value="1.2.40.0.10.3.3"/>
+ <xsd:enumeration value="1.2.40.0.10.3.10"/>
+ <xsd:enumeration value="1.2.40.0.10.3.10.IdentifiedVoiceChannel"/>
+ </xsd:restriction>
+ </xsd:simpleType-->
+ </xsd:attribute>
+ <xsd:attribute name="representPhysicalParty" use="optional" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Legt fest, ob berufliche Parteienvertretung für natürliche Personen erlaubt ist</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="representCorporateParty" use="optional" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Legt fest, ob berufliche Parteienvertretung für juristische Personen erlaubt ist (welche z.B. ein Organwalter nicht vertreten darf und dieser Wert aus diesem Grund dort false sein muss)</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="representationText" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>Beschreibender Text, der an Stelle des Standardtexts bei der Signatur der Anmeldedaten im Falle einer vorliegenden beruflichen Parteienvertretung zur Signatur vorgelegt wird</xsd:documentation>
+ </xsd:annotation>
+ <!--xsd:simpleType>
+ <xsd:restriction/>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Notariatseigenschaft"/>
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Rechtsanwaltseigenschaft"/>
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Ziviltechnikerinneneigenschaft)"/>
+ <xsd:enumeration value="Organwalter"/>
+ <xsd:enumeration value="Parteienvertreter(in) über einen identifizierten Sprachkanal"/>
+ </xsd:restriction>
+ </xsd:simpleType-->
+ </xsd:attribute>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/id/server/doc/MOA-ID-Configuration-1.4.3.xsd b/id/server/doc/MOA-ID-Configuration-1.4.3.xsd
new file mode 100644
index 000000000..570bebd37
--- /dev/null
+++ b/id/server/doc/MOA-ID-Configuration-1.4.3.xsd
@@ -0,0 +1,612 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.4.3">
+ <!-- es werden lokale Schemas referenziert für real aufgelöste Schemas bitte ersetzen: http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd -->
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en_moaWID.xsd"/>
+ <xsd:element name="Configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LoginType" type="LoginType" default="stateful"/>
+ <xsd:element name="Binding" minOccurs="0">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="userName"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element ref="ParamAuth"/>
+ <xsd:element ref="BasicAuth"/>
+ <xsd:element ref="HeaderAuth"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="LoginType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stateless"/>
+ <xsd:enumeration value="stateful"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="ParamAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Parameter" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Parameter">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="BasicAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="UserID" type="MOAAuthDataType"/>
+ <xsd:element name="Password" type="MOAAuthDataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="HeaderAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Header" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Header">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="MOAAuthDataType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="MOAGivenName"/>
+ <xsd:enumeration value="MOAFamilyName"/>
+ <xsd:enumeration value="MOADateOfBirth"/>
+ <xsd:enumeration value="MOABPK"/>
+ <xsd:enumeration value="MOAWBPK"/>
+ <xsd:enumeration value="MOAPublicAuthority"/>
+ <xsd:enumeration value="MOABKZ"/>
+ <xsd:enumeration value="MOAQualifiedCertificate"/>
+ <xsd:enumeration value="MOAStammzahl"/>
+ <xsd:enumeration value="MOAIdentificationValueType"/>
+ <xsd:enumeration value="MOAIPAddress"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MOAKeyBoxSelector">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SecureSignatureKeypair"/>
+ <xsd:enumeration value="CertifiedKeypair"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
+ <xsd:element name="MOA-IDConfiguration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter der Authentisierungs-Komponente</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfigurationsparameter der Proxy-Komponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation zw. Proxykomponente und Authenttisierungskomponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der Proxy-Komponente zur Auth-Komponente (vgl. AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="OnlineApplication" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die OA</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="OnlineApplicationType">
+ <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
+ <xsd:attribute name="type" use="optional" default="publicService">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="businessService"/>
+ <xsd:enumeration value="publicService"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="calculateHPI" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ChainingModes" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="TrustAnchor">
+ <xsd:annotation>
+ <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="dsig:X509IssuerSerialType">
+ <xsd:attribute name="mode" type="ChainingModeType" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DirectoryCertStoreParameters.RootDir"/>
+ <xsd:enumeration value="AuthenticationSession.TimeOut"/>
+ <xsd:enumeration value="AuthenticationData.TimeOut"/>
+ <xsd:enumeration value="TrustManager.RevocationChecking"/>
+ <xsd:enumeration value="FrontendServlets.EnableHTTPConnection"/>
+ <xsd:enumeration value="FrontendServlets.DataURLPrefix"/>
+ <xsd:enumeration value="AuthenticationServer.KeepAssertion"/>
+ <xsd:enumeration value="AuthenticationServer.WriteAssertionToFile"/>
+ <xsd:enumeration value="AuthenticationServer.SourceID"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AuthComponentType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelection" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
+ </xsd:sequence>
+ <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="SecurityLayer">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation mit dem Security-Layer</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MOA-SP">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA SP Modul</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben werden; wird das Element nicht verwendet dann wird MOA-SP über das API aufgerufen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="VerifyIdentityLink">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung der Personenbindung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyAuthBlock">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung des AUTH-Blocks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="IdentityLinkSigners" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Informationen über akzeptierte Signers des IdentityLinks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>akzeptierte Signer des IdentityLinks werden per X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Defaultparameter für die Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks inkludiert</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="TemplatesType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelectionTemplate" type="TemplateType" minOccurs="0"/>
+ <xsd:element name="Template" type="TemplateType" minOccurs="0"/>
+ <xsd:element name="InputProcessorSignTemplate" type="TemplateType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TemplateType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut URL spezifiziert die Lage des Templates</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyInfoboxesType">
+ <xsd:annotation>
+ <xsd:documentation>Verifikation zusätzlicher Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="DefaultTrustProfile" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Infobox" type="InfoboxType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Parameter für Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxType">
+ <xsd:annotation>
+ <xsd:documentation>Parameter zur Überprüfung einzelner Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>optionalervName, der für Fehlermeldungen verwendet werden soll; z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird das Identifier-Attribut verwendet</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="TrustProfileID" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>TrustProfil, das für die Überprüfung der Infobox verwendet werden soll</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ValidatorClass" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Validatorklasse, die für die Prüfung der Infobox verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname vom Default Package- und Klassennamen abweichen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SchemaLocations" type="SchemaLocationType" minOccurs="0"/>
+ <xsd:element name="ApplicationSpecificParameters" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Infobox spezifische Parameter, die der jeweiligen Prüfapplikation übergeben werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ParepSpecificParameters" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Infobox spezifische Parameter, die der Prüfapplikation für berufliche Parteienvertretung übergeben werden. Dies ist logisch Teil der ApplicationSpecificParameters, kann jedoch aufgrund der Strukturierung validierend geparst werden und dadurch wird eine funktionierende Konfiguration bei Programmstart garantiert.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="EnableInfoboxValidator" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Falls Infoboxinhalte für die berufliche Parteienvertretung in der Vollmachten Infobox "mandates" abgelegt werden und Vertretung für berufliche Parteienvertreter aktiviert ist, so kann mit diesem Schalter die Vollmachtsprüfung für normale Vollmachten deaktiviert werden. Damit wird erreicht, dass mittels der Vollmachten Infobox ausschließlich berufliche Parteienvertretung aktiviert ist. Dieser Schalter ist nur für die Vollmachten Infobox "mandates" relevant.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PartyRepresentation" type="PartyRepresentationType">
+ <xsd:annotation>
+ <xsd:documentation>Eigentlicher Konfigurationsteil für berufliche Parteienvertretung</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ <xsd:attribute name="required" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="SchemaLocationType">
+ <xsd:annotation>
+ <xsd:documentation>Spezifiziert die Lage von XML Schemas</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="Schema" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ProxyComponentType"/>
+ <xsd:complexType name="OnlineApplicationType">
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Authentisierungs-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <!--xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="pr:AbstractSimpleIdentification"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element-->
+ <xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element ref="pr:Firmenbuchnummer"/>
+ <xsd:element ref="pr:ZMRzahl"/>
+ <xsd:element ref="pr:Vereinsnummer"/>
+ <xsd:element ref="pr:ERJPZahl"/>
+ <xsd:element name="AnyNumber">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="slVersion" use="optional" default="1.1">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.1"/>
+ <xsd:enumeration value="1.2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideCertificate" type="xsd:boolean" use="optional" default="false"/>
+ <!--xsd:element ref="pr:AbstractSimpleIdentification" minOccurs="0" maxOccurs="1"/-->
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <!--xsd:element ref="pr:CorporateBody" minOccurs="0" maxOccurs="1"/-->
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterClientAuthType">
+ <xsd:complexContent>
+ <xsd:extension base="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="ClientKeyStore" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für die TLS-Client-Authentisierung verwendet wird, enthält</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="password" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="TrustProfileID" type="xsd:string"/>
+ <xsd:simpleType name="ChainingModeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="chaining"/>
+ <xsd:enumeration value="pkix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="BKUSelectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="HTMLComplete"/>
+ <xsd:enumeration value="HTMLSelect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="CompatibilityMode" default="false">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="EnableInfoboxValidator" default="true">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="AlwaysShowForm" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:complexType name="InputProcessorType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="template" type="xsd:anyURI" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>Das Attribut spezifiziert die Lage des Templates, welches der InputProcessor zur Darstellung des Eingabeformulars nutzen soll</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="PartyRepresentationType">
+ <xsd:sequence>
+ <xsd:element name="InputProcessor" type="InputProcessorType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default InputProcessor. Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="AlwaysShowForm" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default Wert für Formularanzeige. Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular zur vervollständigung der Vertretenendaten immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Default Verbindungsparameter zum SZR-Gateway (für den EGIZ-Demonstrator im internen Netzwerk: https://129.27.142.5:8443/szr-gateway/services/MandateCreation)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="PartyRepresentative" type="PartyRepresentativeType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Falls keine speziellen beruflichen ParteienvertreterInnen definiert sind (Element kommt nicht vor), werden ausschließlich standardisierte Vollmachten mit einer MandateID="*" akzeptiert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="PartyRepresentativeType">
+ <xsd:sequence>
+ <xsd:element name="InputProcessor" type="InputProcessorType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element ref="AlwaysShowForm" minOccurs="0"/>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Optionale Verbindungsparameter zu speziellem (SZR-)Gateway</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="oid" use="required">
+ <xsd:annotation>
+ <xsd:documentation>OID der Parteienvertretung lt. "Object Identifier der öffentlichen Verwaltung" - Konvention, Empfehlung. Diese ID muss mit der MandateID der übermittelten standardisierten Vollmacht übereinstimmen. Eine Parteienvertretung für standardisierte Vollmachten mit der MandateID "*" muss nicht definiert werden und erlaubt eine allgemeine berufliche Parteienvertretung mit Standardtexten. In anderen Fällen ist eine erlaubte OID mitttels dieses Attributs zu definieren</xsd:documentation>
+ </xsd:annotation>
+ <!--xsd:simpleType>
+ <xsd:restriction/>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.2.40.0.10.3.1"/>
+ <xsd:enumeration value="1.2.40.0.10.3.2"/>
+ <xsd:enumeration value="1.2.40.0.10.3.3"/>
+ <xsd:enumeration value="1.2.40.0.10.3.10"/>
+ <xsd:enumeration value="1.2.40.0.10.3.10.IdentifiedVoiceChannel"/>
+ </xsd:restriction>
+ </xsd:simpleType-->
+ </xsd:attribute>
+ <xsd:attribute name="representPhysicalParty" use="optional" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Legt fest, ob berufliche Parteienvertretung für natürliche Personen erlaubt ist</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="representCorporateParty" use="optional" default="false">
+ <xsd:annotation>
+ <xsd:documentation>Legt fest, ob berufliche Parteienvertretung für juristische Personen erlaubt ist (welche z.B. ein Organwalter nicht vertreten darf und dieser Wert aus diesem Grund dort false sein muss)</xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="representationText" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>Beschreibender Text, der an Stelle des Standardtexts bei der Signatur der Anmeldedaten im Falle einer vorliegenden beruflichen Parteienvertretung zur Signatur vorgelegt wird</xsd:documentation>
+ </xsd:annotation>
+ <!--xsd:simpleType>
+ <xsd:restriction/>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Notariatseigenschaft"/>
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Rechtsanwaltseigenschaft"/>
+ <xsd:enumeration value="berufsmäßige(r) Parteienvertreter(in) mit Ziviltechnikerinneneigenschaft)"/>
+ <xsd:enumeration value="Organwalter"/>
+ <xsd:enumeration value="Parteienvertreter(in) über einen identifizierten Sprachkanal"/>
+ </xsd:restriction>
+ </xsd:simpleType-->
+ </xsd:attribute>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/id/server/doc/MOA-ID-Configuration-1.4.xsd b/id/server/doc/MOA-ID-Configuration-1.4.xsd
new file mode 100644
index 000000000..66a9c0ed4
--- /dev/null
+++ b/id/server/doc/MOA-ID-Configuration-1.4.xsd
@@ -0,0 +1,505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Rudolf Schamberger (Stabsstelle IKT-Strategie) (Bundesrechenzentrum GmbH) -->
+<xsd:schema xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.1">
+ <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://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en_moaWID.xsd"/>
+ <xsd:element name="Configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="LoginType" type="LoginType" default="stateful"/>
+ <xsd:element name="Binding" minOccurs="0">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="full"/>
+ <xsd:enumeration value="userName"/>
+ <xsd:enumeration value="none"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element ref="ParamAuth"/>
+ <xsd:element ref="BasicAuth"/>
+ <xsd:element ref="HeaderAuth"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="LoginType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="stateless"/>
+ <xsd:enumeration value="stateful"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:element name="ParamAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Parameter" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Parameter">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="BasicAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="UserID" type="MOAAuthDataType"/>
+ <xsd:element name="Password" type="MOAAuthDataType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="HeaderAuth">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="Header" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Header">
+ <xsd:complexType>
+ <xsd:attribute name="Name" type="xsd:token" use="required"/>
+ <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:simpleType name="MOAAuthDataType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="MOAGivenName"/>
+ <xsd:enumeration value="MOAFamilyName"/>
+ <xsd:enumeration value="MOADateOfBirth"/>
+ <xsd:enumeration value="MOABPK"/>
+ <xsd:enumeration value="MOAWBPK"/>
+ <xsd:enumeration value="MOAPublicAuthority"/>
+ <xsd:enumeration value="MOABKZ"/>
+ <xsd:enumeration value="MOAQualifiedCertificate"/>
+ <xsd:enumeration value="MOAStammzahl"/>
+ <xsd:enumeration value="MOAIdentificationValueType"/>
+ <xsd:enumeration value="MOAIPAddress"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MOAKeyBoxSelector">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SecureSignatureKeypair"/>
+ <xsd:enumeration value="CertifiedKeypair"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
+ <xsd:element name="MOA-IDConfiguration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter der
+ Authentisierungs-Komponente</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfigurationsparameter der
+ Proxy-Komponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AuthComponent">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation zw.
+ Proxykomponente und Authenttisierungskomponente</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ Proxy-Komponente zur Auth-Komponente (vgl.
+ AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="OnlineApplication" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die OA</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="OnlineApplicationType">
+ <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
+ <xsd:attribute name="type" use="optional" default="publicService">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="businessService"/>
+ <xsd:enumeration value="publicService"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="calculateHPI" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ChainingModes" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die
+ Zertifikatspfadvalidierung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="TrustAnchor">
+ <xsd:annotation>
+ <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann
+ für jeden TrustAnchor gesetzt werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="dsig:X509IssuerSerialType">
+ <xsd:attribute name="mode" type="ChainingModeType" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA
+ (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="name" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DirectoryCertStoreParameters.RootDir"/>
+ <xsd:enumeration value="AuthenticationSession.TimeOut"/>
+ <xsd:enumeration value="AuthenticationData.TimeOut"/>
+ <xsd:enumeration value="TrustManager.RevocationChecking"/>
+ <xsd:enumeration value="FrontendServlets.EnableHTTPConnection"/>
+ <xsd:enumeration value="FrontendServlets.DataURLPrefix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="AuthComponentType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelection" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
+ </xsd:sequence>
+ <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="SecurityLayer">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Kommunikation mit dem
+ Security-Layer</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MOA-SP">
+ <xsd:annotation>
+ <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA
+ SP Modul</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der
+ AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server;
+ wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden;
+ wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben
+ werden; wird das Element nicht verwendet dann wird MOA-SP über das API
+ aufgerufen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="VerifyIdentityLink">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung der
+ Personenbindung</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyAuthBlock">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter für die Überprüfung des
+ AUTH-Blocks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="IdentityLinkSigners" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Informationen über akzeptierte Signers des
+ IdentityLinks</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>akzeptierte Signer des IdentityLinks werden per
+ X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Defaultparameter für die Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem
+ Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo
+ werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks
+ inkludiert</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="TemplatesType">
+ <xsd:sequence>
+ <xsd:element name="BKUSelectionTemplate" type="TemplateType" minOccurs="0"/>
+ <xsd:element name="Template" type="TemplateType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="TemplateType">
+ <xsd:annotation>
+ <xsd:documentation>das Attribut URL spezifiziert die Lage des Templates</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyInfoboxesType">
+ <xsd:annotation>
+ <xsd:documentation>Verifikation zusätzlicher Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="DefaultTrustProfile" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="TrustProfileID"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Infobox" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Parameter für Überprüfung weiterer Infoboxen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>optionalervName, der für Fehlermeldungen verwendet werden soll;
+ z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird
+ das Identifier-Attribut verwendet</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="TrustProfileID" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>TrustProfil, das für die Überprüfung der Infobox
+ verwendet werden soll</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ValidatorClass" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Validatorklasse, die für die Prüfung der Infobox
+ verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname
+ vom Default Package- und Klassennamen abweichen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SchemaLocations" type="SchemaLocationType" minOccurs="0"/>
+ <xsd:element name="ApplicationSpecificParameters" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Infobox spezifische Parameter, die der jeweiligen Prüfapplikation
+ übergeben werden</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ <xsd:attribute name="required" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SchemaLocationType">
+ <xsd:annotation>
+ <xsd:documentation>Spezifiziert die Lage von XML Schemas</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="Schema" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ProxyComponentType"/>
+ <xsd:complexType name="OnlineApplicationType">
+ <xsd:sequence>
+ <xsd:element name="AuthComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die
+ Authentisierungs-Komponente betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <!--xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="pr:AbstractSimpleIdentification"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element-->
+ <xsd:element name="IdentificationNumber" minOccurs="0">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element ref="pr:Firmenbuchnummer"/>
+ <xsd:element ref="pr:ZMRzahl"/>
+ <xsd:element ref="pr:Vereinsnummer"/>
+ <xsd:element ref="pr:ERJPZahl"/>
+ <xsd:element name="AnyNumber">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Templates" type="TemplatesType" minOccurs="0"/>
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="VerifyInfoboxes" type="VerifyInfoboxesType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="slVersion" use="optional" default="1.1">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="1.1"/>
+ <xsd:enumeration value="1.2"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="provideCertificate" type="xsd:boolean" use="optional" default="false"/>
+ <!--xsd:element ref="pr:AbstractSimpleIdentification" minOccurs="0" maxOccurs="1"/-->
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ProxyComponent" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
+ <xsd:annotation>
+ <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente
+ betreffen</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
+ <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
+ <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
+ <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <!--xsd:element ref="pr:CorporateBody" minOccurs="0" maxOccurs="1"/-->
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der
+ TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="ConnectionParameterClientAuthType">
+ <xsd:complexContent>
+ <xsd:extension base="ConnectionParameterServerAuthType">
+ <xsd:sequence>
+ <xsd:element name="ClientKeyStore" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für
+ die TLS-Client-Authentisierung verwendetwird, enthält</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:anyURI">
+ <xsd:attribute name="password" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:element name="TrustProfileID" type="xsd:string"/>
+ <xsd:simpleType name="ChainingModeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="chaining"/>
+ <xsd:enumeration value="pkix"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="BKUSelectionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="HTMLComplete"/>
+ <xsd:enumeration value="HTMLSelect"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/id/server/doc/MOA-Testzertifikate.pdf b/id/server/doc/MOA-Testzertifikate.pdf
new file mode 100644
index 000000000..a2c44f2a2
--- /dev/null
+++ b/id/server/doc/MOA-Testzertifikate.pdf
Binary files differ
diff --git a/id/server/doc/MOA-Testzertifikate.vsd b/id/server/doc/MOA-Testzertifikate.vsd
new file mode 100644
index 000000000..c36051c04
--- /dev/null
+++ b/id/server/doc/MOA-Testzertifikate.vsd
Binary files differ
diff --git a/id/server/doc/MOA_ID_1.2_20040315.pdf b/id/server/doc/MOA_ID_1.2_20040315.pdf
new file mode 100644
index 000000000..0c89c2730
--- /dev/null
+++ b/id/server/doc/MOA_ID_1.2_20040315.pdf
Binary files differ
diff --git a/id/server/doc/MOA_ID_1.3_20060315.pdf b/id/server/doc/MOA_ID_1.3_20060315.pdf
new file mode 100644
index 000000000..c9b0d160c
--- /dev/null
+++ b/id/server/doc/MOA_ID_1.3_20060315.pdf
Binary files differ
diff --git a/id/server/doc/MOA_ID_1.4_20070802.pdf b/id/server/doc/MOA_ID_1.4_20070802.pdf
new file mode 100644
index 000000000..a3a2f1177
--- /dev/null
+++ b/id/server/doc/MOA_ID_1.4_20070802.pdf
Binary files differ
diff --git a/id/server/doc/OID-1-0-3.pdf b/id/server/doc/OID-1-0-3.pdf
new file mode 100644
index 000000000..4beab3e41
--- /dev/null
+++ b/id/server/doc/OID-1-0-3.pdf
Binary files differ
diff --git a/id/server/doc/bku-auswahl.20030408.pdf b/id/server/doc/bku-auswahl.20030408.pdf
new file mode 100644
index 000000000..39efe315f
--- /dev/null
+++ b/id/server/doc/bku-auswahl.20030408.pdf
Binary files differ
diff --git a/id/server/doc/cs-sstc-schema-assertion-01.xsd b/id/server/doc/cs-sstc-schema-assertion-01.xsd
new file mode 100644
index 000000000..8bc5af147
--- /dev/null
+++ b/id/server/doc/cs-sstc-schema-assertion-01.xsd
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Phill Hallam-Baker (VeriSign Inc.) -->
+<schema targetNamespace="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: cs-sstc-schema-assertion-01
+ Location: http://www.oasis-open.org/committees/security/docs/
+ </documentation>
+ </annotation>
+ <simpleType name="IDType">
+ <restriction base="string"/>
+ </simpleType>
+ <simpleType name="IDReferenceType">
+ <restriction base="string"/>
+ </simpleType>
+ <simpleType name="DecisionType">
+ <restriction base="string">
+ <enumeration value="Permit"/>
+ <enumeration value="Deny"/>
+ <enumeration value="Indeterminate"/>
+ </restriction>
+ </simpleType>
+ <element name="AssertionIDReference" type="saml:IDReferenceType"/>
+ <element name="Assertion" type="saml:AssertionType"/>
+ <complexType name="AssertionType">
+ <sequence>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="saml:Advice" minOccurs="0"/>
+ <choice maxOccurs="unbounded">
+ <element ref="saml:Statement"/>
+ <element ref="saml:SubjectStatement"/>
+ <element ref="saml:AuthenticationStatement"/>
+ <element ref="saml:AuthorizationDecisionStatement"/>
+ <element ref="saml:AttributeStatement"/>
+ </choice>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="AssertionID" type="saml:IDType" use="required"/>
+ <attribute name="Issuer" type="string" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="Conditions" type="saml:ConditionsType"/>
+ <complexType name="ConditionsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AudienceRestrictionCondition"/>
+ <element ref="saml:Condition"/>
+ </choice>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </complexType>
+ <element name="Condition" type="saml:ConditionAbstractType"/>
+ <complexType name="ConditionAbstractType" abstract="true"/>
+ <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
+ <complexType name="AudienceRestrictionConditionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Audience" type="anyURI"/>
+ <element name="Advice" type="saml:AdviceType"/>
+ <complexType name="AdviceType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="Statement" type="saml:StatementAbstractType"/>
+ <complexType name="StatementAbstractType" abstract="true"/>
+ <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
+ <complexType name="SubjectStatementAbstractType" abstract="true">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Subject" type="saml:SubjectType"/>
+ <complexType name="SubjectType">
+ <choice>
+ <sequence>
+ <element ref="saml:NameIdentifier"/>
+ <element ref="saml:SubjectConfirmation" minOccurs="0"/>
+ </sequence>
+ <element ref="saml:SubjectConfirmation"/>
+ </choice>
+ </complexType>
+ <element name="NameIdentifier" type="saml:NameIdentifierType"/>
+ <complexType name="NameIdentifierType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="NameQualifier" type="string" use="optional"/>
+ <attribute name="Format" type="anyURI" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+ <complexType name="SubjectConfirmationType">
+ <sequence>
+ <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
+ <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="SubjectConfirmationData" type="anyType"/>
+ <element name="ConfirmationMethod" type="anyURI"/>
+ <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
+ <complexType name="AuthenticationStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:SubjectLocality" minOccurs="0"/>
+ <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
+ <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+ <complexType name="SubjectLocalityType">
+ <attribute name="IPAddress" type="string" use="optional"/>
+ <attribute name="DNSAddress" type="string" use="optional"/>
+ </complexType>
+ <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
+ <complexType name="AuthorityBindingType">
+ <attribute name="AuthorityKind" type="QName" use="required"/>
+ <attribute name="Location" type="anyURI" use="required"/>
+ <attribute name="Binding" type="anyURI" use="required"/>
+ </complexType>
+ <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
+ <complexType name="AuthorizationDecisionStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ <attribute name="Decision" type="saml:DecisionType" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Action" type="saml:ActionType"/>
+ <complexType name="ActionType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Namespace" type="anyURI"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="Evidence" type="saml:EvidenceType"/>
+ <complexType name="EvidenceType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ </choice>
+ </complexType>
+ <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+ <complexType name="AttributeStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Attribute" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
+ <complexType name="AttributeDesignatorType">
+ <attribute name="AttributeName" type="string" use="required"/>
+ <attribute name="AttributeNamespace" type="anyURI" use="required"/>
+ </complexType>
+ <element name="Attribute" type="saml:AttributeType"/>
+ <complexType name="AttributeType">
+ <complexContent>
+ <extension base="saml:AttributeDesignatorType">
+ <sequence>
+ <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeValue" type="anyType"/>
+</schema>
diff --git a/id/server/doc/cs-sstc-schema-protocol-01.xsd b/id/server/doc/cs-sstc-schema-protocol-01.xsd
new file mode 100644
index 000000000..ecad05b0f
--- /dev/null
+++ b/id/server/doc/cs-sstc-schema-protocol-01.xsd
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Phillip Hallam-Baker (Phillip Hallam-Baker) -->
+<schema targetNamespace="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
+ <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: cs-sstc-schema-protocol-01
+ Location: http://www.oasis-open.org/committees/security/docs/
+ </documentation>
+ </annotation>
+ <complexType name="RequestAbstractType" abstract="true">
+ <sequence>
+ <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="RequestID" type="saml:IDType" use="required"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="RespondWith" type="QName"/>
+ <element name="Request" type="samlp:RequestType"/>
+ <complexType name="RequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <choice>
+ <element ref="samlp:Query"/>
+ <element ref="samlp:SubjectQuery"/>
+ <element ref="samlp:AuthenticationQuery"/>
+ <element ref="samlp:AttributeQuery"/>
+ <element ref="samlp:AuthorizationDecisionQuery"/>
+ <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
+ <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AssertionArtifact" type="string"/>
+ <element name="Query" type="samlp:QueryAbstractType"/>
+ <complexType name="QueryAbstractType" abstract="true"/>
+ <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
+ <complexType name="SubjectQueryAbstractType" abstract="true">
+ <complexContent>
+ <extension base="samlp:QueryAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
+ <complexType name="AuthenticationQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <attribute name="AuthenticationMethod" type="anyURI"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
+ <complexType name="AttributeQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
+ <complexType name="AuthorizationDecisionQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ResponseAbstractType" abstract="true">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="ResponseID" type="saml:IDType" use="required"/>
+ <attribute name="InResponseTo" type="saml:IDReferenceType" use="optional"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ <attribute name="Recipient" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Response" type="samlp:ResponseType"/>
+ <complexType name="ResponseType">
+ <complexContent>
+ <extension base="samlp:ResponseAbstractType">
+ <sequence>
+ <element ref="samlp:Status"/>
+ <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Status" type="samlp:StatusType"/>
+ <complexType name="StatusType">
+ <sequence>
+ <element ref="samlp:StatusCode"/>
+ <element ref="samlp:StatusMessage" minOccurs="0" maxOccurs="1"/>
+ <element ref="samlp:StatusDetail" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="StatusCode" type="samlp:StatusCodeType"/>
+ <complexType name="StatusCodeType">
+ <sequence>
+ <element ref="samlp:StatusCode" minOccurs="0"/>
+ </sequence>
+ <attribute name="Value" type="QName" use="required"/>
+ </complexType>
+ <element name="StatusMessage" type="string"/>
+ <element name="StatusDetail" type="samlp:StatusDetailType"/>
+ <complexType name="StatusDetailType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/id/server/doc/moa-id.htm b/id/server/doc/moa-id.htm
new file mode 100644
index 000000000..82e5adc19
--- /dev/null
+++ b/id/server/doc/moa-id.htm
@@ -0,0 +1,7 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0; URL=moa_id/moa.htm"/>
+
+</head>
+<body></body>
+</html> \ No newline at end of file
diff --git a/id/server/doc/moa_id/examples/BKUSelectionTemplate.html b/id/server/doc/moa_id/examples/BKUSelectionTemplate.html
new file mode 100644
index 000000000..5536226a8
--- /dev/null
+++ b/id/server/doc/moa_id/examples/BKUSelectionTemplate.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>MOA ID - Auswahl der B&uuuml;rgerkartenumgebung</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="Author" content="Max Mustermann">
+ <meta name="keywords" content="MOA-ID">
+ <link rel="stylesheet" type="text/css" href="/moaid-templates/css/main.css">
+ <link rel="stylesheet" type="text/css" href="/moaid-templates/css/display.css" media="screen,projection,tv,handheld">
+</head>
+
+<body>
+<img src="/moaid-templates/SampleLogo.gif" alt='Organisation XY'>
+<h1 align="center">Auswahl der B&uuml;rgerkartenumgebung</h1>
+<p></p>
+<p>Sie haben sich f&uuml;r Anmeldung mit Ihrer B&uuml;rgerkarte entschieden. Da es verschiedene Formen der B&uuml;rgerkarte gibt, m&uuml;ssen Sie nun w&auml;hlen, welche Sie bei der Anmeldung verwenden wollen.</p>
+<h3>Auswahl der B&uuml;rgerkarte</h3>
+<form name="CustomizedForm" method="post" action="<StartAuth>">
+ <BKUSelect>
+ <input type="submit" value="Ausw&auml;hlen"/>
+</form>
+<br/>
+<p></p>
+
+ <input type="hidden" value="Weitere Info"/>
+</form>
+
+<h4>Hinweise: </h4>
+<ul>
+ <li>
+ <p>Wollen Sie eine A-Trust B&uuml;rgerkarte erwerben? Hier finden Sie Informationen
+ dazu: <a href="http://www.a-trust.at/info.asp?node=337" target="_blank">A-Trust
+ B&uuml;rgerkarte.</a> Bei der Anmeldung mit der A-Trust B&uuml;rgerkarte
+ ben&ouml;tigen Sie eine funktionsf&auml;hige B&uuml;rgerkartensoftware sowie
+ einen passenden Kartenleser.</p>
+ </li>
+ <li>
+ <p>Wollen Sie ein A1-Signatur erwerben? Wenden Sie sich an 0800-664 680 um
+ Informationen zur A1-Signatur zu erhalten.
+ Hier finden Sie ebenfalls Informationen dazu: <a href="http://www.a1.net/signatur" target="_blank">A1-Signatur</a>.
+ Bei der Anmeldung mit der A1-Signatur wird keine B&uuml;rgerkartensoftware und
+ kein Kartenleser ben&ouml;tigt.</p>
+ </li>
+</ul>
+<div align="right"><a href="http://validator.w3.org/check?uri=http://localhost:8080/moaid-templates/SampleBKUSElectionTemplate.html"><img border="0"
+ src="/moaid-templates/valid-html401.gif"
+ alt="Valid HTML 4.01!" height="31" width="88"></a> </div>
+<p align="right">&nbsp; </p>
+
+
+</body>
+</html>
diff --git a/id/server/doc/moa_id/examples/ChainingModes.txt b/id/server/doc/moa_id/examples/ChainingModes.txt
new file mode 100644
index 000000000..820b60d06
--- /dev/null
+++ b/id/server/doc/moa_id/examples/ChainingModes.txt
@@ -0,0 +1,6 @@
+ <ChainingModes systemDefaultMode="pkix">
+ <TrustAnchor mode="chaining">
+ <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>536</dsig:X509SerialNumber>
+ </TrustAnchor>
+ </ChainingModes>
diff --git a/id/server/doc/moa_id/examples/IdentityLinkSigners.txt b/id/server/doc/moa_id/examples/IdentityLinkSigners.txt
new file mode 100644
index 000000000..15269ad79
--- /dev/null
+++ b/id/server/doc/moa_id/examples/IdentityLinkSigners.txt
@@ -0,0 +1,9 @@
+ <!-- Gueltige Signatoren des IdentityLink, der von der Buergerkarte gelesen wird -->
+ <IdentityLinkSigners>
+ <!-- Personenbindung alt (Ausgabe vor 05.2004) -->
+ <X509SubjectName>CN=zmr,OU=BMI-IV-2,O=BMI,C=AT</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) mit Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitgieds der Datenschutzkommission</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) jedoch ohne Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitglieds der Datenschutzkommission</X509SubjectName>
+ </IdentityLinkSigners> \ No newline at end of file
diff --git a/id/server/doc/moa_id/examples/LoginServletExample.txt b/id/server/doc/moa_id/examples/LoginServletExample.txt
new file mode 100644
index 000000000..587ef5e97
--- /dev/null
+++ b/id/server/doc/moa_id/examples/LoginServletExample.txt
@@ -0,0 +1,171 @@
+import java.io.IOException;
+import java.util.Vector;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.rpc.Call;
+import javax.xml.rpc.Service;
+import javax.xml.rpc.ServiceFactory;
+
+import org.apache.axis.message.SOAPBodyElement;
+import org.apache.xml.serialize.LineSeparator;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.jaxen.JaxenException;
+import org.jaxen.SimpleNamespaceContext;
+import org.jaxen.dom.DOMXPath;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Beispiel für ein Login-Servlet, das von MOA-ID-AUTH über einen Redirect aufgerufen wird.
+ * Es werden demonstriert:
+ * - Parameterübergabe von MOA-ID-AUTH
+ * - Aufruf des MOA-ID-AUTH Web Service zum Abholen der Anmeldedaten über das Apache Axis Framework
+ * - Parsen der Anmeldedaten mittels der XPath Engine "Jaxen"
+ * - Speichern der Anmeldedaten in der HTTPSession
+ * - Redirect auf die eigentliche Startseite der OA
+ *
+ * @author Paul Ivancsics
+ */
+public class LoginServletExample extends HttpServlet {
+
+ // Web Service QName und Endpoint
+ private static final QName SERVICE_QNAME = new QName("GetAuthenticationData");
+ private static final String ENDPOINT =
+ "http://localhost:8080/moa-id-auth/services/GetAuthenticationData";
+ // NamespaceContext für Jaxen
+ private static SimpleNamespaceContext NS_CONTEXT;
+ static {
+ NS_CONTEXT = new SimpleNamespaceContext();
+ NS_CONTEXT.addNamespace("saml", "urn:oasis:names:tc:SAML:1.0:assertion");
+ NS_CONTEXT.addNamespace("samlp", "urn:oasis:names:tc:SAML:1.0:protocol");
+ NS_CONTEXT.addNamespace("pr", "http://reference.e-government.gv.at/namespace/persondata/20020228#");
+ }
+
+ /**
+ * Servlet wird von MOA-ID-AUTH nach erfolgter Authentisierung über ein Redirect aufgerufen.
+ */
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+
+ // Parameter "Target" und "SAMLArtifact" aus dem Redirect von MOA-ID-AUTH lesen
+ String target = req.getParameter("Target");
+ String samlArtifact = req.getParameter("SAMLArtifact");
+
+ try {
+ // DOMBuilder instanzieren
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ // <samlp:Request> zusammenstellen und in einen DOM-Baum umwandeln
+ String samlRequest =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?><samlp:Request IssueInstant=\"2003-01-01T00:00:00+02:00\" MajorVersion=\"1\" MinorVersion=\"0\" RequestID=\"12345678901234567890\" xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\"><samlp:AssertionArtifact>"
+ + samlArtifact
+ + "</samlp:AssertionArtifact></samlp:Request>";
+ Document root_request = builder.parse(new ByteArrayInputStream(samlRequest.getBytes()));
+
+ // Neues SOAPBodyElement anlegen und mit dem DOM-Baum füllen
+ SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement());
+ SOAPBodyElement[] params = new SOAPBodyElement[] { body };
+
+ // AXIS-Service für Aufruf von MOA-ID-AUTH instanzieren
+ Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME);
+
+ // Axis-Call erzeugen und mit Endpoint verknüpfen
+ Call call = service.createCall();
+ call.setTargetEndpointAddress(ENDPOINT);
+
+ // Call aufrufen und die Antwort speichern
+ System.out.println("Calling MOA-ID-AUTH ...");
+ Vector responses = (Vector) call.invoke(params);
+
+ // erstes BodyElement auslesen
+ SOAPBodyElement response = (SOAPBodyElement) responses.get(0);
+
+ // <samlp:Response> als DOM-Baum holen
+ Document responseDocument = response.getAsDocument();
+ Element samlResponse = responseDocument.getDocumentElement();
+
+ // <samlp:Response> auf System.out ausgeben
+ System.out.println("Response received:");
+ OutputFormat format = new OutputFormat((Document) responseDocument);
+ format.setLineSeparator(LineSeparator.Windows);
+ format.setIndenting(true);
+ format.setLineWidth(0);
+ XMLSerializer serializer = new XMLSerializer(System.out, format);
+ serializer.asDOMSerializer();
+ serializer.serialize(responseDocument);
+
+ // <samlp:StatusCode> auslesen
+ Attr statusCodeAttr = (Attr)getNode(samlResponse, "/samlp:Response/samlp:Status/samlp:StatusCode/@Value");
+ String samlStatusCode = statusCodeAttr.getValue();
+ System.out.println("StatusCode: " + samlStatusCode);
+
+ // <saml:Assertion> auslesen
+ if ("samlp:Success".equals(samlStatusCode)) {
+ Element samlAssertion = (Element)getNode(samlResponse, "/samlp:Response/saml:Assertion");
+
+ // FamilyName aus der <saml:Assertion> parsen
+ Node familyNameNode = getNode(samlAssertion, "//saml:AttributeStatement/saml:Attribute[@AttributeName=\"PersonData\"]/saml:AttributeValue/pr:Person/pr:Name/pr:FamilyName");
+ String familyName = getText(familyNameNode);
+ System.out.println("Family name: " + familyName);
+
+ // weitere Anmeldedaten aus der <saml:Assertion> parsen
+ // ...
+
+ // Anmeldedaten und Target in der HTTPSession speichern
+ HttpSession session = req.getSession();
+ session.setAttribute("UserFamilyName", familyName);
+ session.setAttribute("Geschaeftsbereich", target);
+
+ // weitere Anmeldedaten in der HTTPSession speichern
+ // ...
+
+ // Redirect auf die eigentliche Startseite
+ resp.sendRedirect("/index.jsp");
+ }
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ /** Returns the first node matching an XPath expression. */
+ private static Node getNode(Node contextNode, String xpathExpression) throws JaxenException {
+ DOMXPath xpath = new DOMXPath(xpathExpression);
+ xpath.setNamespaceContext(NS_CONTEXT);
+ return (Node) xpath.selectSingleNode(contextNode);
+ }
+ /** Returns the text that a node contains. */
+ public static String getText(Node node) {
+ if (!node.hasChildNodes()) {
+ return "";
+ }
+
+ StringBuffer result = new StringBuffer();
+ NodeList list = node.getChildNodes();
+ for (int i = 0; i < list.getLength(); i++) {
+ Node subnode = list.item(i);
+ if (subnode.getNodeType() == Node.TEXT_NODE) {
+ result.append(subnode.getNodeValue());
+ } else if (subnode.getNodeType() == Node.CDATA_SECTION_NODE) {
+ result.append(subnode.getNodeValue());
+ } else if (subnode.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
+ // Recurse into the subtree for text
+ // (and ignore comments)
+ result.append(getText(subnode));
+ }
+ }
+ return result.toString();
+ }
+}
diff --git a/id/server/doc/moa_id/examples/SampleMOAIDVerifyInfoboxesConfiguration.xml b/id/server/doc/moa_id/examples/SampleMOAIDVerifyInfoboxesConfiguration.xml
new file mode 100644
index 000000000..09e60c6f1
--- /dev/null
+++ b/id/server/doc/moa_id/examples/SampleMOAIDVerifyInfoboxesConfiguration.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Beispielkonfiguration fuer MOA-ID ohne Proxy mit Unterstuetzung fuer A-Trust und A1-Signatur -->
+<MOA-IDConfiguration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#">
+ <!-- Konfiguration fuer MOA-ID-AUTH -->
+ <AuthComponent>
+ <!-- URL und akzeptierte TLS-Server-Zertifikate des verwendeten BKU-Auswahl Service -->
+ <BKUSelection BKUSelectionAlternative="HTMLSelect">
+ <ConnectionParameter URL="http://auswahl.buergerkarte.at/htmlcode">
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ </ConnectionParameter>
+ </BKUSelection>
+ <!-->Globale Templates zum Anpassen der Seiten &quot;Auswahl der B&uuml;rgerkartenumgebung&quot; und
+ &quot;Anmeldung mit B&uuml;rgerkarte&quot;<-->
+ <!--Templates>
+ <BKUSelectionTemplate URL="sampleTemplates/SampleBKUSelectionTemplate.html"/>
+ <Template URL="sampleTemplates/SampleTemplate.html"/>
+ </Templates-->
+ <!-- Transformationen fuer die Anzeige des AUTH-Block im Secure Viewer -->
+ <SecurityLayer>
+ <!-- TransformInfo in Textform -->
+ <TransformsInfo filename="transforms/TransformsInfoAuthBlockText.xml"/>
+ <!--TransformsInfo filename="transforms/TransformsInfoAuthBlockTextAmir.xml"/-->
+ </SecurityLayer>
+ <MOA-SP>
+ <!-- URL und akzeptierte TLS-Server-Zertifikate des MOA-SP Web Service, falls MOA-SP ueber Web Service angesprochen wird.
+ Wenn MOA-SP direkt ueber API aufgerufen werden soll, so wird das Element auskommentiert -->
+ <!-- ConnectionParameter URL="http://moa.gv.at/moa-spss-test/services/SignatureVerification"/ -->
+ <!-- ConnectionParameter URL="http://localhost:8080/moa-spss/services/SignatureVerification"/ -->
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ <!-- <ClientKeyStore password="Keystore Pass">file_to_clientkeystore</ClientKeyStore> -->
+ <!-- </ConnectionParameter> -->
+
+ <!-- TrustProfile fuer den IdentityLink der Buergerkarte (muss in MOA-SP konfiguriert sein) -->
+ <VerifyIdentityLink>
+ <TrustProfileID>MOAIDBuergerkartePersonenbindung</TrustProfileID>
+ </VerifyIdentityLink>
+ <!-- TrustProfile fuer die Signatur des Benutzers mit der Buergerkarte (muss in MOA-SP konfiguriert sein) -->
+ <VerifyAuthBlock>
+ <TrustProfileID>MOAIDBuergerkarteAuthentisierungsDaten</TrustProfileID>
+ <!-- VerifyTransformsInfoProfile mit den Transformationen fuer die Anzeige der Anmeldedaten im Secure Viewer (muss in MOA-SP konfiguriert sein) -->
+ <VerifyTransformsInfoProfileID>MOAIDTransformAuthBlockText</VerifyTransformsInfoProfileID>
+ <!-->Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<-->
+ <!--VerifyTransformsInfoProfileID>MOAIDTransformAuthBlock</VerifyTransformsInfoProfileID-->
+ </VerifyAuthBlock>
+ </MOA-SP>
+
+ <!-- Gueltige Signatoren des IdentityLink, der von der Buergerkarte gelesen wird -->
+ <IdentityLinkSigners>
+ <!-- Personenbindung alt (Ausgabe vor 05.2004) -->
+ <X509SubjectName>CN=zmr,OU=BMI-IV-2,O=BMI,C=AT</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) mit Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitgieds der Datenschutzkommission</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) jedoch ohne Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitglieds der Datenschutzkommission</X509SubjectName>
+ </IdentityLinkSigners>
+ <VerifyInfoboxes>
+ <DefaultTrustProfile>
+ <TrustProfileID>GlobalVIDefaultTrust</TrustProfileID>
+ </DefaultTrustProfile>
+ <Infobox Identifier="InfoboxA" />
+ <Infobox Identifier="InfoboxB" required="true" provideStammzahl="true" provideIdentityLink="false">
+ <FriendlyName>Beispiel Infobox B</FriendlyName>
+ <TrustProfileID>GlobalInfoboxBTrust</TrustProfileID>
+ <SchemaLocations>
+ <Schema namespace="http://ns1.ns1" schemaLocation="schemas/ns1.xsd"/>
+ <Schema namespace="http://ns2.ns2" schemaLocation="schemas/ns2.xsd"/>
+ </SchemaLocations>
+ <ApplicationSpecificParameters>
+ <Parameter1>content1</Parameter1>
+ <Parameter2>content2</Parameter2>
+ <Parameter3>
+ <Parameter3a>content3a</Parameter3a>
+ <Parameter3b>content3b</Parameter3b>
+ </Parameter3>
+ </ApplicationSpecificParameters>
+ </Infobox>
+ </VerifyInfoboxes>
+ </AuthComponent>
+
+ <!-- Eintragung fuer jede Online-Applikation -->
+ <!-- publicURLPrefix referenziert hier keine richtige Online Applikation; muss angepasst werden -->
+ <!-- erste Online-Applikation -->
+ <OnlineApplication publicURLPrefix="https://OA1/">
+ <!-- fuer MOA-ID-AUTH -->
+ <AuthComponent slVersion="1.2">
+ <VerifyInfoboxes>
+ <DefaultTrustProfile>
+ <TrustProfileID>LocalOA1DefaultTrust</TrustProfileID>
+ </DefaultTrustProfile>
+ <!-- InfoboxB -->
+ <Infobox Identifier="InfoboxB" required="true">
+ <FriendlyName>Demo Infobox B</FriendlyName>
+ <ValidatorClass>oa1.validate.InfoboxBValidator</ValidatorClass>
+ <SchemaLocations>
+ <Schema namespace="http://ns1.ns1" schemaLocation="schemas/local/ns1oa1.xsd"/>
+ <Schema namespace="http://ns2.ns2" schemaLocation="schemas/local/ns2oa1.xsd"/>
+ </SchemaLocations>
+ </Infobox>
+ <!-- InfoboxC -->
+ <Infobox Identifier="InfoboxC">
+ <FriendlyName>Demo Infobox C</FriendlyName>
+ <TrustProfileID>LocalInfoboxOA1CTrust</TrustProfileID>
+ </Infobox>
+ <!-- InfoboxD -->
+ <Infobox Identifier="InfoboxD" />
+ </VerifyInfoboxes>
+ </AuthComponent>
+ </OnlineApplication>
+ <!-- zweite Online-Applikation -->
+ <OnlineApplication publicURLPrefix="https://OA2/">
+ <!-- fuer MOA-ID-AUTH -->
+ <AuthComponent>
+ <VerifyInfoboxes>
+ <!-- InfoboxA -->
+ <Infobox Identifier="InfoboxA">
+ <TrustProfileID>LocalInfoboxOA2ATrust</TrustProfileID>
+ </Infobox>
+ <!-- InfoboxB -->
+ <Infobox Identifier="InfoboxB" />
+ </VerifyInfoboxes>
+ </AuthComponent>
+ </OnlineApplication>
+ <!-- dritte Online-Applikation -->
+ <OnlineApplication publicURLPrefix="https://OA3/">
+ <AuthComponent provideStammzahl="true" />
+ </OnlineApplication>
+
+ <!-- ChainingModes fuer die Zertifikatspfadueberpruefung der TLS-Zertifikate -->
+ <ChainingModes systemDefaultMode="pkix">
+ </ChainingModes>
+
+ <!-- fuer MOA-ID-AUTH: CA-Zertifikat des Servers MOA-SP, falls dieses Service ueber HTTPS angesprochen wird
+ zusaeztlich: CA-Zertifikat aller Online-Applikationen, die ueber HTTPS angesprochen werden -->
+ <TrustedCACertificates>certs/ca-certs</TrustedCACertificates>
+
+ <!-- Cache-Verzeichnis fuer-Zertifikate -->
+ <!-- Hinweis: wenn TC in linux oder unix betrieben wird vollstaendigen pfad fuer DirectoryCertStoreParameters.RootDir verwenden -->
+ <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="certs/certstore"/>
+ <!-- Time-Out fuer die Anmeldung von Beginn bis zum Anlegen der Anmeldedaten, in Sekunden -->
+ <GenericConfiguration name="AuthenticationSession.TimeOut" value="600"/>
+ <!-- Time-Out fuer die Anmeldung vom Anlegen bis zum Abholen der Anmeldedaten, in Sekunden -->
+ <GenericConfiguration name="AuthenticationData.TimeOut" value="120"/>
+
+ <!-- Alternatives Data URL prefix (falls Webserver vorgeschaltet wird) -->
+ <!--GenericConfiguration name="FrontendServlets.DataURLPrefix" value="https://<your_webserver>/moa-id-auth/"/ -->
+ <!-- HTTP Verbindung auf Frontend Servlets zulassen / verbieten (falls Webserver vorgeschaltet wird) -->
+ <!-- GenericConfiguration name="FrontendServlets.EnableHTTPConnection" value="true"/ -->
+</MOA-IDConfiguration>
diff --git a/id/server/doc/moa_id/examples/Template.html b/id/server/doc/moa_id/examples/Template.html
new file mode 100644
index 000000000..5074f5beb
--- /dev/null
+++ b/id/server/doc/moa_id/examples/Template.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>MOA ID - Identifizierter Zugang mit B&uuml;rgerkarte</title>
+</head>
+
+<body>
+<img src="/moaid-templates/SampleLogo.gif" alt='Organisation XY'>
+<h1 align="center">Sicherer Zugang zur Online-Anwendung mit B&uuml;rgerkarte</h1>
+<p></p>
+
+Der identifizierte Zugang erfolgt &uuml;ber die Module f&uuml;r Online Applikationen (MOA) unter Verwendung einer B&uuml;rgerkarte und deren Signaturfunktion.
+
+<p></p>
+<p>Wenn Sie in Folge die Schaltfl&auml;che "Anmeldung mit B&uuml;rgerkarte"
+aktivieren, so werden zur Signatur der Anmeldedaten aufgefordert. Wenn sie diese
+signieren, so werden sie zur Online-Anwendung weitergeleitet und angemeldet.</p>
+
+
+<form name="CustomizedForm" action="<BKU>" method="post">
+<div align="center">
+<input type="hidden"
+name="XMLRequest"
+value="<XMLRequest>"/>
+<input type="hidden"
+name="DataURL"
+value="<DataURL>"/>
+<input type="hidden"
+name="PushInfobox"
+value="<PushInfobox>"/>
+
+<input type="submit" value="Anmeldung mit B&uuml;rgerkarte" name="submit"/>
+</div>
+</form>
+<form name="CustomizedInfoForm"
+action="<BKU>"
+method="post">
+<input type="hidden"
+name="XMLRequest"
+value="<CertInfoXMLRequest>"/>
+<input type="hidden"
+name="DataURL"
+value="<CertInfoDataURL>"/>
+
+
+<input type="hidden" value="Weitere Info"/>
+</form>
+
+</body>
+</html>
diff --git a/id/server/doc/moa_id/examples/TransformsInfoAuthBlock.txt b/id/server/doc/moa_id/examples/TransformsInfoAuthBlock.txt
new file mode 100644
index 000000000..edbde0073
--- /dev/null
+++ b/id/server/doc/moa_id/examples/TransformsInfoAuthBlock.txt
@@ -0,0 +1,35 @@
+<sl10:TransformsInfo>
+ <dsig:Transforms>
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html>
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ </head>
+ <body>
+<h1>Signatur der Anmeldedaten</h1>
+<p></p>
+<h4>Mit meiner elektronischen Signatur beantrage ich, <b><xsl:value-of select="//@Issuer"/></b>,
+geboren am
+<xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"/>.<xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"/>.<xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,3,2)"/>, den Zugang zur gesicherten Anwendung.</h4>
+<p></p>
+<h4>Datum und Uhrzeit: <xsl:value-of select="substring(//@IssueInstant,9,2)"/>.<xsl:value-of select="substring(//@IssueInstant,6,2)"/>.<xsl:value-of select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of select="substring(//@IssueInstant,12,2)"/>:<xsl:value-of select="substring(//@IssueInstant,15,2)"/>:<xsl:value-of select="substring(//@IssueInstant,18,2)"/></h4>
+<xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h4>wbPK(*): <xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"/></h4>
+ <p></p>
+ <hr></hr>
+ <font size="2">(*) wbPK: Das <i>Wirtschaftsbereichsspezifische Personenkennzeichen</i> wird aus den jeweiligen Stammzahlen des Buergers und des Wirtschaftsunternehmens berechnet und ermoeglicht eine eindeutige Zuordnung des Buergers zum Wirtschaftsunternehmen.</font>
+</xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <sl10:FinalDataMetaInfo>
+ <sl10:MimeType>text/html</sl10:MimeType>
+ </sl10:FinalDataMetaInfo>
+</sl10:TransformsInfo>
diff --git a/id/server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml b/id/server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml
new file mode 100644
index 000000000..d0ea9cf6c
--- /dev/null
+++ b/id/server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Beispielkonfiguration fuer MOA-ID mit Unterstuetzung fuer A-Trust und A1-Signatur
+ Rudolf Schamberger, Stabsstelle IKT-Strategie des Bundes, Bundeskanzleramt -->
+<MOA-IDConfiguration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#">
+ <!-- Konfiguration fuer MOA-ID-AUTH -->
+ <AuthComponent>
+ <!-- URL und akzeptierte TLS-Server-Zertifikate des verwendeten BKU-Auswahl Service -->
+ <BKUSelection BKUSelectionAlternative="HTMLSelect">
+ <ConnectionParameter URL="http://auswahl.buergerkarte.at/htmlcode">
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ </ConnectionParameter>
+ </BKUSelection>
+ <!-- Transformationen fuer die Anzeige des AUTH-Block im Secure Viewer -->
+ <SecurityLayer>
+ <!-- TransformInfo in Textform -->
+ <TransformsInfo filename="transforms/TransformsInfoAuthBlockText.xml"/>
+ </SecurityLayer>
+ <MOA-SP>
+ <!-- URL und akzeptierte TLS-Server-Zertifikate des MOA-SP Web Service, falls MOA-SP ueber Web Service angesprochen wird.
+ Wenn MOA-SP direkt ueber API aufgerufen werden soll, so wird das Element auskommentiert -->
+ <!-- <ConnectionParameter URL="http://localhost:8080/moa-spss/services/SignatureVerification"> -->
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ <!-- <ClientKeyStore password="Keystore Pass">file_to_clientkeystore</ClientKeyStore> -->
+ <!-- </ConnectionParameter> -->
+
+ <!-- TrustProfile fuer den IdentityLink der Buergerkarte (muss in MOA-SP konfiguriert sein) -->
+ <VerifyIdentityLink>
+ <TrustProfileID>MOAIDBuergerkartePersonenbindung</TrustProfileID>
+ </VerifyIdentityLink>
+ <!-- TrustProfile fuer die Signatur des Benutzers mit der Buergerkarte (muss in MOA-SP konfiguriert sein) -->
+ <VerifyAuthBlock>
+ <TrustProfileID>MOAIDBuergerkarteAuthentisierungsDaten</TrustProfileID>
+ <!-- VerifyTransformsInfoProfile mit den Transformationen fuer die Anzeige der Anmeldedaten im Secure Viewer (muss in MOA-SP konfiguriert sein) -->
+ <VerifyTransformsInfoProfileID>MOAIDTransformAuthBlockText</VerifyTransformsInfoProfileID>
+ </VerifyAuthBlock>
+ </MOA-SP>
+
+ <!-- Gueltige Signatoren des IdentityLink, der von der Buergerkarte gelesen wird -->
+ <IdentityLinkSigners>
+ <!-- Personenbindung alt (Ausgabe vor 05.2004) -->
+ <X509SubjectName>CN=zmr,OU=BMI-IV-2,O=BMI,C=AT</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) mit Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitgieds der Datenschutzkommission</X509SubjectName>
+ <!-- Personenbindung neu (ab 05.2004, mit Stammzahl) jedoch ohne Typo -->
+ <X509SubjectName>T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitglieds der Datenschutzkommission</X509SubjectName>
+ </IdentityLinkSigners>
+ </AuthComponent>
+
+ <!-- Konfiguration fuer MOA-ID-PROXY -->
+ <ProxyComponent>
+ <!-- URL und akzeptierte TLS-Server-Zertifikate des MOA-ID-AUTH Web Service -->
+ <AuthComponent>
+ <ConnectionParameter URL="http://localhost:8080/moa-id-auth/services/GetAuthenticationData">
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ <!-- <ClientKeyStore password="Keystore Pass">file_to_clientkeystore</ClientKeyStore> -->
+ </ConnectionParameter>
+ </AuthComponent>
+ </ProxyComponent>
+
+ <!-- Eintragung fuer jede Online-Applikation -->
+ <!-- Demo Online-Applikation: Zugriff auf www.digitales.oesterreich.gv.at ueber MOA-ID-PROXY -->
+ <OnlineApplication publicURLPrefix="https://localhost:8443/">
+ <!-- fuer MOA-ID-AUTH -->
+ <AuthComponent>
+ <!-- Spezifikation der Stammzahl des Wirtschaftsunternehmens bei type = "businessService" -->
+ <!-- <IdentificationNumber> -->
+ <!-- Beispiel Firmenbuchnummer -->
+ <!-- <pr:Firmenbuchnummer xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">468924i</pr:Firmenbuchnummer> -->
+ <!-- </IdentificationNumber> -->
+ </AuthComponent>
+ <!-- fuer MOA-ID-PROXY -->
+ <ProxyComponent configFileURL="oa/SampleOAConfiguration.xml" sessionTimeOut="600">
+ <!-- <ProxyComponent configFileURL="oa/SampleOAConfiguration.xml" sessionTimeOut="600" loginParameterResolverImpl="at.gv.egovernment.moa.id.proxy.DefaultLoginParameterResolver" loginParameterResolverConfiguration="" connectionBuilderImpl="at.gv.egovernment.moa.id.proxy.DefaultConnectionBuilder"> -->
+ <!-- URL und akzeptierte TLS-Server-Zertifikate der Online-Applikation -->
+ <ConnectionParameter URL="http://www.digitales.oesterreich.gv.at/">
+ <!-- <AcceptedServerCertificates>certs/server-certs</AcceptedServerCertificates> -->
+ <!-- <ClientKeyStore password="Keystore Pass">file_to_clientkeystore</ClientKeyStore> -->
+ </ConnectionParameter>
+ </ProxyComponent>
+ </OnlineApplication>
+
+ <!-- ChainingModes fuer die Zertifikatspfadueberpruefung der TLS-Zertifikate -->
+ <ChainingModes systemDefaultMode="pkix">
+ </ChainingModes>
+
+ <!-- fuer MOA-ID-AUTH: CA-Zertifikat des Servers MOA-SP, falls dieses Service ueber HTTPS angesprochen wird
+ fuer MOA-ID-PROXY: CA-Zertifikat des Servers MOA-ID-AUTH, falls dieses Service ueber HTTPS angesprochen wird
+ zusaeztlich: CA-Zertifikat aller Online-Applikationen, die ueber HTTPS angesprochen werden -->
+ <TrustedCACertificates>certs/ca-certs</TrustedCACertificates>
+
+ <!-- Cache-Verzeichnis fuer-Zertifikate -->
+ <!-- Hinweis: wenn TC in linux oder unix betrieben wird vollstaendigen pfad fuer DirectoryCertStoreParameters.RootDir verwenden -->
+ <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="certs/certstore"/>
+ <!-- Time-Out fuer die Anmeldung von Beginn bis zum Anlegen der Anmeldedaten, in Sekunden -->
+ <GenericConfiguration name="AuthenticationSession.TimeOut" value="600"/>
+ <!-- Time-Out fuer die Anmeldung vom Anlegen bis zum Abholen der Anmeldedaten, in Sekunden -->
+ <GenericConfiguration name="AuthenticationData.TimeOut" value="120"/>
+
+ <!-- Alternatives Data URL prefix (falls Webserver vorgeschaltet wird) -->
+ <!--GenericConfiguration name="FrontendServlets.DataURLPrefix" value="https://<your_webserver>/moa-id-auth/"/ -->
+ <!-- HTTP Verbindung auf Frontend Servlets zulassen / verbieten (falls Webserver vorgeschaltet wird) -->
+ <!-- GenericConfiguration name="FrontendServlets.EnableHTTPConnection" value="true"/ -->
+</MOA-IDConfiguration>
diff --git a/id/server/doc/moa_id/examples/conf/OAConfBasicAuth.xml b/id/server/doc/moa_id/examples/conf/OAConfBasicAuth.xml
new file mode 100644
index 000000000..fc99cea79
--- /dev/null
+++ b/id/server/doc/moa_id/examples/conf/OAConfBasicAuth.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Demokonfiguration fuer eine Online Applikation (OA) welche 401 Basic Authentication zur Uebergabe der Parameter verwendet -->
+<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <LoginType>stateless</LoginType>
+ <BasicAuth>
+ <UserID>MOAFamilyName</UserID>
+ <Password>MOAGivenName</Password>
+ </BasicAuth>
+</Configuration>
diff --git a/id/server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml b/id/server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml
new file mode 100644
index 000000000..4d34c3646
--- /dev/null
+++ b/id/server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Demokonfiguration fuer eine Online Applikation (OA) welche Header Authentication zur Uebergabe der Parameter verwendet -->
+<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <LoginType>stateless</LoginType>
+ <HeaderAuth>
+ <!-- zusaetzlicher Header GivenName -->
+ <Header Name="X-MOAParameterGivenName" Value="MOAGivenName"></Header>
+ <Header Name="X-MOAParameterFamilyName" Value="MOAFamilyName"></Header>
+ </HeaderAuth>
+</Configuration>
diff --git a/id/server/doc/moa_id/examples/conf/OAConfParamAuth.xml b/id/server/doc/moa_id/examples/conf/OAConfParamAuth.xml
new file mode 100644
index 000000000..979faca95
--- /dev/null
+++ b/id/server/doc/moa_id/examples/conf/OAConfParamAuth.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Demokonfiguration fuer eine Online Applikation (OA) welche Parameter Authentication verwendet -->
+<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <LoginType>stateless</LoginType>
+ <ParamAuth>
+ <!-- URL Parameter GivenName und FamilyName -->
+ <Parameter Name="GivenName" Value="MOAGivenName"></Parameter>
+ <Parameter Name="FamilyName" Value="MOAFamilyName"></Parameter>
+ </ParamAuth>
+</Configuration>
diff --git a/id/server/doc/moa_id/examples/moa-id-env.sh.txt b/id/server/doc/moa_id/examples/moa-id-env.sh.txt
new file mode 100644
index 000000000..1ccca10c1
--- /dev/null
+++ b/id/server/doc/moa_id/examples/moa-id-env.sh.txt
@@ -0,0 +1,15 @@
+rem insert Tomcat 4.1.x home directory (no trailing path separator)
+set CATALINA_HOME=<Tomcat 4.1.x home directory>
+
+CONFIG_OPT_SPSS=-Dmoa.spss.server.configuration=$CATALINA_HOME/conf/moa-spss/SampleMOASPSSConfiguration.xml
+CONFIG_OPT_ID=-Dmoa.id.configuration=$CATALINA_HOME/conf/moa-id/SampleMOAIDConfiguration.xml
+
+
+LOGGING_OPT=-Dlog4j.configuration=file:$CATALINA_HOME/conf/moa-id/log4j.properties
+# TRUST_STORE_OPT=-Djavax.net.ssl.trustStore=truststore.jks
+# TRUST_STORE_PASS_OPT=-Djavax.net.ssl.trustStorePassword=changeit
+# TRUST_STORE_TYPE_OPT=-Djavax.net.ssl.trustStoreType=jks
+
+export CATALINA_OPTS="$CONFIG_OPT_SPSS $CONFIG_OPT_ID $LOGGING_OPT $TRUST_STORE_OPT $TRUST_STORE_PASS_OPT $TRUST_STORE_TYPE_OPT"
+echo CATALINA_OPTS=$CATALINA_OPTS
+
diff --git a/id/server/doc/moa_id/examples/startTomcat.bat.txt b/id/server/doc/moa_id/examples/startTomcat.bat.txt
new file mode 100644
index 000000000..29588120c
--- /dev/null
+++ b/id/server/doc/moa_id/examples/startTomcat.bat.txt
@@ -0,0 +1,26 @@
+rem ----------------------------------------------------------------------------------------------
+rem Modify these entries according to your needs
+
+rem JDK home directory (no trailing path separator)
+set JAVA_HOME=<jdk home directory>
+
+rem Tomcat 4.1.x home directory (no trailing path separator)
+set CATALINA_HOME=<Tomcat 4.1.x home directory>
+
+rem ----------------------------------------------------------------------------------------------
+
+set CONFIG_OPT_SPSS=-Dmoa.spss.server.configuration=%CATALINA_HOME%/conf/moa-spss/SampleMOASPSSConfiguration.xml
+set CONFIG_OPT_ID=-Dmoa.id.configuration=%CATALINA_HOME%/conf/moa-id/SampleMOAIDConfiguration.xml
+set LOGGING_OPT=-Dlog4j.configuration=file:%CATALINA_HOME%/conf/moa-id/log4j.properties
+
+set PARAMS_MOA=%CONFIG_OPT_SPSS% %CONFIG_OPT_ID% %LOGGING_OPT%
+
+rem set PARAM_TRUST_STORE=-Djavax.net.ssl.trustStore=truststore.jks
+rem set PARAM_TRUST_STORE_PASS=-Djavax.net.ssl.trustStorePassword=changeit
+rem set PARAM_TRUST_STORE_TYPE=-Djavax.net.ssl.trustStoreType=jks
+rem set PARAMS_SSL=%PARAM_TRUST_STORE% %PARAM_TRUST_STORE_PASS% %PARAM_TRUST_STORE_TYPE%
+
+set CATALINA_OPTS=%PARAMS_MOA% %PARAMS_SSL%
+
+cd %CATALINA_HOME%
+bin\catalina.bat start \ No newline at end of file
diff --git a/id/server/doc/moa_id/faqs.htm b/id/server/doc/moa_id/faqs.htm
new file mode 100644
index 000000000..0b9ef0415
--- /dev/null
+++ b/id/server/doc/moa_id/faqs.htm
@@ -0,0 +1,217 @@
+<html>
+<head>
+ <title>FAQs - H&auml;ufig gestellte Fragen </title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#c0c0c0; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:6px }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+ <table width="650" border="0" cellpadding="10" cellspacing="0">
+ <tr>
+ <td width="170" valign="top">
+ <div style="font-weight:bold; margin-top:12px">FAQs</div>
+ <br />
+ <div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+ <br />
+ <!-- div id="slogan">
+MOA ist eine Entwicklung des Bundesrechenzentrums BRZ in Zusammenarbeit mit A-Trust und dem Institut f&uuml;r angewandte Informations- und Kom-munikationstechnik (IAIK) der Universit&auml;t Graz
+</div -->
+ </td>
+ <td valign="top">
+ <div id="titel">FAQs - H&auml;ufig gestellte Fragen </div>
+ <p id="block"><b><a href="#frage1">Frage</a><a href="#frage4">&nbsp;</a><a href="#frage1">1</a></b>
+ Mit dem Internet Explorer kommt es bei einer Anmeldung an der lokal
+ installierten Version von MOA-ID zu Fehlern beim Redirect. Warum?</p>
+ <p id="block"> <b><a href="#frage2">Frage</a><a href="#frage4">&nbsp;</a><a href="#frage2">2</a></b>
+ Wenn die Proxy-Komponente lokal l&auml;uft und per TLS/SSL aufgerufen
+ wird, kommt es zu einer Fehlermeldung. Wie kann dies verhindert werden?</p>
+ <p id="block"><b><a href="#frage3">Frage</a><a href="#frage4">&nbsp;</a><a href="#frage3">3</a></b>
+ Es soll serverseitig lediglich starke TLS/SSL Verschl&uuml;sselung (&gt;100
+ Bit) unterst&uuml;tzt werden. Wie kann dies erzwungen werden?</p>
+ <p id="block"><b><a href="#frage4">Frage&nbsp;4 </a></b>Beim Starten von
+ MOA ID bzw. MOA SPSS tritt folgende Exception auf: <tt>java.lang.ClassCastException:
+ iaik.asn1.structures.Name</tt>. Was kann der Fehler sein?<b><a href="#frage3"></a></b></p>
+ <p id="block"><b><a href="#frage5">Frage&nbsp;5</a></b> Ich m&ouml;chte
+ MOA in einer Umgebung betreiben, die einen Internet-Zugang nur &uuml;ber
+ einen Proxy erlaubt. Funktioniert das?</p>
+ <p id="block"><b><a href="#frage6">Frage&nbsp;6</a></b> Tomcat: W&auml;rend
+ des Betriebs kommt es zu org.apache.commons.logging.LogConfigurationException.
+ Wie kann dies verhindert werden?</p>
+ <hr>
+ <p id="subtitel"></p>
+ <p id="subtitel"><a name="frage1"></a>Frage 1</p>
+ <p id="block"><b>Q: </b>Mit dem Internet Explorer kommt es bei einer Anmeldung
+ an der lokal installierten Version von MOA-ID zu Fehlern beim Redirect.
+ Warum?</p>
+ <p id="block"><b>A:</b> Aufgrund eines Fehlers in Microsofts Internet
+ Explorer schl&auml;gt der (lokale) Redirect auf dem lokal installierten
+ Tomcat fehl.</p>
+ <p id="block"> Als Workaround empfiehlt es sich, zum lokalen Testen einen
+ alternativen Browser wie <a href="http://www.opera.com/">Opera</a>,
+ <a href="http://www.mozilla.org/">Mozilla</a> oder <a href="http://www.netscape.org/">Netscape</a>
+ zu verwenden, da diese Probleme dort nicht auftreten. Von einem anderen
+ Rechner aus kann jedoch die Anmeldung an MOA-ID auch mit dem Internet
+ Explorer erfolgen. </p>
+ <hr />
+ <p id="subtitel"><a name="frage2"></a>Frage 2</p>
+ <p id="block"> <b>Q: </b>Wenn die Proxy-Komponente lokal l&auml;uft und
+ per TLS/SSL aufgerufen wird, kommt es zu einer Fehlermeldung. Wie kann
+ dies verhindert werden?</p>
+ <p id="block"> <b>A:</b> Wenn in der Konfiguration statt 'localhost' der
+ eigene Rechnername verwendet wird, funktioniert die Proxy-Komponente
+ wie gewohnt.<br>
+ <br />
+ Zum Herausfinden des Rechnernamens wechselt man unter Windows auf die
+ Kommandozeile und kann mittels 'ipconfig /all' den Rechnernamen herausfinden.
+ Unix/Linux-Anwender sehen bspw. mittels 'cat' in der Datei /etc/hosts
+ nach, der Texteintrag hinter der eigenen IP-Adresse spezifiziert den
+ Rechnernamen. </p>
+ <hr />
+ <p id="subtitel"><a name="frage3"></a>Frage 3</p>
+ <p id="block"> <b>Q: </b>Es soll serverseitig lediglich starke TLS/SSL
+ Verschl&uuml;sselung (&gt;100 Bit) unterst&uuml;tzt werden. Wie kann
+ dies erzwungen werden?</p>
+ <p id="block"> <b>A: </b>Tomcat bietet (bis dato) keine einfache M&ouml;glichkeit
+ die serverseitig verwendeten TLS/SSL Verschl&uuml;sselungsalgorithmen
+ zu konfigurieren. Daher empfiehlt es sich in diesem Fall, einen Web-Server
+ wie Apache oder den Microsoft Internet-Information-Server f&uuml;r das
+ SSL-Handling vorzuschalten und dort in der jeweiligen Konfiguration
+ starke Verschl&uuml;sselung zu erzwingen.<b> </b></p>
+ <hr />
+ <b>
+ <p id="subtitel"><a name="frage4"></a>Frage 4</p>
+ Q: </b>Beim Starten von MOA SPSS tritt folgende Exception auf: <tt>java.lang.ClassCastException:
+ iaik.asn1.structures.Name</tt>. Was kann der Fehler sein?
+ <p id="block"> <b>A:</b> Auf Grund einer mangelhaften Implementierung
+ in einigen Versionen des JDK 1.3.1 kann es beim Betrieb von MOA zu folgendem
+ Problem kommen: Sun macht in der Implementierung von PKCS7.getCertificate()
+ einen Downcast vom Interface java.security.Principal auf die eigene
+ Implementierung, was zu einer ClassCastException f&uuml;hrt, wenn der JCE-Provider
+ von Sun nicht an erster Stelle in der List der Security-Provider installiert
+ ist. MOA geht nun aber so vor, dass der JCE-Provider des IAIK an die
+ erste Stelle installiert wird, wenn er zum Zeitpunkt der Konfiguration
+ noch nicht installiert war. Wird dann von irgendeinem ClassLoader der
+ jar-Verifier ben&uuml;tzt, wird PKCS7.getCertificate() verwendet, und
+ es kommt zu einer ClassCastException. </p>
+ <p id="block"> Wird MOA &uuml;ber die API-Schnittstelle verwendet, ist ein
+ Workaround die manuelle Installation des IAIK-JCE-Providers nach dem
+ Sun JCE-Provider (etwa an die letzte Stelle), bevor die MOA-Konfiguration
+ aufgerufen wird. Bei Verwendung der Webservices ist die M&ouml;glichkeit
+ der statischen Konfiguration der JCE-Provider mittels Angabe in der
+ Datei $JAVA_HOME/jre/lib/security/java.security der einzige bekannte
+ Workaround. Hierzu m&uuml;ssen die Eintr&auml;ge
+ <pre>
+ security.provider.1=sun.security.provider.Sun
+ security.provider.2=com.sun.rsajca.Provider
+</pre>
+ durch folgenden Eintrag erg&auml;nzt werden:
+ <pre>
+ security.provider.3=iaik.security.provider.IAIK
+</pre>
+ <p></p>
+
+ <hr />
+ <p id="subtitel"><a name="frage5"></a>Frage 5</p>
+ <div id="block">
+ <p id="block"><b>Q: </b>Ich m&ouml;chte MOA in einer Umgebung betreiben,
+ die einen Internet-Zugang nur &uuml;ber einen Proxy erlaubt. Funktioniert
+ das?</p>
+ <p id="block"> <b>A:</b> Ja, zumindest f&uuml;r Zugriffe &uuml;ber HTTP.
+ Sie m&uuml;ssen dazu die nachfolgenden JAVA System-Properties setzen:</p>
+ <blockquote>
+ <p><tt>http.proxyHost=&lt;proxyhost&gt;<br>
+ http.proxyPort=&lt;proxyport&gt;<br>
+ http.nonProxyHosts=&quot;&lt;exceptionhosts&gt;&quot;</tt></p>
+ </blockquote>
+ <p><tt>&lt;proxyhost&gt;</tt> gibt den Namen oder die IP-Adresse des
+ Proxies an.</p>
+ <p><tt>&lt;proxyport&gt;</tt> gibt den Port des Proxies an.</p>
+ <p><tt>&lt;exceptionhosts&gt;</tt> enth&auml;lt eine Liste von Rechnernamen,
+ die nicht &uuml;ber den Proxy laufen sollen. Jedenfalls m&uuml;ssen
+ sie hier <tt>localhost</tt> angeben. Einzelne Namen sind durch eine
+ Pipe (<tt>|</tt>) zu trennen. Bitte beachten Sie, dass IP-Addressen
+ nicht angegeben werden d&uuml;rfen, sowie die verpflichtend zu verwendenen
+ Anf&uuml;hrungszeichen.</p>
+ </div>
+ <hr />
+ <p id="subtitel"><a name="frage6">Frage 6</a></p>
+ <p><b>Q:</b> Tomcat: W&auml;rend des Betriebs kommt es zu org.apache.commons.logging.LogConfigurationException.
+ Wie kann dies verhindert werden?</p>
+ <p>org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException:
+ org.apache.commons.logging.LogConfigurationException<br>
+ : Class org.apache.commons.logging.impl.Jdk14Logger does not implement
+ Log</p>
+ <p><b>A:</b> Dies ist ein Fehler in tomcat in der Version 4.1.27. $CATALINA_HOME\server\lib\tomcat-util.jar muss gegen eine
+ gepatchte Version ausgetauscht werden, da ein BUG in der Originalversion
+ von tomcat 4.1.27. Diese gepatchte Version ist in der MOA-ID Distribution
+ im Verzeichnis $MOA_ID_INST_AUTH\tomcat\tomcat-util-4.1.27-patched\
+ zu finden.</p>
+ <p>&nbsp; </p>
+ </td>
+ </tr>
+ <tr>
+ <td width="170" valign="top">&nbsp;</td>
+ <td valign="top">&nbsp;</td>
+ </tr>
+ </table>
+
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+ <td width="150" valign="top"><br />
+ </td>
+ <td valign="top" width="460">
+ <hr />
+<div style="font-size:8pt; color:#909090">&copy; 2003 <!-- Development Center, BRZ GmbH --></div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_id/id-admin.htm b/id/server/doc/moa_id/id-admin.htm
new file mode 100644
index 000000000..4c5a29b26
--- /dev/null
+++ b/id/server/doc/moa_id/id-admin.htm
@@ -0,0 +1,317 @@
+<html>
+<head>
+ <title>MOA ID-Administration</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></div>
+<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Basis-Installation</b></a></div>
+<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Konfiguration </b></a></div>
+<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Optionale<br />&#160; &#160;&#160;Komponenten</b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br />
+</td>
+
+<td valign="top">
+<div id="titel">MOA ID-Administration v.1.4</div>
+<p id="block">
+Die Komponenten des Moduls Identifikation (MOA-ID), MOA-ID-AUTH und MOA-ID-PROXY, sind als plattformunabh&auml;ngige Webapplikationen ausgelegt.
+MOA-ID-AUTH ist die Basiskomponente des Moduls, und MOA-ID-PROXY ist eine optionale Zusatzkomponente.
+F&uuml;r den Betrieb dieser Webapplikationen wird eine Java Virtual Machine und ein Java Servlet Container vorausgesetzt.
+<br /><br />
+Dieses Handbuch beschreibt die Installation und Konfiguration von MOA-ID-AUTH und von MOA-ID-PROXY, und die Einrichtung der Systemumgebungen.
+</p>
+</td></tr></table>
+<br />
+
+
+
+<div id="szenarien" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="titel">&#160;</p>
+</td>
+<td valign="top">
+<p id="titel">&Uuml;bersicht </p>
+<div id="block">
+F&uuml;r den Betrieb von MOA-ID-AUTH sind unterschiedliche Szenarien m&ouml;glich, die unterschiedliche M&ouml;glichkeiten bieten und die Installation unterschiedlicher Software- und Hardware-Komponenten erfordern. Dieser Abschnitt gibt einen kurzen &Uuml;berblick &uuml;ber die notwendige Basis-Installation und optionale weitere Konfigurationsm&ouml;glichkeiten.
+</div>
+</td></tr></table>
+<br />
+
+<div id="szenarien1" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<div id="subtitel">Basis-Installation von MOA-ID-AUTH</div>
+<p id="block">
+Die Basis-Installation stellt einerseits die minimalen Anforderungen f&uuml;r den Betrieb von MOA-ID-AUTH dar, andererseits dient sie als Ausgangspunkt f&uuml;r weitere (optionale) Konfigurations-M&ouml;glichkeiten.
+<br /><br />
+Folgende Software ist Voraussetzung f&uuml;r die Basis-Installation:
+</div>
+<ul>
+<li>JDK 1.4.0, JDK 1.4.2 oder JDK 1.5.0</li>
+<li>Tomcat 4.1.31 oder Tomcat 5.0.28</li>
+<li>MOA-ID-AUTH 1.4 </li>
+<li>MOA SP/SS 1.4 oder neuer (entweder als WebService oder direkt als interne Bibliothek)</li>
+</ul>
+<div id="block">
+Um m&ouml;glichen Versionskonflikten aus dem Weg zu gehen sollten stets die neuesten Versionen von MOA-ID als auch von MOA-SP/SS verwendet werden. <br/>
+In diesem Betriebs-Szenario wird MOA-ID-AUTH in Tomcat deployt. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt f&uuml;r MOA-ID-AUTH. Beide Protokolle werden direkt in Tomcat konfiguriert.
+<br/><br/>
+Die Webapplikation verwendet Log4j als Logging Toolkit.
+</div>
+</table>
+<br />
+
+<div id="szenarien2" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="subtitel">Basis-Installation von MOA-ID-PROXY (optional)</p>
+<div id="block">
+Einer Online-Applikation, f&uuml;r die MOA-ID-AUTH die Authentisierung &uuml;bernimmt, kann die Komponente MOA-ID-PROXY vorgeschaltet werden. Diese Komponente &uuml;bernimmt die Anmeldedaten von MOA-ID-AUTH, f&uuml;hrt die Anmeldung an der Online Applikation durch und schleust in der Folge Daten an die Online-Applikation und Daten an den Benutzer durch.
+
+Die Basis-Installation von MOA-ID-PROXY geschieht im Wesentlichen analog zur Basis-Installation von MOA-ID-AUTH.
+<br/><br/>
+MOA-ID-AUTH und MOA-ID-PROXY k&ouml;nnen in verschiedenen Konstellationen zum Einsatz gebracht werden:
+<ul>
+<li>auf verschiedenen Rechnern</li>
+<li>auf ein und demselben Rechner in verschiedenen Java Servlet Containern</li>
+<li>auf ein und demselben Rechner in ein und demselben Java Servlet Container</li>
+</ul>
+ <br />
+Ausgehend von der Basis-Installation k&ouml;nnen die optionalen Konfigurationen, die in den nachfolgenden Abschnitten beschrieben werden, unabh&auml;ngig und in beliebiger Kombination aufgesetzt werden.
+</div>
+</td></tr></table>
+<br />
+
+<div id="szenarien3" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration mit vorgeschaltetem Webserver (optional)</p>
+<div id="block">
+Den MOA ID Webapplikationen kann jeweils optional ein Webserver vorgeschaltet sein. Unter Microsoft Windows ist das im Regelfall der Microsoft Internet Information Server (MS IIS), auf Unix-Systemen kommt &uuml;blicherweise der Apache Webserver zum Einsatz.
+<br /><br />
+ Folgende Software ist unter Windows Voraussetzung:
+</div>
+<ul>
+<li>MS IIS 5.0 </li>
+<li>Jakarta mod_jk 1.2.2 </li>
+</ul>
+<div id="block">Folgende Software ist unter Unix/Linux Voraussetzung: <div id="block">
+<ul>
+<li>Apache Webserver 2.0.x mit mod_SSL </li>
+<li>Jakarta mod_jk 1.2.2 </li>
+</ul>
+<div id="block">In diesem Fall &uuml;bernimmt der vorgeschaltete Webserver die Funktion des HTTP- und HTTPS-Endpunktes. Beide Protokolle werden im Webserver konfiguriert.
+<br /><br />
+Mittels mod_jk werden die Webservice-Aufrufe, die im vorgeschalteten Webserver eintreffen, an Tomcat weiter geleitet, bzw. die Antwort von Tomcat wieder an den Webserver zur&uuml;ck &uuml;bermittelt.
+</div>
+</div></div></td></tr></table>
+<br />
+
+<div id="szenarien4" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration mit PostgreSQL (optional)</p>
+<div id="block">
+Das MOA ID Webservice kann eine PostgreSQL Datenbank nutzen, um:
+</div>
+<ul>
+<li>Log-Meldungen zu speichern </li>
+</ul>
+<div id="block">F&uuml;r den Zugriff auf PostgreSQL ist die Installation folgender Software Voraussetzung: </div>
+<ul>
+<li>PostgreSQL 7.3</li>
+</ul>
+</td></tr></table>
+<br />
+
+<div id="szenarien5" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="subtitel">Zusammenfassung</p>
+<div id="block">
+Notwendig f&uuml;r den Betrieb von MOA ID ist eine Basis-Installation. Weitere optionale Konfigurationen k&ouml;nnen unabh&auml;ngig und in beliebiger Kombination miteinander durchgef&uuml;hrt werden, um eine bessere Integration der MOA ID Webapplikationen in die vorhandene Betriebs-Infrastruktur zu erreichen.
+</div>
+</td></tr></table>
+<br /><br />
+
+
+
+<div id="referenzen" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="titel">Referenzierte Software</p>
+<div id="block">
+Die Versionsangaben beziehen sich auf die Versionen, mit denen die MOA ID Webapplikationen entwickelt und getestet wurde. Geringf&uuml;gig andere Software-Versionen stellen &uuml;blicherweise kein Problem dar.
+</div>
+<br /><br />
+<div id="block">
+ <table border="1" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <th width="59%">Komponente</th>
+ <th width="41%">Getestete Version</th>
+ </tr>
+ <tr>
+ <td width="59%"><b>JDK (SDK)</b> </td>
+ <td width="41%">min. <a href="http://java.sun.com/j2se/1.4.0/download.html">1.4.0</a> bzw. <a href="http://java.sun.com/j2se/1.4.2/download.html"><br>
+ 1.4.2</a><br/>
+ <a href="http://java.sun.com/j2se/1.5.0/download.html">1.5.0</a>
+ </td>
+ </tr>
+ <tr>
+ <td width="59%" height="21"><b>Tomcat</b></td>
+ <td width="41%" height="21">
+ <p><a href="http://archive.apache.org/dist/tomcat/tomcat-4/v4.1.31/bin/jakarta-tomcat-4.1.31.zip">4.1.31</a><br/>
+ <a href="http://gd.tuwien.ac.at/infosys/servers/http/apache/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.zip">5.0.28</a></p>
+ </td>
+ </tr>
+ <tr>
+ <td width="59%"><b>MOA-ID-AUTH </b></td>
+ <td width="41%"><a href="http://egovlabs.gv.at/frs/?group_id=6&release_id=5">1.4 (neueste Version) </a></td>
+ </tr>
+ <tr>
+ <td width="59%"><b>MOA-ID-PROXY </b></td>
+ <td width="41%"><a href="http://egovlabs.gv.at/frs/?group_id=6&release_id=5">1.4 (neueste Version)</a></td>
+ </tr>
+ <tr>
+ <td width="59%"><b>MOA-SPSS </b></td>
+ <td width="41%"><a href="http://egovlabs.gv.at/frs/?group_id=6&release_id=5">1.4 (neueste Version)</a>&#160;</td>
+ </tr>
+ <tr>
+ <td width="59%"><b>Apache Webserver </b></td>
+ <td width="41%"><a href="http://httpd.apache.org/">1.3.X</a>
+ bzw.<br>
+ <a href="http://httpd.apache.org/">2.0.X</a></td>
+ </tr>
+ <tr>
+ <td width="59%"><b>Microsoft Internet Information Server
+ </b></td>
+ <td width="41%"><a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp">5.0</a>&#160; <br/>
+ <a href="http://www.microsoft.com/WindowsServer2003/iis/default.mspx">6.0</a>&#160; </td>
+ </tr>
+ <tr>
+ <td width="59%"><b>mod_SSL </b></td>
+ <td width="41%">(<a href="http://httpd.apache.org/docs-2.0/ssl/">**</a>)&#160;
+ </td>
+ </tr>
+ <tr>
+ <td width="59%"><b>Jakarta mod_jk </b></td>
+ <td width="41%"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/">1.2.2&#160;</a>
+ </td>
+ </tr>
+ <tr>
+ <td width="59%"><b>Jakarta Log4j </b></td>
+ <td width="41%"><a href="http://jakarta.apache.org/log4j/docs/index.html">1.2.8</a>&#160;
+ </td>
+ </tr>
+ <tr>
+ <td width="59%"><b>PostgreSQL </b></td>
+ <td width="41%"><a href="http://techdocs.postgresql.org/installguides.php">7.3</a>&#160;
+ </td>
+ </tr>
+ </table>
+</div>
+<br />
+ <br />
+
+ <div id="block"> (**) passend zur Version des Apache Webservers </div>
+</td></tr></table>
+<br /><br />
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004</div>
+</td></tr></table>
+<br />
+
+
+</div>
+</div></div></div></div></div></div></body>
+</html>
diff --git a/id/server/doc/moa_id/id-admin_1.htm b/id/server/doc/moa_id/id-admin_1.htm
new file mode 100644
index 000000000..7b9ea9c1d
--- /dev/null
+++ b/id/server/doc/moa_id/id-admin_1.htm
@@ -0,0 +1,540 @@
+<html>
+<head>
+ <title>MOA ID-Administration</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ pre { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></a></div>
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Basis-Installation</b></div>
+<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Konfiguration </b></a></div>
+<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Optionale<br />&#160; &#160;&#160;Komponenten</b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br />
+<div id="slogan">
+<b>Installationsschritte: </b>
+<br />
+<a href="#vorbereitung"><b>Vorbereitung</b></a><br />
+<a href="#Tomcat"><b>Tomcat Konfiguration</b></a><br />
+<a href="#deployment_ak"><b>Deployment<br/>MOA-ID-AUTH</b></a><br />
+<a href="#deployment_pk"><b>Deployment<br/>MOA-ID-PROXY</b></a><br />
+<a href="#Tomcat_Start"><b>Tomcat Start/Stop</b></a><br />
+<a href="#Logging"><b>Logging</b></a><br />
+</div>
+</td>
+
+<td valign="top">
+<p id="titel">Basis-Installation v.1.4</p>
+Bei der Basis-Installation von MOA-ID-AUTH und von MOA-ID-PROXY ist grunds&auml;tzlich gleichartig vorzugehen.
+Unterschiede sind in der Installationsanweisung angef&uuml;hrt.
+<div id="vorbereitung" />
+<p id="subtitel">Vorbereitung</p>
+<div id="block">
+ <p><b>Installation des JDK</b><br />
+ Installieren Sie das JDK in ein
+ beliebiges Verzeichnis. Das Wurzelverzeichnis der JDK-Installation
+ wird im weiteren Verlauf als $JAVA_HOME bezeichnet. <br />
+ <br />
+ <b>Installation von Tomcat</b><br />
+ Installieren Sie Tomcat in ein Verzeichnis, das <b>keine Leer- und
+ Sonderzeichen</b> im Pfadnamen enth&auml;lt. Am Besten verwenden
+ die referenzierte Version von Tomcat im zip-Format. (Hinweis f.
+ Windows: nicht die selbstinstallierende exe Version verwenden.)
+ Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf
+ als $CATALINA_HOME bezeichnet.<br />
+ <br />
+ <b>Entpacken der MOA ID Webapplikation</b><br />
+ Entpacken Sie die ausgelieferten Dateien der Webapplikation (moa-id-auth-x.y.zip
+ oder moa-id-proxy-x.y.zip; ersetzen Sie x.y durch die Releasenummer
+ von MOA-ID-AUTH bzw. MOA-ID-PROXY) in ein beliebiges Verzeichnis.
+ Diese Verzeichnisse werden im weiteren Verlauf als $MOA_ID_INST_AUTH
+ bzw. $MOA_ID_INST_PROXY bezeichnet. <br />
+ <br />
+ <b>Installation der IAIK JCE und des IAIK LDAP Protocol Handlers</b><br />
+ Die Dateien aus dem Verzeichnis $MOA_ID_INST_AUTH/ext (oder $MOA_ID_INST_PROXY/ext)
+ m&uuml;ssen in das Verzeichnis $JAVA_HOME/jre/lib/ext kopiert werden.
+ Anschlie&szlig;end steht eine Unterst&uuml;tzung f&uuml;r Kryptographie
+ und SSL jeder Java-Anwendung die dieses JDK verwendet zur Verf&uuml;gung.<br>
+ <br />
+ Zus&auml;tzlich m&uuml;ssen die so genannten Unlimited Strength
+ Jurisdiction Policy Files heruntergeladen, entpackt
+ und ins Verzeichnis $JAVA_HOME/jre/lib/security kopiert werden. </p>
+ <p>Der Download f&uuml;r diese Dateien findet sich am unteren Ende
+ der Download-Seite des jeweiligen JDK in der Sektion "Other
+ Downloads". D.h. JDK <a href="http://java.sun.com/j2se/1.4.0/download.html">
+ hier f&uuml;r 1.4.0</a>, das JDK <a href="http://java.sun.com/j2se/1.4.2/download.html">hier
+ f&uuml;r 1.4.2</a> bzw. das JDK <a href="http://java.sun.com/j2se/1.5.0/download.html">hier
+ f&uuml;r 1.5.0</a>.</p>
+ </div>
+
+</div></td></tr></table>
+
+<div id="Tomcat" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration von Tomcat</p>
+<div id="block">
+<b>Minimale Konfiguration</b> <br />
+Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grunds&auml;tzlich mit
+einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enth&auml;lt und viele Ports
+offen l&auml;sst. Die Datei server.xml im Verzeichnis mit der Versionsnummer des verwendeten Tomcats unter $MOA_ID_INST_AUTH/tomcat (bzw. $MOA_ID_INST_PROXY/tomcat) enth&auml;lt eine minimale
+Tomcat-Konfiguration, die je einen Connector f&uuml;r HTTP und f&uuml;r HTTPS freischaltet. Die jeweilige Datei server.mod_jk.xml schaltet zus&auml;tzlich den AJP Connector Port f&uuml;r den Apache Webserver frei (falls diese Datei verwendet werden soll ist sie zuvor noch auf server.xml umzubenennen).<br /><br />
+<b>SSL</b><br />
+F&uuml;r den sicheren Betrieb von MOA-ID-AUTH ist die Verwendung von SSL Voraussetzung, sofern nicht ein vorgelagerter WebServer (Apache oder IIS) das SSL-Handling &uuml;bernimmt.
+Ebenso kann SSL auch f&uuml;r MOA-ID-PROXY verwendet werden.
+Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html" target="_new">Tomcat SSL Configuration HOW-TO</a> gibt einen guten &Uuml;berblick &uuml;ber die Konfiguration von SSL in Tomcat. Da die f&uuml;r SSL notwendigen Bibliotheken bereits im Abschnitt "Vorbereitung" eingebunden wurden, sind nur noch folgende Schritte notwendig:
+</div>
+<ul>
+<li>Erstellung eines Server-Keystores, welches den privaten Schl&uuml;ssel des Servers sowie das Server-Zertifikat enth&auml;lt,
+z.B. mit dem <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html" target="_new"> Java Keytool</a>. <br />
+<b>Hinweis:</b> Standardm&auml;&szlig;ig wird beim Erzeugen eines neuen Keystores im Home-Verzeichnis des Benutzers die Datei ".keystore" angelegt. M&ouml;chte man den Dateinamen und Pfad &auml;ndern, kann man das dem SSL-Connector in $CATALINA_HOME/conf/server.xml durch hinzuf&uuml;gen des Attributes <i>keystoreFile="NAME DES KEYSTORES"</i> im Element &lt;Factory&gt; bekannt machen. Das zum Keystore geh&ouml;rende Passwort &uuml;bergibt man Tomcat mittels des Attributes <i>keystorePass= "PASSWORT DES KEYSTORES"</i> im Element &lt;Factory&gt;. </li>
+<li>Erstellung eines Keystores mit vertrauensw&uuml;rdigen Client-Zertifikaten, z.B. mit dem <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html" target="_new"> Java Keytool</a> (nur, wenn SSL Client-Authentisierung verwendet werden soll) </li>
+<li>Falls eine Client-Authentisierung gew&uuml;nscht ist, muss die Konfiguration des SSL-Connectors in $CATALINA_HOME/conf/server.xml angepasst werden.</li>
+</ul>
+
+<div id="block">
+<b>MOA Administrator</b><br />
+Der Aufruf der URL f&uuml;r die dynamische Konfiguration von MOA-ID-AUTH ist durch eine Passwort-Abfrage gesch&uuml;tzt, und kann nur von Benutzern aufgerufen werden, die der Benutzer-Rolle <tt>moa-admin</tt> zugeordnet werden k&ouml;nnen.<br />
+Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, m&uuml;ssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml unter dem Element <tt>&lt;tomcat-users&gt;</tt> sinngem&auml;&szlig; folgende Eintr&auml;ge hinzugef&uuml;gt werden:
+<pre>
+&lt;role rolename="moa-admin"/&gt;
+&lt;user username="moa" password="moa" roles="moa-admin"/&gt;
+</pre>
+</div>
+</td></tr></table>
+
+<div id="deployment_ak" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Deployment von MOA-ID-AUTH in Tomcat</p>
+<div id="block">
+Um MOA-ID-AUTH in Tomcat f&uuml;r den Ablauf vorzubereiten, sind folgende Schritte notwendig: <br />
+ <ul>
+ <li>Die Datei $MOA_ID_INST_AUTH/moa-id-auth.war wird ins Verzeichnis
+ $CATALINA_HOME/webapps kopiert. Dort wird sie beim ersten Start
+ von Tomcat automatisch ins Verzeichnis $CATALINA_HOME/webapps/moa-id-auth
+ entpackt. </li>
+ <li>Die MOA-ID Konfigurationsdatei und die zugeh&ouml;rigen Verzeichnisse
+ "certs" und "transforms" werden in ein beliebiges Verzeichnis
+ im Filesystem kopiert (z.B. $CATALINA_HOME/conf/moa-id). <br />
+ Im Verzeichnis $MOA_ID_INST_AUTH/conf/moa-id befinden sich
+ acht verschiedene Beispielkonfigurationen, die als Ausgangspunkte
+ f&uuml;r die Konfiguration von MOA-ID-AUTH dienen k&ouml;nnen:
+ <ul>
+ <li>SampleMOAIDConfiguration.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem &ouml;ffentlichen Bereich.
+ <br>Karte: B&uuml;rgerkarte
+ <br>Konfiguration ohne Proxykomponente</li>
+ <li>SampleMOAIDConfiguration_withTestBKs.xml: Konfiguration von MOA-ID
+ f&uuml;r eine Anwendung aus dem &ouml;ffentlichen Bereich.
+ <br>Karte: B&uuml;rgerkarte und Testkarte
+ <br>Konfiguration ohne Proxykomponente</li>
+ <li>SampleMOAWIDConfiguration.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem privatwirtschaftlichen Bereich (MOA-WID Modus).
+ <br>Karte: B&uuml;rgerkarte
+ <br>Konfiguration ohne Proxykomponente</li>
+ <li>SampleMOAWIDConfiguration_withTestBKs.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem privatwirtschaftlichen Bereich (MOA-WID Modus).
+ <br>Karte: B&uuml;rgerkarte und Testkarte
+ <br>Konfiguration ohne Proxykomponente</li>
+ <li id="sampleProxyConfig">SampleMOAIDConfigurationProxy.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem &ouml;ffentlichen Bereich.
+ <br>Karte: B&uuml;rgerkarte
+ <br>Konfiguration mit <a href="#deployment_pk">Proxykomponente</a>.</li>
+ <li>SampleMOAIDConfiguration_withTestBKsProxy.xml: Konfiguration von MOA-ID
+ f&uuml;r eine Anwendung aus dem &ouml;ffentlichen Bereich.
+ <br>Karte: B&uuml;rgerkarte und Testkarte
+ <br>Konfiguration mit <a href="#deployment_pk">Proxykomponente</a></li>
+ <li>SampleMOAWIDConfigurationProxy.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem privatwirtschaftlichen Bereich (MOA-WID Modus).
+ <br>Karte: B&uuml;rgerkarte
+ <br>Konfiguration mit <a href="#deployment_pk">Proxykomponente</a></li>
+ <li>SampleMOAWIDConfiguration_withTestBKsProxy.xml: Konfiguration von MOA-ID f&uuml;r
+ eine Anwendung aus dem privatwirtschaftlichen Bereich (MOA-WID Modus).
+ <br>Karte: B&uuml;rgerkarte und Testkarte
+ <br>Konfiguration mit <a href="#deployment_pk">Proxykomponente</a></li>
+ </ul>
+ </li>
+ <li>Die endorsed Libraries f&uuml;r Tomcat m&uuml;ssen aus dem
+ Verzeichnis $MOA_ID_INST_AUTH/endorsed in das Tomcat-Verzeichnis
+ $CATALINA_HOME/common/endorsed kopieren werden. Folgende Libraries
+ sind f&uuml;r das Deployment im endorsed Verzeichnis vorgesehen:
+ <ul>
+ <li>xalan.jar</li>
+ <li>serializer.jar (f&uuml;r Xalan ben&ouml;tigt)</li>
+ <li>xml-apis.jar</li>
+ <li id="klein">xercesImpl.jar</li>
+ </ul>
+ Eventuell vorhandene Dateien mit dem gleichen Namen m&uuml;ssen
+ ersetzt werden. Die ggf. in diesem Verzeichnis vorhandene Datei
+ <code>xmlParserAPIs.jar</code> muss gel&ouml;scht werden.</li>
+ <li>Folgende Java System Properties sind zu setzen: <br />
+ <ul id="klein">
+ <li id="klein">moa.id.configuration=Name der MOA ID Konfigurationsdatei.
+ Eine beispielhafte MOA ID Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/
+ SampleMOAIDConfiguration.xml enthalten.</li>
+ <li id="klein">log4j.configuration=URL der Log4j Konfigurationsdatei.
+ Eine beispielhafte Log4j-Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties
+ enthalten. </li>
+ <li id="klein">javax.net.ssl.trustStore=Name des Truststores
+ f&uuml;r vertrauensw&uuml;rdige SSL Client-Zertifikate (optional;
+ nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden
+ soll). <br>
+ </li>
+ </ul>
+ Diese Java System-Properties werden Tomcat &uuml;ber die Umgebungsvariable
+ CATALINA_OPTS mitgeteilt (Beispiel-Skripte zum Setzen dieser
+ Properties f&uuml;r <b>Windows</b> und f&uuml;r <b>Unix bzw.
+ Linux</b> finden sie unter $MOA_ID_INST_AUTH/tomcat/win32 bzw.
+ $MOA_ID_INST_AUTH/tomcat/unix). Diese Skripte k&ouml;nnen sie nach $CATALINA_HOME kompieren und in Folge von dort starten nachdem die Variablen CATALINA_HOME sowie JAVA_HOME in den Skripten entsprechend den Pfaden der Installation gesetzt wurden.
+ </ul>
+</div>
+</td></tr></table>
+
+
+<div id="deployment_pk" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Deployment von MOA-ID-PROXY in Tomcat</p>
+<div id="block">
+Um MOA-ID-PROXY in Tomcat f&uuml;r den Ablauf vorzubereiten, sind folgende Schritte notwendig:
+<br />
+ <ul>
+ <li>
+ <b>F&uuml;r Tomcat 4.1.31:</b>
+ <ul>
+ <li>Die Datei $MOA_ID_INST_PROXY/moa-id-proxy.war wird in ein
+ beliebiges Verzeichnis (bspw. $CATALINA_HOME/webappsProxy) kopiert. <b>HINWEIS:
+ Das Verzeichnis darf sich NICHT unterhalb $CATALINA_HOME/webapps befinden!</b><br/>
+ </li>
+ <li>Anschlie&szlig;end muss in der Datei <tt>$CATALINA_HOME/conf/server.xml</tt> der
+ Tomcat-Root-Context auf diese Datei gesetzt werden: wenn
+ das war-file sich in $CATALINA_HOME/webappsProxy befindet, geschieht dies
+ mit dem Einf&uuml;gen von folgendem Element innerhalb von
+ <tt>&lt;Server&gt;...&lt;Service&gt;...&lt;Engine&gt;...&lt;Host&gt;</tt>:
+ <pre>&lt;Context path=""
+ docBase="../webappsProxy/moa-id-proxy.war"
+ debug="0"/&gt;</pre>
+ Anmerkung: Der Root-Context von Tomcat ist normalerweise auskommentiert.
+ </li>
+ </ul>
+ </li>
+ <li>
+ <b>F&uuml;r Tomcat 5.0.28:</b>
+ <ul>
+ <li>Die Datei $MOA_ID_INST_PROXY/moa-id-proxy.war ist in ein
+ beliebiges Verzeichnis (bspw. $CATALINA_HOME/webappsProxy) <b>zu entpacken</b>
+ (diese Datei ist mittels ZIP Algorithmus komprimiert und kann mit jedem Tool,
+ das mit .ZIP-Dateien umgehen kann, ge&ouml;ffnet werden). <b>HINWEIS:
+ Das Verzeichnis darf sich NICHT unterhalb $CATALINA_HOME/webapps befinden!</b><br/>
+ </li>
+ <li>Anschlie&szlig;end muss in der Datei <tt>$CATALINA_HOME/conf/server.xml</tt> der
+ Tomcat-Root-Context auf diese Datei gesetzt werden: wenn die Proxy Web-Applikation
+ nach $CATALINA_HOME\webappsProxy entpackt wurde, geschieht dies mit dem Einf&uuml;gen
+ von folgendem Element innerhalb von
+ <tt>&lt;Server&gt;...&lt;Service&gt;...&lt;Engine&gt;...&lt;Host&gt;</tt>: </li>
+ <pre>&lt;Context path="" docBase="../webappsProxy"
+ debug="0"/&gt;</pre>
+ Alternativ kann statt die Datei server.xml zu &auml;ndern in <tt>$CATALINA_HOME\conf\Catalina\localhost</tt> eine Datei moa-id-proxy.xml mit vorhin angegebenen Inhalt erstellt werden.
+ </ul>
+ </li>
+ </ul>
+
+ <br />
+ <b>Tomcat Konfiguration:</b>
+ <ul>
+ <li>Die MOA-ID Konfigurationsdatei und die zugeh&ouml;rigen
+ Verzeichnisse "certs" und "oa" werden in ein beliebiges Verzeichnis
+ im Filesystem kopiert (z.B. $CATALINA_HOME/ conf/moa-id).
+ <br />
+ Im Verzeichnis $MOA_ID_INST_PROXY/conf/moa-id befinden sich
+ vier verschiedene <a href="#sampleProxyConfig">Beispielkonfigurationen</a>,
+ die als Ausgangspunkte f&uuml;r die Konfiguration von MOA-ID-PROXY
+ dienen k&ouml;nnen.
+ </li>
+ <li>Die endorsed Libraries f&uuml;r Tomcat m&uuml;ssen aus dem
+ Verzeichnis $MOA_ID_INST_PROXY/endorsed in das Tomcat-Verzeichnis
+ $CATALINA_HOME/common/endorsed kopiert werden. Folgende Libraries
+ sind f&uuml;r das Deployment im endorsed Verzeichnis vorgesehen:
+ <ul>
+ <li id="klein">Xerces-J-2.4.0 (bestehend aus xercesImpl.jar
+ und xmlParserAPIs.jar)</li>
+ </ul>
+ Eventuell vorhandene Dateien mit dem gleichen Namen m&uuml;ssen
+ ersetzt werden.
+ </li>
+ <li>Folgende Java System Properties sind zu setzen: <br />
+ <ul id="klein">
+ <li id="klein">moa.id.configuration=Name der MOA ID Konfigurationsdatei.
+ Eine beispielhafte MOA ID Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/
+ SampleMOAIDConfiguration.xml enthalten.</li>
+ <li id="klein">log4j.configuration=URL der Log4j Konfigurationsdatei.
+ Eine beispielhafte Log4j-Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties
+ enthalten. </li>
+ <li id="klein">javax.net.ssl.trustStore=Name des Truststores
+ f&uuml;r vertrauensw&uuml;rdige SSL Client-Zertifikate
+ (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt
+ werden soll). </li>
+ </ul>
+ </li>
+ Diese Java System-Properties werden Tomcat &uuml;ber die Umgebungsvariable
+ CATALINA_OPTS mitgeteilt (siehe Deployment von MOA-ID-AUTH<a href="examples/moa-id-env.sh.txt"></a>).
+ <br>
+ <br>
+ Beispiel-Skripts zum Setzen von CATALINA_OPTS und zum Starten
+ von Tomcat sind in $MOA_ID_INST_AUTH\tomcat\ zu finden - Sie
+ k&ouml;nnen diese f&uuml;r Ihre Zwecke adaptieren (JAVA_HOME
+ und $CATALINA_HOME setzen) und nach $CATALINA_HOME kopieren.
+ </ul>
+</div>
+</td></tr></table>
+
+<div id="Tomcat_Start" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Starten und Stoppen von Tomcat </p>
+ <div id="block"> Nach dem Deployment und der Konfiguration kann
+ Tomcat aus seinem Wurzelverzeichnis ($CATALINA_HOME) mit <br />
+ <pre>
+ startTomcat (unter Windows) oder
+ moa-id-env.sh
+ bin/catalina.sh start (unter Unix/Linux)
+</pre>
+gestartet werden. Das Stoppen von Tomcat erfolgt analog mit <br />
+<pre>
+ bin\catalina stop (unter Windows) oder
+ bin/catalina.sh stop (unter Unix/Linux)
+</pre>
+Ein erfolgreicher Startvorgang von MOA-ID-AUTH ist an folgender Log-Meldung ersichtlich: <br />
+<pre>
+ INFO | 08 13:33:38,497 | main |
+ MOA ID Authentisierung wurde
+ erfolgreich gestartet
+</pre>
+Analog bei MOA-ID-PROXY: <br/>
+<pre>
+ INFO | 08 13:35:49,876 | main |
+ MOA ID Proxy wurde erfolgreich gestartet
+</pre>
+
+Nach dem erfolgreichen Starten von Tomcat steht MOA-ID-AUTH unter der URL
+<pre>
+http(s)://host:port/moa-id-auth/StartAuthentication
+</pre>
+zur Verf&uuml;gung. Der WebService ist unter
+<pre>
+http(s)://host:port/moa-id-auth/services/GetAuthenticationData
+</pre>
+erreichbar. Die Verf&uuml;gbarkeit der Anwendung kann &uuml;berpr&uuml;ft werden, indem die URLs mit einem Web-Browser aufgerufen werden.<br />
+<br />
+<div id="ConfigUpdate" />
+<b>Dynamische Konfigurations-Updates</b><br />
+Dynamische Konfigurations-Updates k&ouml;nnen f&uuml;r MOA-ID-AUTH durch den Aufruf der URL http://hostname:port/moa-id-auth/ConfigurationUpdate (z.B. durch Eingabe in einem Browser) durchgef&uuml;hrt werden. Analog wird die Konfiguration von MOA-ID-PROXY mittels http://hostname:port/ConfigurationUpdate aktualisiert.<br /><br />
+<b>Hinweis: </b>Konfigurations&auml;nderungen f&uuml;r die Online-Applikationen betreffen grunds&auml;tzlich sowohl die Auth- als auch die Proxy-Komponente.
+Wenn bspw. das <tt>publicURLPrefix</tt> der OA ge&auml;ndert wird, muss sowohl f&uuml;r die Auth- als auch f&uuml;r die Proxy-Komponente ein ConfigurationUpdate durchgef&uuml;hrt werden. <br /> <br />
+Konnte MOA-ID-AUTH bzw. MOA-ID-PROXY nicht ordnungsgem&auml;&szlig; konfiguriert und gestartet werden, geht das aus der Log-Meldung hervor: <br />
+<pre>
+FATAL | 03 13:19:06,924 | main | Fehler
+ beim Starten des Service MOA ID Authentisierung
+</pre>
+bzw.
+<pre>
+FATAL | 03 13:19:06,924 | main | Fehler
+ beim Starten des Service MOA ID Proxy
+</pre>
+In diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss &uuml;ber den genaueren Grund. <br />
+</div>
+</div></td></tr></table>
+
+
+<div id="Logging" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<div id="Logging" />
+<p id="subtitel">Logging</p>
+<div id="block">
+Die MOA ID Webapplikation verwendet Jakarta Log4j f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die ausf&uuml;hrlich im <a href="http://jakarta.apache.org/log4j/docs/manual.html" target="_new">Log4j Handbuch</a> beschrieben sind. Unter anderem gibt es die M&ouml;glichkeit, folgende Einstellungen vorzunehmen: <br />
+<ul>
+<li id="klein">Das verwendete Log-Level (DEBUG, INFO, WARN, ERROR, FATAL).</li>
+<li id="klein">Name und maximale Gr&ouml;&szlig;e der Log-Datei(en).</li>
+<li id="klein">Das Aussehen der Log-Eintr&auml;ge.</li>
+</ul>
+Es werden folgende Log-Hierarchien verwendet:
+</div>
+<ul>
+<li>moa.id.auth f&uuml;r alle Log-Meldungen aus dem MOA-ID-AUTH Modul </li>
+<li>moa.id.proxy f&uuml;r alle Log-Meldungen aus dem MOA-ID-PROXY Modul </li>
+<li>moa.spss.server f&uuml;r alle Log-Meldungen aus dem MOA-SPSS Modul </li>
+<li>iaik.server f&uuml;r alle Log-Meldungen aus den IAIK Kryptographie-Modulen </li>
+</ul>
+<div id="block">
+Als Ausgangspunkt f&uuml;r die Logging-Konfiguration liegt die Datei $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties (bzw. $MOA_ID_INST_PROXY/conf/moa-id/log4j.properties) bei.
+Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei <tt>$CATALINA_HOME/logs/moa-id.log</tt> geschrieben.
+<br /><br />
+<b>Format der Log-Meldungen</b><br />
+Anhand einer konkreten Log-Meldung wird das Format der MOA ID Log-Meldungen erl&auml;utert:
+<pre>
+ INFO | 09 08:23:59,385 | Thread-8 |
+ Anmeldedaten zu MOASession -5468974113772848113
+ angelegt, SAML Artifakt
+ AAF/BrdRfnMaQVGIbP/Gf9OwDUwwsXChb7nuT+VXQzOoHbV
+</pre>
+
+Der Wert <tt>INFO</tt> besagt, dass die Log-Meldung im Log-Level <tt>INFO</tt> entstanden ist. Folgende Log-Levels existieren:<br />
+<ul>
+<li id="klein"><tt>DEBUG:</tt> Log-Meldungen im Log-Level <tt>DEBUG</tt> geben Auskunft &uuml;ber die innere Arbeitsweise des Systems. Sie sind haupts&auml;chlich f&uuml;r Entwickler interessant.</li>
+<li id="klein"><tt>INFO:</tt> Diese Log-Meldungen geben informative Status-Informationen &uuml;ber den Ablauf der Webapplikation, wie z.B., dass eine neue Anfrage eingelangt ist.</li>
+<li id="klein"><tt>WARN:</tt> Bei der Ausf&uuml;hrung einer Operation sind leichte Fehler aufgetreten. Der Ablauf der Webapplikation ist nicht weiter beeintr&auml;chtigt.</li>
+<li id="klein"><tt>ERROR:</tt> Die Ausf&uuml;hrung einer Operation musste abgebrochen werden. Die Webapplikation ist davon nicht beeintr&auml;chtigt. </li>
+<li id="klein"><tt>FATAL:</tt> Es ist ein Fehler aufgetreten, der den weiteren Betrieb der Webapplikation nicht mehr sinnvoll macht.</li>
+</ul>
+Der n&auml;chste Wert <tt>09 08:23:59,385</tt>, gibt den Zeitpunkt an, an dem die Log-Meldung generiert wurde (in diesem Fall den 9. Tag im aktuellen Monat, sowie die genaue Uhrzeit). <br />
+Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine genauere Ursachen-Forschung erm&ouml;glicht.
+<br /><br />
+
+
+<b>Wichtige Log-Meldungen</b><br />
+Neben den im Abschnitt "Starten und Stoppen von Tomcat" beschriebenen Log-Meldungen, die anzeigen, ob die Webapplikation
+ordnungsgem&auml;&szlig; gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss &uuml;ber die Abarbeitung von Anfragen.
+Die Annahme einer Anfrage wird beispielsweise angezeigt durch:
+</div>
+<pre>
+ INFO | 09 08:37:17,663 | Thread-9 |
+ MOASession 6576509775379152205 angelegt
+
+ INFO | 09 08:37:20,828 | Thread-9 |
+ Anmeldedaten zu MOASession 6576509775379152205
+ angelegt, SAML Artifakt
+ AAF/BrdRfnMaQVGIbP/Gf9OwDUwwsXChb7nuT+VXQzOoHbV
+
+</pre>
+
+<div id="block">
+Die 1. Log-Meldung besagt, dass sich ein Benutzer an MOA-ID-AUTH angemeldet und eine eindeutige SessionID zugewiesen bekommen hat. <br />
+Die 2. Log-Meldung informiert dar&uuml;ber, dass die Anmeldedaten des Benutzers unter dem angezeigten SAML Artifakt abgeholt werden k&ouml;nnen.<br />
+</div>
+Wenn nun versucht wird, eine Transaktion mit einer ung&uumlltigen SessionID fortzusetzen erh&auml;lt man folgende Log-Meldung:<br />
+<pre>
+ ERROR | 09 09:34:27,105 | Thread-8 |
+ at.gv.egovernment.moa.id.AuthenticationException:
+ MOASessionID ist unbekannt
+ (MOASessionID=-8650403497547200032)
+</pre><div id="block">
+ <p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft
+ &uuml;ber die Art des Fehlers. Der Aufrufer der MOA ID
+ Webapplikation bekommt einen Fehlercode sowie eine kurze
+ Beschreibung des Fehlers als Antwort zur&uuml;ck. <br />
+ <br />
+ Die Tats&auml;chlich &uuml;bertragenen Anfragen bzw. Antworten
+ werden aus Effizienzgr&uuml;nden nur im Log-Level DEBUG
+ angezeigt. </p>
+ <hr />
+ <p>
+ </div>
+ </p>
+ </div>
+</td></tr></table>
+<br /><br />
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004 </div>
+</td></tr></table>
+<br />
+
+
+</div>
+</div></div></div></div></div></body>
+</html>
diff --git a/id/server/doc/moa_id/id-admin_2.htm b/id/server/doc/moa_id/id-admin_2.htm
new file mode 100644
index 000000000..e934dc6cc
--- /dev/null
+++ b/id/server/doc/moa_id/id-admin_2.htm
@@ -0,0 +1,1467 @@
+<html>
+<head>
+ <title>MOA ID-Administration</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; color:#505060; font-weight:bold; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> &uuml;bersicht</b></a></div>
+<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Basis-Installation</b></a></div>
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Konfiguration </b></div>
+<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Optionale<br />&#160; &#160;&#160;Komponenten</b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br /><br />
+<div id="slogan">
+<a href="#moaid-konfiguration"><b>Konfiguration<br />von MOA-ID</b></a>
+<br /><br />
+<a href="examples/conf/MOA-ID-Configuration.xml" target="_new">Konfigurationsdatei</a>
+<br /><br />
+<b>Parameter-&uuml;bersicht</b><br />
+<a href="#ConnectionParameter">ConnectionParameter</a><br />
+<a href="#AuthComponent">AuthComponent</a><br />
+<a href="#BKUSelection" >&nbsp;&nbsp;BKUSelection</a><br />
+<a href="#SecurityLayer">&nbsp;&nbsp;SecurityLayer</a><br />
+<a href="#MOA-SP">&nbsp;&nbsp;MOA-SP</a><br />
+<a href="#IdentityLinkSigners">&nbsp;&nbsp;IdentityLinkSigners</a><br />
+<a href="#VerifyInfoboxesAuth">&nbsp;&nbsp;VerifyInfoboxes</a><br />
+<a href="#ProxyComponent">ProxyComponent</a><br />
+<a href="#OnlineApplication">OnlineApplication</a><br />
+<a href="#OnlineApplication/AuthComponent">&nbsp;&nbsp;AuthComponent</a><br />
+<a href="#OnlineApplication/ProxyComponent">&nbsp;&nbsp;ProxyComponent</a><br />
+<a href="#ChainingModes">ChainingModes</a><br />
+<a href="#TrustedCACertificates">TrustedCACertificates</a><br />
+<a href="#GenericConfiguration">GenericConfiguration</a><br />
+<br />
+<a href="#oa-config"><b>Konfiguration<br />der Online-Applikation</b></a><br />
+<br />
+<b>Parameter-&uuml;bersicht</b><br />
+<a href="#LoginType">LoginType</a><br />
+<a href="#ParamAuth">ParamAuth</a><br />
+<a href="#Parameter">&nbsp;&nbsp;ParamAuth/Parameter</a><br />
+<a href="#BasicAuth">BasicAuth</a><br />
+<a href="#HeaderAuth">HeaderAuth</a><br />
+<a href="#Header">&nbsp;&nbsp;HeaderAuth/Header</a><br />
+<br />
+<a href="#sp-config"><b>Konfiguration<br />von MOA-SP</b></a><br />
+<br />
+<a href="#verifytransformsInfoProfile">VerifyTransformsInfoProfile</a><br />
+<a href="#trustProfile">TrustProfile</a><br />
+<a href="#certstore">Certstore</a><br />
+<br />
+<a href="#online-config"><b>&auml;nderung der Konfig. <br />w&auml;hrend des Betriebs</b></a><br />
+<br/>
+<a href="#errorpages"><b>&Auml;ndern der Default-Errorpages</b></a><br />
+<br/>
+<a href="#security"><b>Tomcat Security Manager </b></a><br />
+
+<br />
+</div>
+
+</td>
+
+ <td valign="top">
+ <div id="titel">Konfiguration von MOA ID v.1.4</div>
+ <div id="moaid-konfiguration" />
+ <p id="subtitel">Konfiguration von MOA ID v.1.4</p>
+ <p id="block"> Die Konfiguration von MOA ID wird mittels einer XML-basierten
+ Konfigurationsdatei, die dem Schema
+ <a href="../MOA-ID-Configuration-1.4.3.xsd" target="_new">MOA-ID-Configuration-1.4.3.xsd</a> entspricht, durchgef&uuml;hrt.
+ <p /> Der Ort der Konfigurationsdatei wird im Abschnitt <a href="id-admin_1.htm#deployment">Deployment
+ der Web-Applikation in Tomcat</a> beschrieben.
+ <p /> Die folgenden Abschnitte erl&auml;utern das Format der Konfigurationsdatei.
+ <a href="examples/conf/MOA-ID-Configuration.xml" target="_new">MOA-ID-Configuration.xml</a>
+ zeigt ein Beispiel f&uuml;r eine umfassende Konfigurationsdatei. </p>
+ <p>Enth&auml;lt die Konfigurationsdatei relative Pfadangaben, werden
+ diese relativ zum Verzeichnis, in dem sich die MOA-ID Konfigurationsdatei
+ befindet, interpretiert.<br>
+ </p>
+ <div id="ConnectionParameter" />
+ <p id="block"> <b>ConnectionParameter</b> <br />
+ Das Element <tt>ConnectionParameter</tt> enth&auml;lt Parameter,
+ die MOA-ID f&uuml;r den Aufbau von Verbindungen zu anderen Komponenten
+ ben&ouml;tigt. Dieses Element tritt mehrfach in der Konfigurationsdatei
+ auf und wird daher vorab detailliert beschrieben. <br />
+ <br />
+ Das Attribut <tt>URL</tt> enth&auml;lt die URL der Komponente zu
+ der die Verbindung aufgebaut werden soll. Wird das Schema <tt>https</tt>
+ verwendet, k&ouml;nnen die Kind-Elemente <tt>AcceptedServerCertificates</tt>
+ und <tt>ClientKeyStore</tt> angegeben werden. Wird das Schema <tt>http</tt>
+ verwendet m&uuml;ssen keine Kind-Elemente angegeben werden bzw.
+ werden diese nicht ausgewertet. Andere Schemas werden nicht unterst&uuml;tzt.
+ <br />
+ <br />
+ Wird die Verbindung &uuml;ber TLS aufgebaut und erfordert der TLS-Server
+ eine Client-Authentisierung mittels Zertifikate, dann muss das Kind-Element
+ <tt>ClientKeyStore</tt> spezifiziert werden. Im Element <tt>ClientKeyStore</tt>
+ wird der Filename des PKCS#12-Keys (relativ zur MOA-ID Konfigurationsdatei)
+ angegeben. Diesem Keystore wird der private Schl&uuml;ssel f&uuml;r
+ die TLS-Client-Authentisierung entnommen. Das Passwort zum Lesen
+ des privaten Schl&uuml;ssels wird im Attribut <tt>ClientKeyStore/@password</tt>
+ konfiguriert.<br />
+ Aufgrund der Tatsache, dass starke Verschl&uuml;sselung eine Voraussetzung
+ f&uuml;r MOA-ID darstellt, werden clientseitig nur die folgenden
+ Cipher Suites unterst&uuml;tzt:<br/>
+ <ul>
+ <li><tt>SSL_RSA_WITH_RC4_128_SHA</tt></li>
+ <li><tt>SSL_RSA_WITH_RC4_128_MD5</tt></li>
+ <li><tt>SSL_RSA_WITH_3DES_EDE_CBC_SHA</tt></li>
+ </ul>
+ Im Kind-Element <tt>AcceptedServerCertificates</tt> kann ein Verzeichnisname
+ (relativ zur MOA-ID Konfigurationsdatei) angegeben werden, in dem
+ die akzeptierten Zertifikate der TLS-Verbindung hinterlegt sind. In
+ diesem Verzeichnis werden nur Serverzertifikate abgelegt. Fehlt dieser
+ Parameter wird lediglich &uuml;berpr&uuml;ft ob ein Zertifikatspfad
+ zu den im Element <tt>&lt;TrustedCACertificates&gt;</tt> angegebenen
+ Zertifikaten erstellt werden kann. Falls dies nicht m&ouml;glich ist,
+ kommt es zu einem Fehlerfall.
+ <p></p>
+ <div id="AuthComponent" />
+ <p id="block"> <b>AuthComponent</b> <br />
+ <tt>AuthComponent</tt> enth&auml;lt Parameter, die nur die MOA-ID
+ Authentisierungskomponente betreffen. Das Element ist optional
+ und muss nicht verwendet werden, wenn auf dem Server keine MOA-ID
+ Authentisierungskomponente installiert wird. <br />
+ <br />
+ Das Element <tt>AuthComponent</tt> hat f&uuml;nf Kind-Elemente:
+ <ul>
+ <li><tt>BKUSelection</tt> (optional)</li>
+ <li><tt>SecurityLayer</tt></li>
+ <li><tt>MOA-SP</tt></li>
+ <li><tt>IdentityLinkSigners</tt></li>
+ <li><tt>VerifyInfoboxes</tt> (optional ab Version 1.4)</li>
+ </ul>
+ <p></p>
+ <div id="BKUSelection" />
+ <p id="block"> <b>AuthComponent/BKUSelection</b> <br />
+ Das optionale Element <tt>BKUSelection</tt> enth&auml;lt Parameter
+ zur Nutzung eines Auswahldienstes f&uuml;r eine B&uuml;rgerkartenumgebung
+ (BKU). Wird das Element nicht angegeben, dann wird die lokale
+ B&uuml;rgerkartenumgebung auf <tt>http://localhost:3495/http-security-layer-request</tt>
+ verwendet. <br />
+ <br />
+ Das Attribut <tt>BKUSelectionAlternative</tt> gibt an welche
+ Alternative zur BKU-Auswahl verwendet werden soll. MOA-ID unterst&uuml;tzt
+ die Werte <tt>HTMLComplete</tt> (vollst&auml;ndige HTML-Auswahl)
+ und <tt>HTMLSelect</tt> (HTML-Code f&uuml;r Auswahl) [<a href="../bku-auswahl.20030408.pdf">"Auswahl
+ von B&uuml;rgerkartenumgebungen"</a>, Arno Hollosi]. <br />
+ <br />
+ Das Kind-Element <tt>ConnectionParameter</tt> spezifiziert die
+ Verbindung zum Auswahldienst (siehe <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a>),
+ jedoch kann das Kind-Element <tt>ClientKeyStore</tt> nicht angegeben
+ werden. </p>
+ <div id="AuthTemplates" />
+ <p id="block"> <b>AuthComponent/Templates</b> <br />
+ Das optionale Element <tt>Templates</tt> kann genau einmal vorkommen, um
+ das Aussehen der Seiten &quot;Auswahl der B&uuml;rgerkartenumgebung&quot; sowie
+ &quot;Anmeldung mit B&uuml;rgerkarte&quot; anzupassen. Die hier
+ spezifizierten (globalen) Templates haben Priorit&auml;t gegen&uuml;ber Templates,
+ die in der aufrufenden URL (vgl. <a href="id-anwendung_1.htm" target="_new">Aufruf von MOA-ID-AUTH</a>)
+ &uuml;bergeben werden, haben jedoch Nachrang gegen&uuml;ber in
+ der Konfigurationsdatei f&uuml;r eine Online-Applikation individuell definierte (lokale)
+ Templates (siehe <a href="#OnlineApplication/AuthComponent/Templates" target="_new">
+ OnlineApplication/AuthComponent/Templates</a>).
+ Das hei&szlig;t, sind in der Konfigurationsddatei f&uuml;r eine Online-Applikation lokale
+ Templates definiert (Element <tt>OnlineApplication/AuthComponent/Templates</tt>), so werden
+ die als global spezifizierten Templates (<tt>AuthComponent/Templates</tt>) f&uuml;r diese
+ OnlineApplikation ignoriert, jedoch f&uuml;r alle anderen Online-Applikationen
+ verwendet. Templates in der aufrufenden URL werden demnach nur mehr dann
+ herangezogen, wenn in der Konfigurationsdatei weder globale (f&uuml;r alle
+ Online-Applikationen g&uuml;ltig) noch lokale (Templates je Online-Applikation)
+ spezifiziert sind.<br>
+ Das <tt>Templates</tt>-Element hat die zwei Kindelemente
+ <tt>BKUSelectionTemplate</tt> und <tt>Template</tt>. Jedes dieser
+ beiden Elemente kann genau einmal vorkommen oder fehlen.
+ Das Kindelement <tt>BKUSelectionTemplate</tt> spezifiziert ein Template
+ zur Gestaltung der Seite &quot;Auswahl der B&uuml;rgerkartenumgebung&quot;,
+ w&auml;hrend das Kindelement <tt>Template</tt> die Seite
+ &quot;Anmeldung mit B&uuml;rgerkarte&quot; referenziert.
+ Beide Elemente haben genau ein Attribut namens <tt>URL</tt>,
+ das die Lage des Templates im Form einer URL beschreibt.
+ Relative Pfadangaben werden dabei relativ zum Verzeichnis, in dem sich die
+ MOA-ID Konfigurationsdatei befindet, interpretiert. Bei Templates die &uuml;ber das Protokoll https referenziert werden, muss vor dem Start des Tomcat ein Truststore angegeben werden, das die notwendigen vertrauensw&uuml;rdigen Zertifikate enth&auml;lt. Siehe dazu die Parameter in den vorbereiteten Startdateien <tt>startTomcat.bat</tt> und <tt>tomcat-start.sh</tt>.<br>
+ Im folgenden Beispiel werden zwei Templates im Verzeichnis
+ CATALINA_HOME/conf/moa-id/templates referenziert:
+ <br>
+ <pre>
+&lt;Templates&gt;
+ &lt;BKUSelectionTemplate URL="templates/SampleBKUSelectionTemplate.html"/&gt;
+ &lt;Template URL="templates/SampleTemplate.html"/&gt;
+&lt;/Templates&gt;</pre>
+
+ <br>
+ Richtlinien zur Struktur der beiden Templates k&ouml;nnen der
+ MOA-ID-Spezifikation bzw. dem Abschnitt
+ <a href="id-anwendung_1.htm" target="_new">Aufruf von MOA-ID-AUTH</a>
+ dieses Handbuches entnommen werden.
+
+ </p>
+ </div>
+ <div id="SecurityLayer" />
+ <p id="block"> <b>AuthComponent/SecurityLayer</b> <br />
+ Das Element <tt>SecurityLayer</tt> enth&auml;lt Parameter
+ zur Nutzung des Security-Layers. <br />
+ <br />
+ Das Kind-Element <tt>TransformsInfo</tt> spezifiziert eine
+ Transformation, die f&uuml;r die Erstellung der Signatur des
+ AUTH-Blocks als Parameter in den <tt>CreateXMLSignatureRequest</tt>
+ des Security-Layers integriert werden muss. Mehrere unterschiedliche
+ Implementierungen des Security-Layer k&ouml;nnen durch die
+ Angabe mehrerer <tt>TransformsInfo</tt>-Elemente unterst&uuml;tzt
+ werden. <br />
+ <br />
+ Das Attribut <tt>TransformsInfo/@filename</tt> verweist auf
+ eine Datei, die das globale Element <tt>TransformsInfo</tt>
+ vom Typ <tt>TransformsInfo</tt> enth&auml;lt. Die Angabe erfolgt
+ relativ zur MOA-ID Konfigurationsdatei. Das Encoding dieser
+ Datei muss UTF-8 sein. <br />
+ <br />
+ <a href="examples/TransformsInfoAuthBlock.txt">Beispiel f&uuml;r
+ eine TransformsInfo-Datei</a> </p>
+ <div id="MOA-SP" />
+ <p id="block"> <b>AuthComponent/MOA-SP</b> <br />
+ Das Element <tt>MOA-SP</tt> enth&auml;lt Parameter zur Nutzung
+ von MOA-SP. MOA-SP wird f&uuml;r die &uuml;berpr&uuml;fung
+ der Signatur der Personenbindung und des AUTH-Blocks verwendet.
+ <br />
+ <br />
+ Wird das Kind-Element <tt>ConnectionParameter</tt> angegeben,
+ dann wird MOA-SP &uuml;ber das Webservice angesprochen.</p>
+ <p id="block">Wird das Kind-Element <tt>ConnectionParameter</tt>
+ nicht angegeben so wird eine MOA-ID beiligende Version von
+ MOA-SP direkt &uuml;ber das Java-API angesprochen. In diesem
+ Fall muss das System-Property auf die verwendete Konfigurationsdatei
+ von MOA-SP gesetzt werden. Eine beispielhafte MOA-SP Konfigurationsdatei
+ ist in <tt>$MOA_ID_INST_AUTH/conf/moa-spss/SampleMOASPSSConfiguration.xml</tt>
+ enthalten. </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="moaid-konfiguration" />
+ <div id="ConnectionParameter" />
+ <div id="AuthComponent" />
+ <div id="BKUSelection" />
+ <div id="SecurityLayer" />
+ <div id="MOA-SP" />
+ <div id="verifytransformsInfoProfile" />
+ <p><b><i>Hinweis:</i></b><i> MOA-SP muss entsprechend konfiguriert
+ werden - siehe hierzu Abschnitt <a href="#sp-config">Konfiguration
+ von MOA-SP</a>. Alle Details zur Konfiguration von MOA-SP
+ finden sie in der Distribution von MOA-SP/SS beiligenden
+ Dokumentation im Abschnitt 'Konfiguration'.<br>
+ </i><br />
+ Das Kind-Element <tt>VerifyIdentityLink/TrustProfileID</tt>
+ spezifiziert eine TrustProfileID, die f&uuml;r den <tt>VerifyXMLSignatureRequest</tt>
+ zur &Uuml;berpr&uuml;fung der Signatur der Personenbindung
+ verwendet werden muss. Diese TrustProfileID muss beim
+ verwendeten MOA-SP Modul konfiguriert sein.<br />
+ <br />
+ Die Kind-Elemente <tt>VerifyAuthBlock/TrustProfileID</tt>
+ und <tt>VerifyAuthBlock/VerifyTransformsInfoProfileID</tt>
+ spezifizieren eine TrustProfileID und eine ID f&uuml;r
+ ein Transformationsprofil, die f&uuml;r den <tt>VerifyXMLSignatureRequest</tt>
+ zur &uuml;berpr&uuml;fung der Signatur des Auth-Blocks
+ verwendet werden m&uuml;ssen. Diese TrustProfileID muss
+ beim verwendeten MOA-SP Modul konfiguriert sein.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="moaid-konfiguration" />
+ <div id="AuthComponent" />
+ <div id="IdentityLinkSigners" />
+ <p id="block"> <b>AuthComponent/IdentityLinkSigners</b>
+ <br />
+ Dieses Element gibt an von welchen Signatoren die Signatur
+ des IdentityLink erstellt werden musste damit der IdentityLink
+ akzeptiert wird. F&uuml;r jeden Signator muss der <tt>X509SubjectName</tt>
+ nach RFC 2253 spezifiziert werden. <br />
+ <br />
+ <a href="examples/IdentityLinkSigners.txt">Beispiel</a>
+ <br /><br />
+ <b>Anmerkung:</b> Ab Version 1.4 ist dieses Element nicht mehr verpflichtend notwendig, da die
+ Berechtigung von Zertifikaten zum Signieren von Personenbindungen ab Februar
+ 2007 &uuml;ber die Zertifikatseigenschaft "Eigenschaft zur Ausstellung von Personenbindungen"
+ (OID: 1.2.40.0.10.1.7.1) gepr&uuml;ft wird.
+ Der Namens-Check des alten Zertifikats wird fix in MOA-ID integriert, sodass das
+ <tt>IdentityLinkSigners</tt>-Element in der Konfiguration &uuml;berfl&uuml;ssig wird.
+
+ <br />
+ </p>
+ <div id="VerifyInfoboxesAuth" />
+ <p id="block"> <b>AuthComponent/VerifyInfoboxes</b>
+ <br />
+ Ab Version 1.4 bietet MOA-ID die M&ouml;glichkeit einer erweiterten Infobox-Validierung,
+ das hei&szlig;t, es k&ouml;nnen neben der Personenbindung auch weitere ausgelesene Infoboxen
+ validiert werden. Die f&uuml;r die Validierung der Infoboxen notwendigen Parameter
+ k&ouml;nnen &uuml;ber die Konfigurationsdatei durch das <tt>VerifyInfoboxes</tt>
+ Element sowohl <a href="#VerifyInfoboxesAuth">global</a> als auch
+ <a href="#OnlineApplication/AuthComponent/VerifyInfoboxes">lokal</a>
+ je Online-Applikation gesetzt werden. MOA-ID &uuml;bergibt diese Parameter der
+ Applikation, die f&uuml;r die Verifikation des Inhaltes der jeweilgen von der BKU
+ &uuml;bermittelten Infobox verantwortlich ist. Im Folgenden wird eine derartige
+ Applikation als <tt>Pr&uuml;fapplikation</tt> bezeichnet.
+ <br />
+ Das <tt>Verifyinfoboxes</tt> Element ist optional und kann fehlen,
+ wenn keine Infoboxen au&szlig;er der der Personenbindung validiert werden m&uuml;ssen.
+ <br />
+ Das <tt>VerifyInfoboxes</tt>-Element hat folgende Kind-Elemente:
+ <ul>
+ <li id="DefaultTrustProfileVI"><tt>DefaultTrustProfile</tt>: Dieses optionale
+ Element kann nur einmal vorkommen und spezifiziert ein Trust-Profil, das
+ von einer <tt>Pr&uuml;fapplikation</tt> zur Validierung einer Infobox
+ herangezogen werden kann, wenn f&uuml;r diese Infobox kein eigenes
+ <a href="#TrustProfileVI">Trust-Profil</a> gesetzt wurde. Es hat genau ein
+ Kindelement namens <tt>TrustProfileID</tt>, das die ID eines in MOA-SP
+ konfigurierten Trust-Profiles enth&auml;lt.
+ <br />
+ <b>Anmerkung:</b> Das Trust-Profil f&uuml;r die
+ <a href="#trustProfile">Personenbindung</a> darf <b>nicht</b>
+ zur Validierung anderer Infoboxen verwendet werden. Das Trust-Profil f&uuml;r
+ die <a href="#trustProfile">B&uuml;rgerkarte</a> <b>soll</b> nur dann zur Validierung
+ anderer Infoboxen verwendet werden, wenn die zur Verifikation der Zertifikate ben&ouml;tigten
+ Wurzelzertifikate bereits im entsprechenden Trust-Store enthalten sind. (vgl.
+ MOA-ID Spezifikation, Abschnitt 4.6).
+ </li>
+ <li id="InfoboxVI"><tt>Infobox</tt>: Dieses Element kann beliebig oft vorkommen
+ und kapselt die Parameter, die f&uuml;r die Validierung einer Infobox an die
+ jeweilige Pr&uuml;fapplikation &uuml;bergeben werden.
+ <br />
+ Das <tt>Infobox</tt>-Element hat folgende Attribute:
+ <ul>
+ <li id="IdentifierVI"><tt>Identifier:</tt> Dieses Attribut muss vorhanden sein und gibt
+ den <tt>Namen</tt> der Infobox an. Er muss dabei exakt dem <tt>Bezeichner</tt>
+ der jeweiligen zu validierenden Infobox aus der BKU entsprechen, also
+ zum Beispiel <tt>Mandates</tt> f&uuml;r die <tt>Vollmachten</tt>-Infobox oder
+ <tt>EHSPToken</tt> f&uuml;r die <tt>GDAToken</tt>-Infobox.
+ <br />
+ </li>
+ <li id="requiredVI"><tt>required:</tt> Dieses Attribut vom Typ
+ <tt>boolean</tt> bestimmt, ob MOA-ID den Inhalt der entsprechenden Infobox
+ f&uuml;r die Anmeldung zwingend ben&ouml;tigt. Ist es auf <tt>true</tt>
+ gesetzt, und wird der entsprechende Infobox-Inhalt nicht von der BKU
+ &uuml;bermittelt, so bricht MOA-ID den Anmeldevorgang mit einer Fehlermeldung
+ ab.
+ <br />
+ Fehlt dieses Attribut, so wird als Defaultwert <tt>false</tt> gesetzt.
+ <br />
+ </li>
+ <li id="provideStammzahlVI"><tt>provideStammzahl:</tt> Dieses Attribut vom Typ
+ <tt>boolean</tt> bestimmt, ob die Pr&uuml;fapplikation die Stammzahl aus der
+ Personenbindung erhalten darf. Fehlt dieses Attribut, so wird als Defaultwert
+ <tt>false</tt> gesetzt.
+ <br />
+ <b>Anmerkung</b>: Das Attribut steht in keinem Zusammenhang zum gleichnamigen
+ Attribut <a href="#provideStammzahlOA">OnlineApplication/AuthComponent/@provideStammzahl</a>,
+ das angibt ob die Stammzahl an die <i>Online-Applikation</i> weitergegeben werden darf.
+ </li>
+ <li id="provideIdentityLinkVI"><tt>provideIdentityLink:</tt> Dieses Attribut vom Typ
+ <tt>boolean</tt> bestimmt, ob die Pr&uuml;fapplikation die Personenbindung erhalten
+ soll. Hat es den Wert <tt>true</tt>, so wird ein Klone des Wurzel-Elements der Personenbindung
+ an die Pr&uuml;fapplikation &uuml;bergeben, wobei zu beachten ist, dass die
+ darin enthaltene Stammzahl auf einen leeren String gesetzt wird, falls das
+ Attribut <a href="#provideStammzahlVI">provideStammzahl</a> auf <tt>false</tt>
+ gesetzt ist.
+ Fehlt das <tt>provideIdentityLink</tt>-Attribut, so wird als Defaultwert <tt>false</tt> gesetzt.
+ <br />
+ <b>Anmerkung 1</b>: Das Attribut steht in keinem Zusammenhang zum gleichnamigen
+ Attribut <a href="#provideIdentityLinkOA">OnlineApplication/AuthComponent/@provideIdentityLink</a>,
+ das angibt ob die <i>Online-Applikation</i> die Personenbindung erhalten
+ soll.
+ <br />
+ <b>Anmerkung 2</b>: Der Pr&uuml;fapplikation werden defaultm&auml;&szlig;ig der Vorname,
+ der Familienname, das Geburtsdatum, der Typ der Stammzahl, die Stammzahl
+ (konfigurierbar) und die &ouml;ffentlichen Schl&uuml;ssel aus der Personenbindung
+ &uuml;bergeben. Das Attribut <tt>provideIdentityLink</tt> sollte deshalb
+ wirklich nur dann auf <tt>true</tt> gesetzt werden, wenn von der
+ Pr&uuml;fapplikation noch andere Daten aus der Personenbindung ben&ouml;tigt
+ werden.
+ </li>
+ </ul>
+ Das <tt>Infobox</tt>-Element hat folgende Kind-Elemente:
+ <ul>
+ <li id="FriendlyNameVI"><tt>FriendlyName</tt>: Das Element ist optional und
+ enth&auml;lt einen Namen, der von MOA-ID zur Anzeige von, die jeweilige Infobox
+ betreffende, Fehlermeldungen im Browser verwendet wird. Im Regelfall wird man
+ hier den deutschen Namen der Infobox setzen, also z.B. <tt>Vollmachten</tt>
+ oder <tt>Stellvertretungen</tt> f&uuml;r die <tt>Mandates</tt>-Infobox oder
+ <tt>GDAToken</tt> f&uuml;r die <tt>EHSPToken</tt>-Infobox.
+ <br />
+ Fehlt dieses Element, so wird f&uuml;r Fehlermeldungen der Wert des
+ <a href="#IdentifierVI">Identifier</a>-Attributes verwendet.
+ </li>
+ <li id="TrustProfileVI"><tt>TrustProfileID</tt>: Das Element ist optional und
+ bezeichnet ein in MOA-SP konfiguriertes Trust-Profil, das von MOA-ID
+ f&uuml;r die Validierung der Infobox verwendet wird.
+ Dabei ist wieder zu beachten, dass das Trust-Profil f&uuml;r die
+ <a href="#trustProfile">Personenbindung</a> <b>nicht</b>
+ zur Validierung anderer Infoboxen verwendet werden darf, und das Trust-Profil f&uuml;r
+ die <a href="#trustProfile">B&uuml;rgerkarte</a> nur dann zur Validierung
+ anderer Infoboxen verwendet werden <b>soll</b>, wenn die zur Verifikation der
+ Zertifikate ben&ouml;tigten Wurzelzertifikate bereits im entsprechenden
+ Trust-Store enthalten sind. (vgl. MOA-ID Spezifikation, Abschnitt 4.6).
+ <br />Fehlt dieses Element, so wird das
+ <a href="#DefaultTrustProfileVI">Default-Trust-Profil</a>
+ verwendet. Ist dieses auch nicht konfiguriert, so wird f&uuml;r die
+ Validierung der entsprechenden Infobox keine Zertifikatspr&uuml;fung
+ notwendig sein.
+ </li>
+ <li id="ValidatorClassVI"><tt>ValidatorClass</tt>: Das Element ist optional
+ und bezeichnet den Namen der Klasse (voller Package-Name), die von MOA-ID
+ zur Validierung der Infobox geladen werden soll. Fehlt dieses Element,
+ so wird MOA-ID versuchen, eine Default-Klasse zu laden, deren Namen aus
+ dem <a href="#IdentifierVI">Identifier</a>-Attribut der Infobox abgeleitet
+ wird (vgl. MOA-ID-Spezifikation, Abschnitt 4.7.2.3,
+ <tt>Zuordnung eines InfoboxReadResponse zu einer implementierenden Klasse</tt>).
+ <br />
+ <b>Anmerkung</b>: Im Regelfall wird dieses Element fehlen, da bei der
+ Entwicklung einer Infobox-Pr&uuml;fapplikation der Default-Klassennamen
+ verwendet werden sollte. Nur wenn es verschiedene Pr&uuml;fapplikationen
+ f&uuml;r eine Infobox gibt, wird man das <tt>ValidatorClass</tt>
+ verwenden, um eine andere als die Default-Applikation zu laden.
+ </li>
+ <li id="SchemaLocationsVI"><tt>SchemaLocations</tt>: Das Element ist optional
+ und referenziert XML-Schemas, die von der Pr&uuml;fapplikation zum
+ validierenden Parsen von Infoboxen verwendet werden k&ouml;nnen. Das
+ Element hat beliebig viele <tt>Schema</tt>-Kindelemente, dessen Attribute
+ <tt>namespace</tt> und <tt>schemaLocation</tt> jeweils die Namespace-URI
+ und den Ort (URI) des entsprechenden Schemas bezeichnen. Relative URIs im
+ <tt>schemaLocation</tt>-Attribut sind dabei relativ zum Verzeichnis der
+ MOA-ID-Konfigurationsdatei zu interpretieren.
+ <br />
+ Beispiel:
+ <br />
+ <pre>
+ &lt;SchemaLocations&gt;
+ &lt;Schema namespace="http://ns1.ns1" schemaLocation="schemas/ns1.xsd"/&gt;
+ &lt;Schema namespace="http://ns2.ns2" schemaLocation="schemas/ns2.xsd"/&gt;
+ &lt;/SchemaLocations>
+ </pre>
+ Weitere M&ouml;glichkeiten zur &Uuml;bergabe von XML-Schemas an die
+ Pr&uuml;fapplikation k&ouml;nnen in der MOA-ID-Spezifikation im
+ Abschnitt 4.7.2, <tt>Erweiterte Infobox&uuml;berpr&uuml;fung</tt>, nachgelesen werden.
+ </li>
+ <li id="ApplicationSpecificParametersVI"><tt>ApplicationSpecificParameters</tt>:
+ Das Element ist optional und nimmt Infobox-kontext-spezifische Parameter
+ auf.
+ <br />
+ Da MOA-ID die zus&auml;tzlichen zur Personenbindung abgefragten Infoboxen
+ (bzw. deren Inhalte) nicht a priori kennt, ist es unm&ouml;glich vorherzusehen,
+ welche Parameter eine Pr&uuml;fapplikation zum Validieren einer Infobox
+ ben&ouml;tigt. Die Konfiguration sieht daher das Element
+ <tt>ApplicationSpecificParameters</tt> vor, um einer bestimmten
+ Pr&uuml;fapplikation kontext spezifische Parameter zu &uuml;bermitteln.
+ Dieses Element wird vollst&auml;ndig an die Pr&uuml;fapplikation
+ weitergegeben, und es obliegt der Pr&uuml;fapplikation die Kindelemente
+ des <tt>ApplicationSpecificParameters</tt>-Element zu extrahieren und zu
+ interpretieren.
+ <br />
+ Beispiel:
+ <br />
+ <pre>
+ &lt;ApplicationSpecificParameters&gt;
+ &lt;Parameter1&gt;content1&lt;/Parameter1&gt;
+ &lt;Parameter2&gt;content2&lt;/Parameter2&gt;
+ &lt;Parameter3&gt;
+ &lt;Parameter3a&gt;content3a&lt;/Parameter3a&gt;
+ &lt;Parameter3b&gt;content3b&lt;/Parameter3b&gt;
+ &lt;/Parameter3&gt;
+ &lt;/ApplicationSpecificParameters&gt;
+ </pre>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <br />
+ Eine Beispielkonfiguration finden sie am Ende das Abschnitts
+ <a href="#VerifyInfoboxesOA">OnlineApplication/AuthComponent/VerifyInfoboxes</a>.
+ <br />
+ <br />
+ </p>
+ </div>
+
+ <div id="ProxyComponent" />
+ <p id="block"> <b>ProxyComponent</b> <br />
+ <tt>ProxyComponent</tt> enth&auml;lt Parameter, die
+ nur die MOA-ID Proxykomponente betreffen. Das Element
+ ist optional und muss nicht verwendet werden, wenn auf
+ dem Server keine MOA-ID Proxykomponente installiert
+ wird. <br />
+ <br />
+ Das Element <tt>ProxyComponent</tt> hat nur das Kind-Element
+ <tt>AuthComponent</tt>, das die Verbindung zur Authentisierungs-komponente
+ beschreibt. <br />
+ <br />
+ Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente
+ &uuml;ber ein Webservice auf, dann muss das Element
+ <tt>ConnectionParameter</tt> spezifiziert werden. <br />
+ <br />
+ Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente
+ &uuml;ber das API auf, dann wird das Element <tt>ConnectionParameter</tt>
+ nicht spezifiziert. </p>
+ <div id="OnlineApplication" />
+ <p id="block"> <b>OnlineApplication</b> <br />
+ F&uuml;r jede Online-Applikation, die &uuml;ber MOA-ID
+ authentisiert wird, gibt es ein Element <tt>OnlineApplication</tt>.
+ Die Parameter betreffen teils die MOA-ID Authentisierungskomponente,
+ teils die MOA-ID Proxykomponente, teils beide. <br />
+ <br />
+ Das ab Version 1.3 optionale Attribut <tt>OnlineApplication/@type</tt>
+ spezifiziert den Typ der OnlineApplikation und kann
+ die Werte <tt>publicService</tt> f&uuml;r eine Applikation
+ aus dem &ouml;ffentlichen Bereich und <tt>businessService</tt>
+ f&uuml;r eine Anwendung aus dem privatwirtschaftlichen Bereich annehmen.
+ Ab Version 1.4 kann im Modus <tt>businessService</tt> ein zus&auml;tzliches
+ logisches Attribut <tt>OnlineApplication/@calculateHPI</tt> angegeben werden.
+ Dadurch wird im Falle von <tt>calculateHPI="true"</tt> im privatwirtschaftlichen
+ Bereich zur Identifikation der Health Professional Identifier HPI anstatt des wbPKs (siehe
+ <a href="#OnlineApplication/AuthComponent/IdentificationNumber">
+ OnlineApplication/AuthComponent/IdentificationNumber</a>) berechnet
+ und zur Anmeldung weiterverwendet.
+ Ist dieses Attribut nicht gesetzt, so wird der Typ <tt>publicService</tt>
+ vorausgesetzt. <br />
+ <br />
+ Das Attribut <tt>OnlineApplication/@publicURLPrefix</tt>
+ entspricht dem URL-Pr&auml;fix der nach au&szlig;en
+ sichtbaren Dom&auml;ne der Online-Applikation, welcher
+ von der MOA-ID Proxykomponente durch den URL-Pr&auml;fix
+ der wirklichen Dom&auml;ne (Attribut <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>)
+ ersetzt wird. Es dient als Schl&uuml;ssel zum Auffinden
+ der Konfigurationsparameter zur Online-Applikation.
+ </p>
+ <p id="block">Das Attribut <tt>OnlineApplication/@keyBoxIdentifier</tt>
+ gibt das Schl&uuml;sselpaar an, welches von der B&uuml;rgerkartenumgebung
+ zum Signieren des Auth Blocks verwendet wird. M&ouml;gliche
+ Werte: <tt>CertifiedKeypair </tt>sowie<tt> SecureSignatureKeypair.<br>
+ </tt><br />
+ Das Element <tt>OnlineApplication</tt> hat optional
+ zwei Kind-Elemente: <tt>AuthComponent</tt> und <tt>ProxyComponent</tt>.
+ </p>
+ <div id="OnlineApplication/AuthComponent" />
+ <p id="block"> <b>OnlineApplication/AuthComponent</b>
+ <br />
+ Das Element <tt>OnlineApplication/AuthComponent</tt>
+ muss verwendet werden wenn auf dem Server die Authentisierungskomponente
+ installiert wird. Es enth&auml;lt Parameter, die
+ das Verhalten der Authentisierungskomponente bez&uuml;glich
+ der Online-Applikation konfiguriert. <br />
+ <br />
+ Das optionale Attribut <tt>slVersion</tt> definiert die Version des
+ verwendeten SecurityLayer und damit den Namespace aller
+ Requests, die von MOA-ID an die B&uuml;rgerkartenumgebung
+ geschickt werden. Dieses Attribut kann entweder den Wert <tt>1.1</tt>
+ oder <tt>1.2</tt> annehmen. Fehlt das Attribut, so wird als
+ Defaultwert <tt>1.1</tt> gesetzt.
+ <br />Wurde als Typ der Online-Applikation
+ der Wert <tt>businessService</tt> (vgl. Attribut <tt>OnlineApplication/@type</tt>)
+ spezifiziert, so wird das Attribut <tt>slVersion</tt> ignoriert
+ und immer der Wert <tt>1.2</tt> verwendet, da die f&uuml;r
+ Applikationen aus dem privatwirtschaftlichen Bereich notwendige
+ Berechnung des <tt>wirtschaftsbereichsspezifischen Personenkennzeichens</tt>
+ (<tt>wbPK</tt>) erst ab SecurityLayer Version <tt>1.2</tt> m&ouml;glich ist.
+ <br /><br />
+ Das Attribut <tt id="provideStammzahlOA">provideStammzahl</tt> bestimmt,
+ ob die Stammzahl in den Anmeldedaten aufscheint
+ oder ob der Wert ausgeblendet (d.h. auf den Leerstring gesetzt)
+ wird. Die Attribute <tt>provideAUTHBlock</tt> und
+ <tt id="provideIdentityLinkOA">provideIdentityLink</tt> steuern, ob die
+ Anmeldedaten den Auth-Block bzw. die Personenbindung enthalten.
+ Ab Version 1.3 kann das Attribut <tt>provideCertificate</tt>
+ verwendet werden, um das Signatorzertifikat in die
+ Anmeldedaten aufzunehmen.
+ Alle Attribute sind optional und haben den Default-Wert
+ <tt>false</tt>.
+ <br />
+ <b>Anmerkung</b>: Das Attribut <tt>provideStammzahl</tt> steht in keinem
+ Zusammenhang zum gleichnamigen Attribut
+ <a href="#provideStammzahlVI">VerifyInfoboxes/@provideStammzahl</a>,
+ das angibt ob die Stammzahl an eine <i>Pr&uuml;fapplikation</i> weitergegeben
+ werden darf.
+ <b>Anmerkung</b>: Das Attribut <tt>provideIdentityLink</tt> steht in keinem
+ Zusammenhang zum gleichnamigen Attribut
+ <a href="#provideIdentityLinkVI">VerifyInfoboxes/@provideIdentityLink</a>,
+ das angibt ob die Personenbindung an eine <i>Pr&uuml;fapplikation</i>
+ weitergegeben werden soll.
+ <br />
+ <br />
+ </p>
+ <div id="OnlineApplication/AuthComponent/IdentificationNumber" />
+ <p id="block"> <b>OnlineApplication/AuthComponent/IdentificationNumber</b>
+ <br />
+ Das <tt>wirtschaftsbereichsspezifische Personenkennzeichen</tt> (<tt>wbPK</tt>)
+ wird aus der auf der B&uuml;rgerkarte gespeicherten Stammzahl des B&uuml;rgers
+ und der Stammzahl des Wirtschaftsunternehmens berechnet.
+ Laut <a href="http://reference.e-government.gv.at/E-Government-Gesetz.394.0.html" target="_new">E-Governmentgesetz</a>
+ darf die <i>Errechnung eines wbPK aus der Stammzahl nicht beim Auftraggeber eines
+ privaten Bereichs durchgef&uuml;hrt werden</i> (vgl. E-GovGesetz &sect;12(1).4), und muss deshalb
+ an die B&uuml;rgerkartenumgebung ausgelagert werden.
+ Das <tt>OnlineApplication/AuthComponent/IdentificationNumber</tt> Element
+ wird nun verwendet, um die Stammzahl des Wirtschaftsunternehmens zu spezifizieren,
+ welche in weiterer Folge von MOA-ID an die B&uuml;rgerkartenumgebung &uuml;bergeben
+ wird.<br /> Dieses Element muss bei privatwirtschaftlichen Applikationen
+ vorhanden sein und wird ignoriert, falls es im Kontext von Anwendungen aus
+ dem &ouml;ffentlichen Bereich verwendet wird. <br />
+ Das Element hat genau eines der folgenden m&ouml;glichen Kindelemente
+ aus dem <a href="http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20050214/" target="_new">PersonData</a>
+ Namespace, die als einzigen Inhalt die jeweilige Stammzahl des Unternehmens enthalten:
+ <ul>
+ <li>
+ Das Element <tt>pr:Firmenbuchnummer</tt> enth&auml;lt als einzigen Inhalt
+ die Firmenbuchnummer des Unternehmens.
+ </li>
+ <li>
+ Das Element <tt>pr:Vereinsnummer</tt> enth&auml;lt als einzigen Inhalt
+ die Vereinsregisternummer des Unternehmens.
+ </li>
+ <li>
+ Das Element <tt>pr:ERJPZahl</tt> enth&auml;lt als einzigen Inhalt eine
+ Zahl aus dem Erg&auml;nzungsregister f&uuml;r nicht-nat&uuml;rliche Personen (CorporateBody).
+ </li>
+ <li>
+ Das Element <tt>pr:ZMRzahl</tt> enth&auml;lt als einzigen Inhalt eine
+ Stammzahl einer nat&uuml;rlichen in &Ouml;sterreich meldepflichtigen Person.
+ </li>
+ </ul>
+
+ Die Stammzahl ist jeweils ohne Pr&auml;fix anzugeben, also wird zum Beispiel
+ die Firmenbuchnummer <tt>FN468924i</tt> folgenderma&szlig;en definiert:
+ <br /> <br />
+ <tt>&lt;pr:Firmenbuchnummer&gt;468924i&lt;/pr:Firmenbuchnummer&gt;</tt>
+ <br /><br />
+ Leerzeichen werden ignoriert und im Falle einer Firmenbuchnummer werden
+ f&uuml;hrende Nullen gel&ouml;scht und Bindestriche aus der Nummer entfernt.
+ <br /><br />
+ Beispiele:<br />
+ <blockquote>
+ <tt>468924 i</tt> wird zu <tt>468924i</tt><br />
+ <tt>00468924</tt> wird zu <tt>468924i</tt><br />
+ <tt>468924-i</tt> wird zu <tt>468924i</tt><br />
+ </blockquote>
+ Alternativ zu den oben angef&uuml;hrten Elementen aus dem
+ <a href="http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20050214/" target="_new">PersonData</a>
+ Namespace kann auch das Element <tt>AnyNumber</tt> verwendet werden, um
+ Stammzahlen zu spezifizieren, die nicht einer der vier oben aufgelisteten
+ Kategorien zugeordnet werden k&ouml;nnen.
+ <br></br>
+ Das Element <tt>AnyNumber</tt> hat genau ein Attribut namens <tt>Identifier</tt>,
+ das das Pr&auml;fix der jeweiligen Stammzahl ent&auml;lt. Der Inhalt des
+ Elements <tt>AnyNumber</tt> ist die Stammzahl selbst, wobei die selben Regeln
+ wie oben gelten.
+ <br></br>
+ Die Firmenbuchnummer aus obigem Beispiel k&ouml;nnte man nun beispielsweise mit Hilfe das Elements
+ <tt>AnyNumber</tt> auch folgenderma&szlig;en definieren:
+ <br></br>
+ <tt>&lt;AnyNumber Identifier="FN"&gt;468924i&lt;/AnyNumber&gt;</tt>
+ <br></br>
+ Es sei aber nochmals daraufhingewiesen, dass f&uuml;r Stammzahlen der
+ Kategorien <tt>Firmenbuchnummer</tt>, <tt>Vereinsnummer</tt>,
+ <tt>ERJPZahl</tt> und <tt>ZMRzahl</tt> die vordefinierten Elemente aus
+ dem <a href="http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20050214/" target="_new">PersonData</a>
+ Namespace verwendet werden sollen. Das Element <tt>AnyNumber</tt> wurde haupts&auml;chlich in
+ das Schema aufgenommen, um offen f&uuml;r m&ouml;gliche Erweiterungen zu sein.
+ </p>
+ <div id="OnlineApplication/AuthComponent/Templates" />
+ <p id="block"> <b>OnlineApplication/AuthComponent/Templates</b>
+ <br />
+ Dieses Kindelement kann genau einmal vorkommen und entspricht in seiner Struktur dem
+ Element <a href="#AuthTemplates" target="_new">AuthComponent/Templates</a>.
+ Es kann verwendet werden, um Templates zur Gestaltung der Seiten
+ &quot;Auswahl der B&uuml;rgerkartenumgebung&quot; sowie
+ &quot;Anmeldung mit B&uuml;rgerkarte&quot; individuell f&uuml;r
+ eine Online-Applikation zu definieren. Die hier definierten Templates haben
+ Priorit&auml;t gegen&uuml;ber globalen Templates und Templates, die
+ in der aufrufenden URL &uuml;bergeben werden.
+ </p>
+ </div>
+
+ <div id="OnlineApplication/AuthComponent/TransformsInfo" />
+ <p id="block"> <b>OnlineApplication/AuthComponent/TransformsInfo</b>
+ <br />
+ Dieses Kindelement kann mehrfach vorkommen und entspricht in seiner Struktur
+ dem Element <tt>AuthComponent/SecurityLayer/TransformsInfo</tt>.
+ Das Element kann verwendet werden, um f&uuml;r unterschiedliche
+ Online-Applikationen unterschiedliche Transformationen zu spezifizieren.
+ Alle &uuml;ber dieses Element definierten Transformationen haben
+ Vorrang gegen&uuml;ber die durch <tt>AuthComponent/SecurityLayer/TransformsInfo</tt>
+ angegebenen Transformationen. Das hei&szlig;t, ist f&uuml;r eine
+ Online-Applikation das Kindelement <tt>AuthComponent/TransformsInfo</tt>
+ vorhanden, so wird f&uuml;r diese Applikation die durch dieses Element
+ spezifizierte Transformation verwendet (das Element kann nat&uuml;rlich
+ mehrfach vorkommen, wodurch mehrere Transformationen bezeichnet werden).
+ F&uuml;r alle Applkikationen, die kein Kindelement vom Typ
+ <tt>AuthComponent/TransformsInfo</tt> enthalten, werden die unter
+ <tt>AuthComponent/SecurityLayer/TransformsInfo</tt> spezifizierten
+ &quot;Default-Transformationen&quot; verwendet. <br />
+ Dabei ist zu beachten, dass f&uuml;r jede definierte Transformation
+ ein entsprechendes <tt>MOA-SP/VerifyAuthBlock/VerifyTransformsInfoProfileID</tt>
+ Element vorhanden sein muss.</p>
+ </p>
+ </div>
+ <div id="VerifyInfoboxesOA" >
+ <p id="block"> <b>OnlineApplication/AuthComponent/VerifyInfoboxes</b>
+ <br />
+ Dieses optionale Element entspricht dem <a href="#VerifyInfoboxesAuth">VerifyInfoboxes</a>-Element
+ aus der globalen AUTH-Komponente und &uuml;berschreibt teilweise die
+ dort gesetzten Werte f&uuml;r die jeweilige Infobox pro Online-Applikation.
+ Dabei gelten die folgenden Regeln:
+ <br />
+ Ist nur das globale <a href="#VerifyInfoboxesAuth">VerifyInfoboxes</a>-Element
+ vorhanden, so gelten die dort definierten Parameter f&uuml;r <b>alle</b>
+ Online-Applikationen. Ist kein globales Element vorhanden, so kann
+ MOA-ID f&uuml;r alle Online-Applikation, in deren AUTH-Komponente
+ ein <tt>VerifyInfoboxes</tt>-Element enthalten ist, die darin
+ definierten Infoboxen &uuml;berpr&uuml;fen. F&uuml;r
+ Online-Applikationen, in deren AUTH-Komponente kein
+ <tt>VerifyInfoboxes</tt>-Element gesetzt ist, kann demnach keine
+ andere Infobox als die der Personenbindung validiert werden.
+ <br />
+ Sind sowohl global (<tt>MOA-IDConfiguration/AuthComponent/VerifyInfoboxes</tt>)
+ als auch lokal (<tt>OnlineApplication/AuthComponent/VerifyInfoboxes</tt>)
+ in den Online-Applikationen Infobox-Validatoren konfiguriert, so verarbeitet
+ MOA-ID die darin enthaltenen Parameter wie folgt:
+ <ul>
+ <li id="DefaultTrustProfileOA"><tt>DefaultTrustProfile</tt>: Ein lokal
+ definiertes Default-Trust-Profil hat sowohl Vorrang gegen&uuml;ber einem
+ global gesetzten <a href="#DefaultTrustProfileVI">Default-Trust-Profil</a>
+ als auch gegen&uuml;ber einem global gesetzen
+ <a href="#TrustProfileVI">infobox-spezifischen</a> Trustprofil. Ist
+ beispielsweise im globalen <tt>VerifyInfoboxes</tt>-Element zwar kein
+ Default-Trust-Profil, aber f&uuml;r die Infobox A ein eigenes Trust-Profil
+ definiert, so wird ein lokal definiertes Default-Trust-Profil dem global
+ f&uuml;r die Infobox A gesetzten Trust-Profil vorgezogen.
+ </li>
+ <li id="InfoboxOA"><tt>Infobox</tt>: MOA-ID kann die Vereinigung aus den
+ global und lokal konfigurierten Infoboxen f&uuml;r eine Online-Applikation
+ validieren. Sind beispielsweise global Pr&uuml;fapplikationen
+ f&uuml;r die Infoboxen mit den Bezeichnern
+ (<a href="#IdentifierVI">Infobox/@Identifier</a>-Attribut) <tt>A</tt>
+ und <tt>B</tt> konfiguriert, und lokal f&uuml;r die Online-Applikation
+ <tt>OA1</tt> die Infoboxen <tt>B</tt>, <tt>C</tt> und <tt>D</tt>, so
+ kann MOA-ID f&uuml;r die Online-Applikation <tt>OA1</tt> die
+ Infoboxen <tt>A</tt>, <tt>B</tt>, <tt>C</tt> und <tt>D</tt> validieren.
+ F&uuml;r die Infobox <tt>A</tt> werden dabei die Parameter aus der
+ globalen Konfiguration verwendet und f&uuml;r die Infoboxen
+ <tt>C</tt> und <tt>D</tt> die lokalen Parameter. F&uuml;r die Infobox
+ <tt>B</tt> sind sowohl globale als auch lokale Parameter vorhanden,
+ die von MOA-ID wie folgt interpretiert werden:
+ <ul>
+ <li>Attribute:
+ Die Attribute <a href="#requiredVI">required</a>,
+ <a href="#provideStammzahlVI">provideStammzahl</a> und
+ <a href="#provideIdentityLinkVI">provideIdentityLink</a> <b><i>&uuml;berschreiben</i></b>
+ die global gesetzten Werte. Dabei ist zu beachten, das ein Fehlen dieser
+ Attribute bedeutet, dass ihnen &uuml;ber das Schema der Defaultwert
+ <tt>false</tt> zugewiesen wird. Ist also beispielsweise f&uuml;r die
+ Infobox mit dem Bezeichner <tt>B</tt> das <tt>required</tt>-Attribut
+ global auf <tt>true</tt> gesetzt (&lt;Infobox Identifier="B" required="true"&gt;)
+ und fehlt dieses Attribut lokal in der Online-Applikation <tt>OA1</tt>
+ (&lt;Infobox Identifier="B"&gt;), so hat das <tt>required</tt>-Attribut
+ f&uuml;r die Infobox <tt>B</tt> den Wert <tt>false</tt>.
+ <br />
+ Die Attribute <a href="#requiredVI">required</a>,
+ <a href="#provideStammzahlVI">provideStammzahl</a> und
+ <a href="#provideIdentityLinkVI">provideIdentityLink</a> m&uuml;ssen also
+ f&uuml;r Infoboxen, die sowohl global als auch lokal konfiguriert sind,
+ in jeder lokalen Konfiguration neu gesetzt werden, wenn ihnen der Wert
+ <tt>true</tt> zugwiesen werden sollen.
+ </li>
+ <li>Kind-Elemente:
+ <ul>
+ <li id="FriendlyNameOA"><a href="#FriendlyNameVI">FriendlyName</a>:
+ Ein lokal gesetzter <tt>FriendlyName</tt> wird einem global
+ gesetzten vorgezogen. Ist sowohl lokal als auch global kein
+ <tt>FriendlyName</tt> definiert, so wird das
+ <a href="#IdentifierVI">Identifier</a>-Attribut als <tt>FriendlyName</tt>
+ verwendet.
+ <br />
+ </li>
+ <li id="TrustProfileOA"><a href="#TrustProfileVI">TrustProfileID</a>:
+ Ein lokal definiertes Trust-Profil wird einem lokal definierten
+ Default-Trust-Profil vorgezogen. Sind lokal sowohl kein
+ Default-Trust-Profil als auch kein infobox-spezifisches Trust-Profil
+ definiert, so wird das global gesetzte infobox-spezifisches Trust-Profil
+ verwendet. Fehlt auch dieses, so wird das globale Default-Trust-Profil
+ selektiert. Ist weder lokal als auch lokal ein Trust-Profil
+ definiert, so wird f&uuml;r f&uuml;r die Validierung dieser
+ Infobox kein Trust-Profil ben&ouml;tigt.
+ </li>
+ <li id="ValidatorClassOA"><a href="#ValidatorClassVI">ValidatorClass</a>:
+ Eine lokal gesetzte Validator-Klasse wird einer global gesetzten
+ vorgezogen. Ist sowohl lokal als auch global f&uuml;r eine Infobox
+ keine Validator-Klasse konfiguriert, so wird die Default-Klasse
+ geladen (siehe <a href="#ValidatorClassVI">ValidatorClass</a>).
+ </li>
+ <li id="SchemaLocationsOA"><a href=#SchemaLocations">SchemaLocations</a>:
+ Lokal definierte Schemas werden global definierten vorgezogen.
+ Sind lokal keine Schemas konfiguriert, so werden die globalen verwendet,
+ so sie vorhanden sind.
+ </li>
+ <li id="ApplicationSpecificParametersOA">
+ <a href="#ApplicationSpecificParameters">ApplicationSpecificParameters</a>:
+ Lokal definierte applikationsspezifische Paramter werden global
+ definierten vorgezogen. Sind lokal keine derartigen Paramter
+ konfiguriert, so werden die globalen verwendet, so sie vorhanden
+ sind.
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <br />
+ <b id="VerifyInfoboxesSample">Beispiel</b>: In der Konfigurationsdatei
+ <a href="examples/SampleMOAIDVerifyInfoboxesConfiguration.xml" target="_new">
+ SampleMOAIDVerifyInfoboxesConfiguration.xml</a> sind global
+ (<tt>MOA-IDConfiguration/AuthComponent/VerifyInfoboxes</tt>)
+ Pr&uuml;fapplikationen f&uuml;r die beiden Infoboxen mit den Bezeichnern
+ <tt>InfoboxA</tt> und <tt>InfoboxB</tt> konfiguriert.
+ <tt>InfoboxA</tt> demonstriert in diesem Beispiel die minimale Konfiguration
+ einer Pr&uuml;fapplikation - es ist nur der Identifier angegeben. MOA-ID
+ wird in diesem Fall versuchen, die Default-Validatorklasse
+ <tt>at.gv.egovernment.moa.id.auth.validator.infoboxa.InfoboxAValidator</tt>
+ zu laden (siehe dazu auch MOA-ID-Spezifikation, Abschnitt 4.7.2.3,
+ <tt>Zuordnung eines InfoboxReadResponse zu einer implementierenden Klasse</tt>).
+ Da ein Default-Trust-Profil (<tt>GlobalVIDefaultTrust</tt>) konfiguriert ist,
+ wird MOA-ID dieses Profil zur Verifikation von Zertifikaten heranziehen.
+ Da kein <tt>FriendlyName</tt> gesetzt ist, wird das <tt>Identifier</tt> Attibut
+ (<tt>InfoboxA</tt>) als <tt>FriendlyName</tt> verwendet. Weitere Parameter
+ sind f&uuml;r die Verifikation dieser Infobox nicht erforderlich.
+ <br />
+ Die Pr&uuml;fapplikation f&uuml;r die <tt>InfoboxB</tt> setzt nahezu alle
+ m&ouml;glichen Paramter mit Ausnahme der Validator-Klasse. MOA-ID wird
+ zur Verifikation dieser Infobox also auch die daf&uuml;r zust&auml;dige Default-Klasse
+ (<tt>at.gv.egovernment.moa.id.auth.validator.infoboxb.InfoboxBValidator</tt>)
+ laden, und alle konfigurierten Parameter an diese Klasse &uuml;bergeben.
+ <br />
+ In die Konfigurationsdatei sind drei Online-Applikationen mit den
+ public URL-Prefixen <tt>https://OA1/</tt>, <tt>https://OA2/</tt> und
+ <tt>https://OA3/</tt> eingetragen.
+ Online-Applikation <tt>OA1</tt> konfiguriert Pr&uuml;fapplikationen f&uuml;r
+ die drei Infoboxen <tt>InfoboxB</tt>, <tt>InfoboxC</tt> und
+ <tt>InfoboxD</tt>. Das hei&szlig;t, MOA-ID kann f&uuml;r die Online-Applikation
+ <tt>OA1</tt> insgesamt vier Infoboxen &uuml;berpr&uuml;fen: die
+ Paramter f&uuml;r die Infobox <tt>InfoboxA</tt> werden
+ von der entsprechenden global konfigurierten Pr&uuml;applikation
+ &uuml;bernommen. Die Infoboxen <tt>InfoboxC</tt> und
+ <tt>InfoboxD</tt> sind nur lokal gesetzt. F&uuml;r <tt>InfoboxB</tt>
+ &uuml;bernimmt MOA-ID die applikationsspezifischen Parameter aus der
+ entsprechenden global konfigurierten Infobox und &uuml;berschreibt
+ alle weiteren Parameter mit den lokalen Werten. Als Trust-Profil wird
+ das lokale Deafult-Trust-Profil (<tt>LocalOA1DefaultTrust</tt>) genommen -
+ dieses hat Vorrang gegen&uuml;ber den global gesetzten Profilen. Weiters
+ ist zu beachten, dass die Attribute <tt>provideStammzahl</tt> und
+ <tt>provideIdentityLink</tt> lokal nicht gesetzt sind, und daher den
+ Deafult-Wert <tt>false</tt> einnehmen.
+ <br />
+ Das <tt>VerifyInfoboxes</tt>-Element in der AUTH-Komponente der zweiten
+ Online-Applikation (<tt>OA2</tt>) spezifiziert keine anderen Pr&uuml;fapplikationen
+ als die global definierten, &uuml;berschreibt aber f&uuml;r beide Infoboxen
+ teilweise die global gesetzten Parameter. <tt>InfoboxA</tt> verwendet
+ ein lokal definiertes Trust-Profil (<tt>LocalInfoboxOA2ATrust</tt>),
+ <tt>InfoboxB</tt> &uuml;bernimmt
+ alle globalen Parameter, setzt aber f&uuml;r die Attribute <tt>required</tt>,
+ <tt>provideStammzahl</tt> und <tt>provideIdentityLink</tt> jeweils den
+ Defaultwert <tt>false</tt>.
+ <br />
+ Die dritte Online-Applikation <tt>OA3</tt> enth&auml;lt in Ihrer AUTH-Komponente
+ kein <tt>VerifyInfoboxes</tt>-Element. MOA-ID &uuml;bernimmt daher f&uuml;r
+ diese Online-Applikation die global konfigurierten Infobox-Pr&uuml;applikationen
+ (<tt>InfoboxA</tt> und <tt>InfoboxB</tt>) mit allen Paramertern genauso wie
+ sie dort gesetzt sind. Zu beachten ist hier, dass das in der AUTH-Komponente
+ auf <tt>true</tt> gesetzte Attribut <tt>proviedStammzahl</tt> die
+ Online-Applikation und <b><i>nicht</i></b> die Pr&uuml;applikation
+ betrifft.
+ <br />
+ </p>
+ </div>
+ </p>
+ </div>
+ <div id="OnlineApplication/ProxyComponent" />
+ <p id="block"> <b>OnlineApplication/ProxyComponent</b>
+ <br />
+ Das Element <tt>OnlineApplication/ProxyComponent</tt>
+ muss verwendet werden wenn auf dem Server die
+ Proxykomponente installiert wird. <br />
+ <br />
+ Das optionale Attribut <tt>configFileURL</tt>
+ verweist auf eine Konfigurationsdatei die dem Schema
+ <a href="../MOA-ID-Configuration-1.4.xsd" target="_new">MOA-ID-Configuration-1.4.xsd</a>
+ entspricht mit Dokument-Element <tt>Configuration</tt>.
+ Die Angabe erfolgt relativ zur verwendeten MOA-ID
+ Konfigurationsdatei. Beispiel f&uuml;r das Element
+ <tt>configFileURL</tt>: &quot;oa/SampleOAConfiguration.xml&quot;.<br />
+ Defaultm&auml;&szlig;ig wird versucht die Datei
+ von der betreffenden OnlineApplikation unter dem
+ Wert: <tt>http://&lt;realURLPrefix&gt;/MOAConfig.xml</tt>
+ zu laden.<br/>
+ (<tt>&lt;realURLPrefix&gt;</tt> entspricht dem
+ Wert von <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>)
+ <br />
+ <br />
+ Das optionale Attribut <tt>sessionTimeOut</tt>
+ legt das Timeout einer Benutzersession in der
+ Proxykomponente in Sekunden fest.<br />
+ Default-Wert: 3600 <br />
+ <br />
+ Im optionalen Attribut <tt>loginParameterResolverImpl</tt>
+ kann der Klassenname eines zu verwendenden <tt>LoginParameterResolver</tt>
+ angegeben werden, welcher die Defaultimplementierung
+ ersetzt. <br />
+ </p>
+ <p id="block">Im optionalen Attribut <tt>loginParameterResolverConfiguration
+ </tt>kann ein Configurationsstring f&uuml;r die
+ Initialisierung der betreffenden <tt>loginParameterResolverImpl</tt>
+ angegeben werden.<br>
+ <br />
+ Im optionalen Attribut <tt>connectionBuilderImpl</tt>
+ kann der Klassenname eines zu verwendenden ConnectionBuilder
+ angegeben werden, welcher die Defaultimplementierung
+ ersetzt. <br />
+ <br />
+ Im Kind-Element <tt>ConnectionParameter</tt> ist
+ konfiguriert, wie MOA-ID-PROXY zur Online-Applikation
+ verbindet. </p>
+ <div id="ChainingModes" />
+ <p id="block"> <b>ChainingModes</b><br />
+ Das Element <tt>ChainingModes</tt> definiert,
+ ob bei der Zertifikatspfad-&uuml;berpr&uuml;fung
+ das Kettenmodell (<tt>"chaining"</tt>) oder
+ das Modell nach PKIX RFC 3280 (<tt>"pkix"</tt>)
+ verwendet werden soll. <br />
+ <br />
+ Das Attribut <tt>systemDefaultMode</tt> spezifiziert
+ das Modell, das im Standardfall verwendet werden
+ soll. <br/>
+ <br/>
+ Mit dem Kind-Element <tt>TrustAnchor</tt> kann
+ f&uuml;r jeden Trust Anchor ein abweichendes
+ Modell spezifiziert werden. Ein Trust Anchor
+ ist ein Zertifikat, das in <tt>TrustedCACertificates</tt>
+ spezifiziert ist. Ein Trust Anchor wird durch
+ den Typ <tt>&lt;dsig:X509IssuerSerialType&gt;</tt>
+ spezifiziert. Das f&uuml;r diesen Trust Anchor
+ g&uuml;ltige Modell wird durch das Attribut
+ <tt>mode</tt> spezifiziert. <br/>
+ <br/>
+ G&uuml;ltige Werte f&uuml;r die Attribute <tt>systemDefaultMode</tt>
+ und <tt>mode</tt> sind <tt>"chaining"</tt> und
+ <tt>"pkix"</tt>. <br/>
+ <br/>
+ <a href="examples/ChainingModes.txt">Beispiel</a>
+ </p>
+ <div id="TrustedCACertificates" />
+ <p id="block"> <b>TrustedCACertificates</b><br />
+ Das Element <tt>TrustedCACertificates</tt>
+ enth&auml;lt das Verzeichnis (relativ zur
+ MOA-ID Konfigurationsdatei), das jene Zertifikate
+ enth&auml;lt, die als vertrauensw&uuml;rdig
+ betrachtet werden. Im Zuge der &Uuml;berpr&uuml;fung
+ der TLS-Serverzertifikate wird die Zertifikatspfaderstellung
+ an einem dieser Zertifikate beendet. </p>
+ <div id="GenericConfiguration" />
+ <p id="block"> <b>GenericConfiguration</b><br />
+ Das Element <tt>GenericConfiguration</tt>
+ erm&ouml;glicht das Setzen von Namen-Werte
+ Paaren mittels der Attribute <tt>name</tt>
+ und <tt>value</tt>. Die folgende Liste spezifiziert
+ <ul>
+ <li>g&uuml;ltige Werte f&uuml;r das name-Attribut,
+ </li>
+ <li>eine Beschreibung </li>
+ <li>g&uuml;ltige Werte f&uuml;r das value-Attribut
+ und (falls vorhanden)</li>
+ <li>den Default-Wert f&uuml;r das value-Attribut.
+ </li>
+ </ul>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="DirectoryCertStoreParameters.RootDir">
+ <th align="left">name: DirectoryCertStoreParameters.RootDir</th>
+ </tr>
+ <tr>
+ <td id="info"> Gibt den Pfadnamen zu einem
+ Verzeichnis an, das als Zertifikatsspeicher
+ im Zuge der TLS-Server-Zertifikats&uuml;berpr&uuml;fung
+ verwendet wird.<br />
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: Name eines g&uuml;ltigen
+ Verzeichnisses (relativ zur MOA-ID Konfigurationsdatei)<br />
+ <b>Dieser Parameter muss angegeben werden.</b>
+ </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="AuthenticationSession.TimeOut">
+ <th align="left">name: AuthenticationSession.TimeOut</th>
+ </tr>
+ <tr>
+ <td id="info"> Gibt die Zeitspanne in
+ Sekunden vom Beginn der Authentisierung
+ bis zum Anlegen der Anmeldedaten an.
+ Wird die Angegebene Zeitspanne &uuml;berschritten
+ wird der Anmeldevorgang abgebrochen.
+ <br />
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: positive Ganzzahlen
+ <br />
+ Default-Wert: 120 </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="AuthenticationData.TimeOut">
+ <th align="left">name: AuthenticationData.TimeOut</th>
+ </tr>
+ <tr>
+ <td id="info"> Gibt die Zeitspanne in
+ Sekunden an, f&uuml;r die die Anmeldedaten
+ in der Authentisierungskomponente zum
+ Abholen durch die Proxykomponente oder
+ eine nachfolgende Applikation bereitstehen.
+ Nach Ablauf dieser Zeitspanne werden
+ die Anmeldedaten gel&ouml;scht.<br />
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: positive Ganzzahlen<br />
+ Default-Wert: 600 </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="TrustManager.RevocationChecking">
+ <th align="left">name: TrustManager.RevocationChecking</th>
+ </tr>
+ <tr>
+ <td id="info"> F&uuml;r die TLS-Server-Authentisierung
+ d&uuml;rfen nur Server-Zertifikate verwendet
+ werden, die eine CRLDP-Extension enthalten
+ (andernfalls kann von MOA-ID keine CRL-&uuml;berpr&uuml;fung
+ durchgef&uuml;hrt werden). <br />
+ Soll das RevocationChecking generell
+ ausgeschaltet werden, ist dieses Attribut
+ anzugeben und auf "false" zu setzen.
+ <br />
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: true, false<br />
+ Default-Wert: true </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="TrustManager.RevocationChecking">
+ <th align="left">name: FrontendServlets.EnableHTTPConnection</th>
+ </tr>
+ <tr>
+ <td id="info">
+ <p>Standardm&auml;&szlig;ig k&ouml;nnen
+ die beiden Servlets &quot;StartAuthentication&quot;
+ und &quot;SelectBKU&quot; welche das
+ User-Frontend darstellen, aus Sicherheitsgr&uuml;nden,
+ nur &uuml;ber das Schema HTTPS aufgerufen
+ werden. </p>
+ <p>Wenn die beiden Servlets jedoch auch
+ Verbindungen nach dem Schema HTTP
+ entgegennehmen sollen, so kann mittels
+ dem Attribut &quot;EnableHTTPServletConnection&quot;
+ erlaubt werden.</p>
+ <p>Hinweis: Sicher und sinnvoll ist
+ das Erlauben der HTTP Verbindung nur
+ dann, wenn ein Vorgeschalteter Webserver
+ das HTTPS handling &uuml;bernimmt,
+ und eine Verbindung zu den Servlets
+ nur &uuml;ber diesen Webserver m&ouml;glich
+ ist.</p>
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: true, false<br />
+ Default-Wert: false</td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="3" cellpadding="2">
+ <tr id="TrustManager.RevocationChecking">
+ <th align="left"><a name="DataURLPrefix"></a>name:
+ FrontendServlets.DataURLPrefix</th>
+ </tr>
+ <tr>
+ <td id="info">
+ <p>Standardm&auml;&szlig;ig wird als
+ DataURL Prefix das URL Pr&auml;fix
+ unter dem die MOA-ID Servlets erreichbar
+ sind verwendet. Im Falle das sich
+ der MOA-ID Server hinter einer Firewall
+ befindet und die Requests von einem
+ vorgelagertem Webserver weitergereicht
+ werden, kann mit FrontendServlets.DataURLPrefix
+ ein alternatives URL Pr&auml;fix angegeben
+ werden. In diesem Fall muss der Webserver
+ so konfiguriert sein, dass er Request
+ auf diese URLs an den MOA-ID Server
+ weiterleitet.</p>
+ <hr />
+ <b>value: </b><br />
+ G&uuml;ltige Werte: URLs nach dem Schema
+ 'http://' und 'https://'<br />
+ Default-Wert: kein Default-Wert<br>
+ Beispiel: &lt;GenericConfiguration name=&quot;FrontendServlets.DataURLPrefix&quot;
+ value=&quot;https://&lt;your_webserver&gt;/moa-id-auth/&quot;/&gt;</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </td>
+ </tr></table>
+
+
+<br /><br />
+<div id="oa-config" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration der Online-Applikation</p>
+<div id="block">
+Die Konfiguration der OA beschreibt die Art und Weise, wie die Proxykomponente die Anmeldung an der Online-Applikation
+durchf&uuml;hrt.
+<br /><br />
+Der Name der Konfigurationsdatei wird in der Konfiguration von MOA-ID als Wert des Attributs
+<tt>configFileURL</tt> des Elements <tt>MOA-IDConfiguration/OnlineApplication/ProxyComponent</tt> hinterlegt.
+<br/>Ist dieses Attribut nicht gesetzt, dann wird die Datei von <tt>http://&lt;realURLPrefix&gt;/MOAConfig.xml</tt> geladen,
+wobei <tt>&lt;realURLPrefix&gt;</tt> dem Konfigurationswert <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt> entspricht.
+<br /><br />
+Die Konfigurationsdatei ist eine XML-Datei, die dem Schema
+<a href="../MOA-ID-Configuration-1.4.xsd" target="_new">MOA-ID-Configuration-1.4.xsd</a> mit dem Wurzelelement
+<tt>Configuration</tt> entspricht.
+</div>
+
+<div id="LoginType" />
+<p id="block">
+<b>LoginType</b><br />
+Das Element <tt>LoginType</tt> gibt an, ob die Online-Applikation ein einmaliges Login erwartet (<tt>stateful</tt>),
+oder ob die Login-Parameter bei jedem Request mitgegeben werden m&uuml;ssen (<tt>stateless</tt>). Im Fall einer stateful
+Online-Applikation werden die in der HTTP-Session der Proxykomponente gespeicherten Anmeldedaten nur f&uuml;r den Aufruf
+des Login-Scripts verwendet. Unmittelbar nach dem Aufruf werden sie gel&ouml;scht.
+<br />
+Default-Wert: <tt>stateful</tt>
+</p>
+</div>
+
+<div id="ParamAuth" />
+<p id="block">
+<b>ParamAuth</b><br />
+Konfiguriert die &uuml;bergabe der Authentisierungs-Parameter an die Online-Applikation mittels URL-Parametern. Das Element
+kann ein oder mehrere Kind-Elemente <tt>&lt;Parameter&gt;</tt> beinhalten.
+</p>
+</div>
+
+<div id="Parameter" />
+<p id="block">
+<b>ParamAuth/Parameter</b><br />
+Das Element <tt>&lt;Paramter&gt;</tt> enth&auml;lt die Attribute <tt>Name</tt> und <tt>Value</tt>.
+<br /><br />
+Das Attribut <tt>Name</tt> beschreibt den Namen des Parameters und ist ein frei zu w&auml;hlender String.
+<br /><br />
+Das Attribut <tt>Value</tt> beschreibt den Inhalt des Parameters und kann einen der durch <tt>MOAAuthDataType</tt> beschriebenen
+Werte annehmen. G&uuml;ltige Werte von <tt>MOAAuthDataType</tt> sind:
+<ul>
+<li><tt>MOAGivenName</tt> - der Vorname des Benutzers, wie in der Personenbindung enthalten
+<li><tt>MOAFamilyName</tt> - der Nachname des Benutzers, wie in der Personenbindung enthalten
+<li><tt>MOADateOfBirth</tt> - das Geburtsdatum des Benutzers, wie in der Personenbindung enthalten
+<li><tt>MOABPK</tt> - die bereichsspezifische Personenkennzeichnung des Benutzers, wie von der
+Authentisierungskomponente berechnet
+<li><tt>MOAWBPK</tt> - das wirtschaftsbereichsspezifische Personenkennzeichen des Benutzers, wie von der
+B&uuml;gerkartenumgebung berechnet
+<li><tt>MOAPublicAuthority</tt> - wird durch <tt>true</tt> ersetzt, falls der Benutzer mit einem Zertifikat signierte,
+welches eine <a href="../OID-1-0-3.pdf">Beh&ouml;rdenerweiterung</a> beinhaltet. Andernfalls wird <tt>false</tt> gesetzt
+<li><tt>MOABKZ</tt> - das Beh&ouml;rdenkennzeichen (nur sinnvoll, wenn <tt>MOAPublicAuthority</tt> den Wert <tt>true</tt>
+ergibt)
+<li><tt>MOAQualifiedCertificate</tt> - wird durch <tt>true</tt> ersetzt, falls das Zertifikat des Benutzers
+qualifiziert ist, andernfalls wird <tt>false</tt> gesetzt
+<li><tt>MOAStammzahl</tt> - die Stammzahl des Benutzers; diese ist nur dann verf&uuml;gbar, wenn die Online-Applikation
+die Stammzahl bekommen darf (und daher in der Personenbindung enthalten ist)
+<li><tt>MOAIPAddress</tt> - IP-Adresse des Client des Benutzers.
+</ul>
+
+Anhand der <tt>&lt;Parameter&gt;</tt>-Elemente wird der Request f&uuml;r den Login-Vorgang (f&uuml;r stateful Online-Applikationen)
+folgenderma&szlig;en zusammenge-stellt:<br />
+<blockquote>
+<code>GET https://&lt;login-url&gt;?<br />
+&nbsp;&nbsp;&lt;p1.name=p1.resolvedValue&gt;&<br />
+&nbsp;&nbsp;&lt;p2.name=p2.resolvedValue&gt;...</code>
+</blockquote>
+<p id="block">
+Die <tt>&lt;login-url&gt;</tt> ergibt sich aus dem Parameter OA des <a href="id-anwendung_1.htm">Aufrufs von MOA-ID-AUTH</a>,
+zusammen mit der Konfiguration von <tt>OnlineApplication/@publicURLPrefix</tt> und von <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>.
+<br/>Der Wert <tt>resolvedValue</tt> wird in MOA-ID-PROXY je nach Wert des Platzhalters eingesetzt.
+</p>
+<tt></tt></div><tt></tt>
+<div id="BasicAuth" />
+<p id="block">
+<b>BasicAuth</b><br />
+Das Element <tt>BasicAuth</tt> konfiguriert die &uuml;bergabe der Authentisierungs-Parameter an die Online-Appliktion
+mittels HTTP Basic Authentication. Es enth&auml;lt zwei Kind-Elemente.
+<br /><br />
+Das Element <tt>UserID</tt> gibt die UserId des zu authentisierenden Benutzers an und kann einen der durch
+<tt>MOAAuthDataType</tt> beschriebenen Werte annehmen.
+<br /><br />
+Das Element <tt>Password</tt> gibt das Passwort des zu authentisierenden Benutzers an und kann einen der durch
+<tt>MOAAuthDataType</tt> beschriebenen Werte annehmen.
+</p>
+</div>
+
+<div id="HeaderAuth" />
+<p id="block">
+<b>HeaderAuth</b><br />
+Das Element <tt>HeaderAuth</tt> konfiguriert die &uuml;bergabe der Authentisierungs-Parameter an die Online-Applikation
+in HTTP Request Headern. Das Element kann ein oder mehrere Kind-Elemente <tt>&lt;Header&gt;</tt> beinhalten.
+</p>
+</div>
+
+<div id="Header" />
+<p id="block">
+<b>HeaderAuth/Header</b><br />
+Das Element <tt>&lt;Header&gt;</tt> enth&auml;lt die Attribute Name und Value.
+<br /><br />
+Das Attribut <tt>Name</tt> beschreibt den Namen des Header und ist ein frei zu w&auml;hlender String.
+<br /><br />
+Das Attribut <tt>Value</tt> beschreibt den Inhalt des Header und kann einen der durch <tt>MOAAuthDataType</tt>
+beschriebenen Werte annehmen.
+<br /><br />
+Die Header werden folgenderma&szlig;en in den Request an die Online-Applikation eingef&uuml;gt:
+<blockquote><pre>
+&lt;h1.name&gt;:&lt;h1.resolvedValue&gt;
+&lt;h2.name&gt;:&lt;h2.resolvedValue&gt;
+...
+</pre></blockquote>
+Der Wert <tt>resolvedValue</tt> wird in der Proxykomponente je nach Wert des Platzhalters eingesetzt.
+Etwaige Header aus dem urspr&uuml;nglichen Request an die Proxykomponente, die denselben Namen haben, m&uuml;ssen
+&uuml;berschrieben werden.
+<p></p>
+</div>
+</tt></tt></td></tr></table>
+
+
+<div id="sp-config" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration von MOA-SP</p>
+<div id="block">
+
+ <p id="block"> MOA-ID &uuml;berpr&uuml;ft die Signaturen der Personenbindung und
+ des AUTH-Blocks mit dem <tt>VerifyXMLSignatureRequest</tt> von
+ MOA-SP. Dazu muss MOA-SP wie unten beschreiben konfiguriert werden.
+ <br />
+ <br />
+ <b>VerifyTransformsInfoProfile</b><br />
+ Der Request zum &uuml;berpr&uuml;fen der Signatur des AUTH-Blocks
+ verwendet ein vordefiniertes VerifyTransformsInfoProfile. Die
+ im Request verwendete Profil-ID wird in der MOA-ID Konfigurationsdatei
+ im Element <tt>/MOA-IDConfiguration/ AuthComponent/MOA-SP/VerifyAuthBlock/
+ VerifyTransformsInfoProfileID</tt> definiert. Entsprechend muss
+ am MOA-SP Server ein VerifyTransformsInfoProfile mit gleichlautender
+ ID definiert werden. Die Profiledefinition selbst ist in der Auslieferung
+ von MOA-ID in <tt>$MOA_ID_INST_AUTH/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml</tt>
+ enthalten. Diese Profildefinition muss unver&auml;ndert &uuml;bernommen
+ werden. </p>
+ <div id="verifytransformsInfoProfile" /></div>
+
+<div id="trustProfile" />
+<p id="block">
+<b>TrustProfile</b><br />
+Die Requests zur &uuml;berpr&uuml;fung der Signatur verwenden vordefinierte TrustProfile.
+Die im Request verwendete Profil-IDs werden in der MOA-ID Konfigurationsdatei
+in den Elementen <tt>/MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyIdentityLink/ TrustProfileID</tt> und
+<tt>/MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock/TrustProfileID</tt> definiert. Diese beiden Elemente
+k&ouml;nnen unterschiedliche oder identische TrustProfileIDs enthalten.
+Am MOA-SP Server m&uuml;ssen TrustProfile mit gleichlautender ID definiert werden.
+Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/trustprofiles/MOAIDBuergerkarteRoot</tt>,
+das als TrustProfile verwendet werden kann. Weitere Zertifikate k&ouml;nnen als vertrauensw&uuml;rdig hinzugef&uuml;gt werden.
+</p>
+</div>
+
+<div id="certstore" />
+<p id="block">
+<b>Certstore</b><br />
+Zum Aufbau eines Zertifikatspfades k&ouml;nnen ben&ouml;tigte Zertifikate aus einem Zertifikatsspeicher verwendet werden.
+Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/certstore</tt>, das als initialer
+Zertifikatsspeicher verwendet werden kann.
+</p>
+</div>
+
+<div>
+Hinweis: Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues Format f&uuml;r die XML-Konfigurationsdatei.
+F&uuml;r die Konvertierung einer &auml;lteren Konfigurationsdatei auf das neue Format steht Ihnen ein Tool
+zur Verf&uuml;gung. Details dazu finden sie in der der Distribution von MOA-SP/SS beiligenden
+Dokumentation im Kapitel 'Konfiguration', Abschnitt 1.2.1.<br>
+
+</div>
+</td></tr></table>
+
+
+<div id="online-config" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">&Auml;nderung der Konfiguration w&auml;hrend des Betriebs</p>
+<div id="block">
+Der Inhalt dieser Konfiguration, bzw. jene Teile, auf die indirekt verwiesen wird, k&ouml;nnen w&auml;hrend des laufenden
+Betriebes des MOA-Servers ge&auml;ndert werden. Der Server selbst wird durch den Aufruf einer <a href="id-admin_1.htm#ConfigUpdate">URL</a>
+(im Applikationskontext von MOA ID) dazu veranlasst, die ge&auml;nderte Konfiguration neu einzulesen.
+Im Falle einer fehlerhaften neuen Konfiguration wird die urspr&uuml;ngliche Konfiguration beibehalten.
+</div>
+
+
+</td>
+</tr>
+
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<div id="errorpages" />
+<td valign="top">
+<p id="subtitel">&Auml;ndern der Default Errorpages</p>
+<div id="block">
+ <p>Die Default-Errorpages geben bei MOA-ID-AUTH und MOA-ID-PROXY immer die entsprechende Fehlermeldung aus, so eine vorhanden ist. M&ouml;chte man dies verhindern bzw. abh&auml;ngig vom eingestellten Log-Level machen so k&ouml;nnen diese Errorpages ersetzt werden. Entsprechende Errorpages sind unter $MOA_ID_INST_AUTH/errorpages bzw. $MOA_ID_INST_PROXY/errorpages zu finden. Diese k&ouml;nnen die Default-Errorpages unter dem jeweiligen webapps-Kontext von MOA-ID-AUTH (errorpage-auth.jsp) bzw. MOA-ID-PROXY (errorpage-proxy.jsp )ersetzen. </p>
+ <p>Die in $MOA_ID_INST_AUTH/errorpages bzw. $MOA_ID_INST_PROXY/errorpages enthaltenen Errorpages bedeuten dabei folgendes:</p>
+ <ul>
+ <li>errorpage-auth_debug.jsp und errorpage-proxy_debug.jsp:<br>
+ Geben erweiterte Meldungen wie (ErrorMessage, ExceptionThrown) aus, wenn der Log-Level f&uuml;r
+ moa.id.auth bzw. moa.id.proxy auf debug gesetzt sind. Ansonsten erfolgt nur eine allgemeine Ausgabe, dass ein
+ Fehler aufgetreten ist.</li>
+ <li>errorpage-auth_empty.jsp und errorpage-proxy_empty.jsp:<br>
+ Unabh&auml;ngig vom Log-Level erfolgt nur einen allgemeine Ausgabe, dass ein Fehler aufgetreten ist.<br>
+ </li>
+ </ul>
+ <p></p>
+</div></td>
+
+</tr>
+
+
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<div id="security" />
+<p id="subtitel">Tomcat Security Manager</p>
+<div id="block">
+ <p>Apache Tomcat bietet die M&ouml;glichkeit den Server unter einem Security Manager zu betreiben. Damit ist es m&ouml;glich den lokalen Dateizugriff zu beschr&auml;nken. Mit Hilfe der Datei &quot;catalina.policy&quot; k&ouml;nnen so Zugriffe auf lokale Dateien und Verzeichnisse festgelegt werden. Eine beispielhafte catalina.policy Datei finden Sie im Verzeichnis $MOA_ID_INST_AUTH/tomcat bzw. $MOA_ID_INST_PROXY/tomcat. Diese Datei wurde unter Apache Tomcat 4.1.31, 5.0.28 und 5.5.27 getestet. </p>
+ <p>Mehr Informationen zum Security Manager entnehmen Sie bitte der entsprechenden Apache Tomcat Dokumentation. </p>
+ </div></td>
+
+</tr>
+</table>
+<br /><br />
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004</div>
+</td></tr></table>
+<br />
+
+
+</div>
+</div></div></div></body>
+</html>
diff --git a/id/server/doc/moa_id/id-admin_3.htm b/id/server/doc/moa_id/id-admin_3.htm
new file mode 100644
index 000000000..8b1c74e7c
--- /dev/null
+++ b/id/server/doc/moa_id/id-admin_3.htm
@@ -0,0 +1,204 @@
+<html>
+<head>
+ <title>MOA ID-Administration</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></a></div>
+<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Basis-Installation</b></a></div>
+<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Konfiguration </b></a></div>
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Optionale<br />&#160; &#160;&#160;Komponenten</b></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br />
+<div id="slogan">
+<b>Optionale <br />Komponenten</b><br />
+<a href="#IIS"><b>IIS </b></a><br />
+<a href="#Apache"><b>Apache </b></a><br />
+<a href="#SQL"><b>PostgreSQL </b></a><br />
+</div>
+</td>
+
+<div id="IIS" />
+<td valign="top">
+<p id="titel">Konfiguration der optionalen Komponenten</p>
+<p id="subtitel">Konfiguration des Microsoft Internet Information Server (optional)</p>
+<div id="block">
+Vor MOA-ID-AUTH oder MOA-ID-PROXY kann optional ein MS IIS vorgeschaltet sein. In diesem Fall &uuml;bernimmt der MS IIS die HTTP bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat deployten Webservice wird durch Jakarta mod_jk durchgef&uuml;hrt.<br /><br />
+<b>Konfiguration von Jakarta mod_jk im MS IIS</b><br />
+F&uuml;r die Kommunikation des MS IIS mit dem im Tomcat deployten Webservice wird das ISAPI-Modul von Jakarta mod_jk im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html" target="_new">mod_jk IIS HowTo</a>. Beispiele f&uuml;r <tt>workers.properties</tt> und <tt>uriworkermap.properties</tt> Dateien liegen im ausgelieferten moa-id-auth-x.y.zip bzw. moa-id-proxy-x.y.zip, Verzeichnis tomcat bei.
+<br /><br />
+<b>Konfiguration von Tomcat</b><br />
+Damit Tomcat die Aufrufe, die von MS IIS mittels Jakarta mod_jk weiterleitet, entgegennehmen kann, muss in $CATALINA_HOME/conf/server.xml der AJP 1.3 Connector aktiviert werden. Im Gegenzug k&ouml;nnen die Connectoren f&uuml;r HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch ein- bzw. auskommentieren der entsprechenden <tt>Connector</tt> Konfigurations-Elemente in dieser Datei.
+<br /><br />
+</div>
+<div id="block">
+ <p><b>Konfiguration von SSL</b><br />
+ Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach
+ Installation des IIS unter http://localhost/iisHelp/ bzw. <a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp" target="_new">online</a>
+ zur Verf&uuml;gung. </p>
+ <p><b><a name="Prefix"></a>Konfiguration des zu verwendenden DATA-URL
+ Pr&auml;fix</b><br>
+ Befindet sich der Rechner auf dem MOA-ID installiert wird hinter
+ einer Firewall welche zwar Zugriffe vom vorgelagerten Webserver
+ zul&auml;sst, nicht jedoch direkte Zugriffe (von den Rechnern von
+ MOA-ID Benutzern), so muss manuell in der Konfigurationsdatei von
+ MOA-ID ein s.g. DATA-URL Pr&auml;fix vergeben werden. An dieses
+ URL-Pr&auml;fix werden Daten von der verwendeten B&uuml;rgerkartenumgebung
+ gesendet. Details finden sie im Abschnitt <a href="./id-admin_2.htm#DataURLPrefix">Konfiguration</a>.
+ Requests an das DataURL-Pr&auml;fix&gt; m&uuml;ssen durch den Webserver
+ an https://&lt;moa-id-rechnername&gt;/moa-id-auth/ bzw. an http://&lt;moa-id-rechnername&gt;/moa-id-auth/
+ weitergeleitet werden.</p>
+ </div>
+</td></div></tr></table>
+<br /><br />
+
+
+<div id="Apache" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration des Apache Webservers (optional)</p>
+<div id="block">
+Vor MOA-ID-AUTH oder MOA-ID-PROXY kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird Jakarta mod_jk f&uuml;r die Kommunikation zwischen Webserver und Tomcat eingesetzt.
+<br /><br />
+<b>Konfiguration von Jakarta mod_jk im Apache Webserver</b><br />
+ Um MOA-ID-AUTH oder MOA-ID-PROXY hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls mod_jk erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html" target="_new">mod_jk Apache HowTo</a>. Ein Beispiel f&uuml;r eine <tt>workers.properties</tt> Datei liegt im Verzeichnis $MOA_SPSS_INST/conf/moa bei.<br />
+Um MOA-ID-AUTH oder MOA-ID-PROXY dem Apache Webserver bekannt zu machen, muss folgender Eintrag in die Apache Konfigurationsdatei gemacht werden:
+<pre>
+ JkMount /moa-id-auth/* moaworker
+</pre>
+oder f&uuml;r die Proxy-Komponente
+<pre>
+ JkMount /* moaworker
+</pre>
+ <br />
+<b>Konfiguration von Tomcat</b><br />
+Die Konfiguration von Tomcat ist analog wie im Abschnitt &uuml;ber den MS IIS durchzuf&uuml;hren.
+<br /><br />
+
+<b>Konfiguration von SSL mit mod_SSL </b><br />
+Apache kann in Verbindung mit mod_SSL als SSL-Endpunkt f&uuml;r das MOA-ID-AUTH Webservice fungieren. In diesem Fall entf&auml;llt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via mod_jk austauschen. Eine detaillierte Installations- und Konfigurationsanleitung von mod_SSL gibt die <a href="http://www.modssl.org/docs/" target="_new">Online-Dokumentation</a>.
+<br /><br />
+Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass mod_ssl die HTTP-Header mit den Informationen &uuml;ber das Client-Zertifikat exportiert. Dies wird durch Angabe der Option<br />
+<pre>
+ SSLOptions +ExportCertData +StdEnvVars
+</pre>
+in der Apache-Konfiguration erreicht.<br />
+Weiters muss Jakarta mod_jk angewiesen werden, die SSL Schl&uuml;ssell&auml;nge zu exportieren. Dies geschieht mit der Direktive:
+<pre>
+ JkOptions +ForwardKeySize
+ +ForwardURICompat
+ -ForwardDirectories
+</pre>
+ <p><b>Konfiguration des zu verwendenden DATA-URL Pr&auml;fix</b></p>
+ <p>siehe gleichnamige <a href="id-admin_3.htm#Prefix">&Uuml;berschrift
+ </a>in Abschnitt &quot;Konfiguration des Microsoft Internet Information
+ Server (optional)&quot;</p>
+ </div>
+</td></tr></table>
+<br /><br />
+
+
+<div id="SQL" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+</td>
+<td valign="top">
+<p id="subtitel">Konfiguration von PostgreSQL</p>
+<div id="block">
+MOA-ID-AUTH bzw. MOA-ID-PROXY kann PostgreSQL zum Abspeichern von Log-Meldungen verwenden. Hierf&uuml;r wird eine installierte und konfigurierte Datenbank vorausgesetzt. Eine detaillierte &Uuml;bersicht &uuml;ber die Installation und Konfiguration von PostgreSQL gibt die <a href="http://techdocs.postgresql.org/">Online-Dokumentation</a>.<br /><br />
+<b>Logging</b><br />
+F&uuml;r das Logging in eine PostgreSQL Datenbank mittels Jakarta Log4j muss zun&auml;chst eine Tabelle f&uuml;r die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:
+<pre>
+ create table spss_log
+ (log_time timestamp,
+ log_level varchar(5),
+ log_msg varchar(256));
+</pre>
+Um das Logging in die Datenbank Log4j bekannt zu machen, muss die Log4j-Konfiguration adaptiert werden. Die Datei $MOA_SPSS_INST/conf/moa/log4.properties enth&auml;lt bereits eine beispielhafte Jakarta Log4j-Konfiguration f&uuml;r das Logging in eine PostgreSQL Datenbank, die standardm&auml;&szlig;ig ausgeschaltet ist. Hinweis: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpa&szlig; herausgestellt. Es wird deshalb empfohlen, auf dieses Feature zu verzichten.
+<br /><br />
+</div>
+
+</td></tr></table>
+<br /><br />
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004</div>
+</td></tr></table>
+<br />
+
+
+</div>
+</div></div></body>
+</html>
diff --git a/id/server/doc/moa_id/id-anwendung.htm b/id/server/doc/moa_id/id-anwendung.htm
new file mode 100644
index 000000000..d5057f854
--- /dev/null
+++ b/id/server/doc/moa_id/id-anwendung.htm
@@ -0,0 +1,104 @@
+<html>
+<head>
+ <title>MOA ID-Anwendung</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></div>
+<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Aufruf MOA-ID-AUTH</b></a></div>
+<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Abfrage MOA-ID-AUTH </b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br />
+</td>
+
+<td valign="top">
+<div id="titel">MOA ID-Anwendung</div>
+<p id="block">
+MOA-ID f&uuml;hrt f&uuml;r eine Online-Applikation (OA) die Benutzeridentifizierung und -authentisierung mit Hilfe der B&uuml;rgerkarte durch.
+</p>
+<p id="titel">&Uuml;bersicht </p>
+Um diese Funktionalit&auml;t verf&uuml;gbar zu machen, ist folgendermaßen vorzugehen:<br />
+</p>
+<ul>
+<li>Die OA muss als Webapplikation installiert werden.</li>
+<li>MOA-ID-AUTH muss als Webapplikation <a href="id-admin_1.htm">installiert</a> und f&uuml;r die OA <a href="id-admin_2.htm">konfiguriert</a> werden.</li>
+<li>MOA-ID-AUTH wird durch einen Verweis von einer Webseite aufgerufen.
+Diese Webseite kann z.B. Teil eines Portals sein.</li>
+<li>Nach erfolgter Authentisierung holt die OA die bereitgestellten Anmeldedaten zum B&uuml;rger von MOA-ID-AUTH ab.
+Dies kann unter Mithilfe der Webapplikation MOA-ID-PROXY geschehen, die f&uuml;r diesen Zweck <a href="id-admin_1.htm">installiert</a> und f&uuml;r die OA <a href="id-admin_2.htm">konfiguriert</a> werden muss.</li>
+</ul>
+</td></tr></table>
+<br />
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2003 <!-- Development Center, BRZ GmbH --></div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_id/id-anwendung_1.htm b/id/server/doc/moa_id/id-anwendung_1.htm
new file mode 100644
index 000000000..637d28253
--- /dev/null
+++ b/id/server/doc/moa_id/id-anwendung_1.htm
@@ -0,0 +1,205 @@
+<html>
+<head>
+ <title>MOA ID-Anwendung</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ pre { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></a></div>
+<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Aufruf MOA-ID-AUTH</b></a></div>
+<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Abfrage MOA-ID-AUTH </b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+</br /><br />
+</td>
+<td valign="top">
+<p id="titel">Aufruf von MOA-ID-AUTH </p>
+<div id="block">MOA-ID-AUTH wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein.
+Der Aufruf erfolgt durch einen Verweis der Form: </div>
+<pre>&lt;a href=&quot;https://&lt;moa-id-server-und-pfad&gt;/
+StartAuthentication?Target=&lt;gesch&auml;ftsbereich&gt;
+&OA=&lt;oa-url&gt;&Template=&lt;template-url&gt;&quot;&gt;</pre>
+<table border="1"><tbody valign="baseline">
+<tr>
+<td id="klein">&lt;moa-id-server-und-pfad&gt;</td><td id="klein">Server und Pfad, wo MOA-ID-AUTH installiert ist</td>
+</tr>
+<tr>
+<td id="klein">Target=&lt;gesch&auml;ftsbereich&gt;</td><td id="klein">Angabe, f&uuml;r welches Verfahren der Benutzer authentisiert werden soll (siehe TODO: Link auf Verzeichnis der Gesch&auml;ftsbereich)</td>
+</tr>
+<tr>
+<td id="klein">OA=&lt;oa-url&gt;</td><td id="klein">Webseite, auf die der Browser nach erfolgter Authentisierung weitergeleitet werden soll</td>
+</tr>
+<tr>
+<td id="klein">Template=&lt;template-url&gt;</td><td id="klein">optional; HTML-Vorlage f&uuml;r der Anmeldeseite von MOA-ID-AUTH, &uuml;ber die der B&uuml;rger den Authentisierungsvorgang startet. &Uuml;ber diesen Parameter kann das Aussehen der Anmeldeseite an das Aussehen der Online-Applikation angepasst werden.</td>
+</tr>
+</tbody></table>
+<br/><br/>
+
+<div id="block">
+<b>Template</b><br /><br />
+Ein <a href="examples/Template.html">Template</a> f&uuml;r die Anmeldeseite von MOA-ID-AUTH kann aus folgender Grundstruktur aufgebaut werden: </div>
+<pre>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;MOA ID - Identifizierter Zugang mit B&amp;uuml;rgerkarte&lt;/title&gt;
+ &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;<br>&lt;/head&gt;</pre>
+<p>&lt;form name=&quot;CustomizedForm&quot; action=&quot;&lt;BKU&gt;&quot; method=&quot;post&quot;&gt;<br>
+&lt;div align=&quot;center&quot;&gt;<br>
+&lt;input type=&quot;hidden&quot;<br>
+name=&quot;XMLRequest&quot;<br>
+value=&quot;&lt;XMLRequest&gt;&quot;/&gt;<br>
+&lt;input type=&quot;hidden&quot;<br>
+name=&quot;DataURL&quot;<br>
+value=&quot;&lt;DataURL&gt;&quot;/&gt;<br>
+&lt;input type=&quot;hidden&quot;<br>
+name=&quot;PushInfobox&quot<br>
+ value=&quot;&lt;PushInfobox&gt;&quot;/&gt;<br>
+&lt;input type=&quot;submit&quot; value=&quot;Anmeldung mit B&amp;uuml;rgerkarte&quot; name=&quot;submit&quot;/&gt;<br>
+&lt;/div&gt;<br>
+&lt;/form&gt;<br>
+&lt;form name=&quot;CustomizedInfoForm&quot;<br>
+action=&quot;&lt;BKU&gt;&quot;<br>
+method=&quot;post&quot;&gt;<br>
+&lt;input type=&quot;hidden&quot;<br>
+name=&quot;XMLRequest&quot;<br>
+value=&quot;&lt;CertInfoXMLRequest&gt;&quot;/&gt;<br>
+&lt;input type=&quot;hidden&quot;<br>
+name=&quot;DataURL&quot;<br>
+value=&quot;&lt;CertInfoDataURL&gt;&quot;/&gt;<br>
+</p>
+<p> &lt;input type=&quot;hidden&quot; value=&quot;Weitere Info&quot;/&gt;<br>
+&lt;/form&gt;</p><p>&lt;/body&gt;<br>
+&lt;/html&gt;<br>
+</p>
+Innerhalb dieser <tt>&lt;form&gt;</tt>-Elemente k&ouml;nnen Texte, Beschriftungen und Styles modifiziert werden,
+und es k&ouml;nnen zus&auml;tzliche Elemente darin aufgenommen werden.
+<br /><br />
+Die vorgegebene Grundstruktur ist aber in jedem Fall einzuhalten, und es m&uuml;ssen die speziellen
+Tags <tt>&lt;BKU&gt;</tt> (kommt 2x vor), <tt>&lt;XMLRequest&gt;</tt>, <tt>&lt;DataURL&gt;</tt>, <tt>&lt;CertInfoXMLRequest&gt;</tt> und <tt>&lt;CertInfoDataURL&gt;</tt>
+darin enthalten sein. Das Tag &lt;PushInfobox&gt; muss ab Version 1.4 vorhanden sein, wenn MOA-ID auch andere Infoboxen als die Personenbindung bearbeiten kann.
+<br /><br />
+
+<div id="block">
+<b>BKU-Auswahl</b><br /><br />
+MOA-ID-AUTH bietet die M&ouml;glichkeit, die B&uuml;rgerkartenumgebung (BKU) auszuw&auml;hlen, &uuml;ber die in weiterer Folge die B&uuml;rgerkarte ausgelesen wird. Der Aufruf erfolgt dann durch einen Verweis der Form: </div>
+<pre>&lt;a href=&quot;https://&lt;moa-id-server-und-pfad&gt;/
+SelectBKU?Target=&lt;gesch&auml;ftsbereich&gt;
+&OA=&lt;oa-url&gt;&Template=&lt;template-url&gt;
+&BKUSelectionTemplate=&lt;bku-template-url&gt;&quot;&gt;</pre>
+<table border="1"><tbody valign="baseline">
+<tr><td id="klein">BKUSelectionTemplate= &lt;bku-template-url&gt;</td>
+<td id="klein">optional; HTML-Vorlage f&uuml;r der BKU-Auswahlseite von MOA-ID-AUTH.
+&Uuml;ber diesen Parameter kann das Aussehen der BKU-Auswahlseite an das Aussehen der Online-Applikation angepasst werden.</td>
+</tr>
+</tbody></table>
+<br/><br/>
+
+<div id="block">
+<b>BKUSelectionTemplate</b><br /><br />
+Ein <a href="examples/BKUSelectionTemplate.html">Template f&uuml;r die BKU-Auswahl</a> von MOA-ID-AUTH kann aus folgender Grundstruktur aufgebaut werden: </div>
+<pre>
+&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;MOA ID - Auswahl der B&amp;uuuml;rgerkartenumgebung&lt;/title&gt;
+ &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;<br>&lt;/head&gt;</pre><p>&lt;form name=&quot;CustomizedForm&quot; method=&quot;post&quot; action=&quot;&lt;StartAuth&gt;&quot;&gt;<br>
+&lt;BKUSelect&gt; <br>
+&lt;input type=&quot;submit&quot; value=&quot;Ausw&amp;auml;hlen&quot;/&gt;<br>
+&lt;/form&gt;<br>
+&lt;br/&gt;<br>
+&lt;p&gt;&lt;/p&gt;</p>
+<p> &lt;input type=&quot;hidden&quot; value=&quot;Weitere Info&quot;/&gt;<br>
+&lt;/form&gt;</p>
+<p>&lt;/body&gt;<br>
+&lt;/html&gt;<br>
+</p>
+<p>
+
+
+Innerhalb dieser <tt>&lt;form&gt;</tt>-Elemente k&ouml;nnen Texte, Beschriftungen und Styles modifiziert werden,
+und es k&ouml;nnen zus&auml;tzliche Elemente darin aufgenommen werden. <br />
+<br />
+Auch dabei ist die vorgegebene Grundstruktur einzuhalten, die speziellen Tags <tt>&lt;StartAuth&gt;</tt> und <tt>&lt;BKUSelect&gt;</tt> sind verpflichtend.</p>
+<p><strong>Wichtiger Hinweis:</strong> wenn die Templates &uuml;ber HTTPS geladen werden sollten, so muss das SSL/TLS Zertifikat des Servers in einem Java Truststore gespeichert werden und dieser beim Start von Tomcat angegeben werden. </p>
+<strong>Vorgeschlagene Vorgehensweise:<br>
+</strong>
+<pre>
+
+1. Webserver SSL/TLS Zertifikat speichern im .cer Format speichern (z.B. mittels Internet Explorer).<br>
+2. Mittels Java Keytool das Zertifikat in einen Java Truststore importieren. </pre>
+
+Im folgenden Beispiel wird in den Java Truststore &quot;truststore.jks&quot; mit dem Passwort &quot;changeit&quot; importiert.<br>
+<pre>keytool -import -trustcacerts -alias mytomcat -file tomcat_localhost.cer -keystore truststore.jks</pre>
+<p>3. Truststore beim Starten von Tomcat angeben (&uuml;ber das Hinzuf&uuml;gen folgender Parameter in
+ die Variable CATALINA_OPTS im Tomcat Startskript).</p>
+<p><br><pre>
+ -Djavax.net.ssl.trustStore=&lt;PFAD&gt;\truststore.jks<br>
+ -Djavax.net.ssl.trustStorePassword=changeit<br>
+ -Djavax.net.ssl.trustStoreType=jks <br /></pre>
+</p></td>
+</tr></table>
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004</div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_id/id-anwendung_2.htm b/id/server/doc/moa_id/id-anwendung_2.htm
new file mode 100644
index 000000000..df8b10aad
--- /dev/null
+++ b/id/server/doc/moa_id/id-anwendung_2.htm
@@ -0,0 +1,247 @@
+<html>
+<head>
+ <title>MOA ID-Anwendung</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ pre { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 }
+ #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> &Uuml;bersicht</b></a></div>
+<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Aufruf MOA-ID-AUTH</b></a></div>
+<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Abfrage MOA-ID-AUTH </b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+</br /><br />
+<div id="slogan">
+<b>Abfragearten: </b>
+</br />
+<a href="#webservice"><b>Web Service</b></a><br />
+<a href="#proxy"><b>MOA-ID-PROXY</b></a><br />
+</div>
+</td>
+
+
+<td valign="top">
+<p id="titel">Abfrage der Anmeldedaten von MOA-ID-AUTH</p>
+<div id="block">Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit,
+und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA).
+<br /><br />
+In diesem Redirect werden der Gesch&auml;ftsbereich und ein SAML-Artifact als Parameter &uuml;bergeben.
+</div>
+<pre>&lt;a href=&quot;https://&lt;oa-url&gt;
+?Target=&lt;gesch&auml;ftsbereich&gt;
+&SAMLArtifact=&lt;saml-artifact&gt;&quot;&gt;</pre>
+
+<table border="1"><tbody valign="baseline">
+<tr><td>&lt;oa-url&gt;</td><td>URL, der beim Aufruf von MOA-ID-AUTH als Parameter &quot;OA&quot; &uuml;bergeben wurde</td></tr>
+<tr><td>Target=&lt;gesch&auml;ftsbereich&gt;</td><td>Parameter, der beim Aufruf von MOA-ID-AUTH &uuml;bergeben wurde</td></tr>
+<tr><td>SAMLArtifact=&lt;saml-artifact&gt;</td><td>SAML-Artifact, das von MOA-ID-AUTH zu den Anmeldedaten erstellt wurde.
+Mithilfe dieses SAML-Artifacts kann die OA die Anmeldedaten von MOA-ID-AUTH abholen.</td></tr>
+</tbody></table>
+<br/><br/>
+<div id="block">Grunds&auml;tzlich stehen einer OA mehrere Arten zum Abholen der Anmeldedaten von MOA-ID-AUTH zur Verf&uuml;gung: </div>
+<ol>
+<li>Die Applikation ruft selbst das MOA-ID-AUTH Web Service auf.
+<br/>Die Implementierung dieser Variante wird empfohlen, insbesondere f&uuml;r Online-Applikationen, die neu erstellt werden.
+</li>
+<li>Es wird die MOA-ID-PROXY Webapplikation eingesetzt, um die Anmeldedaten abzuholen und an die OA zu &uuml;bergeben.
+<br/>Aus Sicht von MOA-ID-PROXY ist bedeutsam, ob die OA die Anmeldedaten nach Abarbeitung des HTTP-Requests beh&auml;lt.
+<ul>
+<li>Stateful OA: MOA-ID-PROXY &uuml;bergibt einmalig die Anmeldedaten an die OA, und die OA speichert die Anmeldedaten, typischerweise unter Einsatz von Cookies.</li>
+<li>Stateless OA: MOA-ID-PROXY &uuml;bergibt die Anmeldedaten bei jedem HTTP-Request vom Browser des B&uuml;rgers an die OA.</li>
+</ul>
+Diese Variante ist vorzuziehen, wenn
+<ul>
+<li>f&uuml;r die Plattform, auf der die OA aufbaut, Web Service-Schnittstellen nicht verf&uuml;gbar sind</li>
+<li>das n&ouml;tige Web Service-Know How nicht zur Verf&uuml;gung steht</li>
+<li>die Implementierung von Variante 1 zu aufw&auml;ndig w&auml;re</li>
+<li>eine Anpassung der OA aus bestimmten Gr&uuml;nden nicht m&ouml;glich ist</li>
+</ul>
+</li>
+</ol>
+</td></tr></table>
+
+
+
+<div id="webservice" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+
+<td valign="top">
+<p id="subtitel">Aufruf des MOA-ID-AUTH Web Service</p>
+<div id="block">Das MOA-ID-AUTH Web Service wird &uuml;ber einen &lt;samlp:Request&gt; aufgerufen.
+Der &lt;samlp:Request&gt; enth&auml;lt in einem &lt;samlp:AssertionArtifact&gt; das von MOA-ID-AUTH &uuml;bergebene SAML-Artifact.
+<br/><br/>
+MOA-ID-AUTH liefert als Antwort einen &lt;samlp:Response&gt;. Die Anmeldedaten sind im &lt;samlp:Response&gt; in Form einer &lt;saml:Assertion&gt; enthalten.
+<br/><br/>
+<a href="../cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a>
+<br/>
+<a href="../cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a>
+<br/>
+Der detaillierte Aufbau der &lt;saml:Assertion&gt; zu den Anmeldedaten ist in der <a href="../MOA_ID_1.4_20070306.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.
+<br/><br/>
+<h4>Beispiel LoginServletExample</h4>
+Das Abholen der Anmeldedaten durch Aufruf des Web Service von MOA-ID-AUTH wird anhand eines beispielhaften Java Servlet gezeigt.
+Das LoginServletExample wird in einer Stateful OA von MOA-ID-AUTH nach erfolgter Authentisierung &uuml;ber Redirect aufgerufen.
+<br/><br/>
+Das Beispiel demonstriert insgesamt die Integration von MOA-ID-AUTH in die OA:
+</div>
+<ul>
+<li>Parameter&uuml;bergabe von MOA-ID-AUTH an die OA</li>
+<li>Aufruf des MOA-ID-AUTH Web Service mittels des SOAP Frameworks "Apache AXIS"</li>
+<li>Parsen der Anmeldedaten mittels der XPath Engine "Jaxen"</li>
+<li>Speichern der Anmeldedaten in der HTTPSession</li>
+<li>Redirect auf die eigentliche Startseite der OA</li>
+</ul>
+
+
+<b>Voraussetzungen</b><br >
+<div id="block">Die folgende Liste enth&auml;lt die f&uuml;r das Beispiel erforderlichen Java-Bibliotheken. Die angef&uuml;hrten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen das Beispiel getestet wurde. </div>
+<br />
+<table border="1" width="100%" cellpadding="2" cellspacing="0">
+<tr>
+<th>Java-Bibliothek</th><th>Version</th><th>Bemerkung</th>
+</tr><tr>
+<tr valign="top">
+<td>JDK</td>
+<td>1.4.0+, 1.5.0</td>
+<td>Java Development Kit</td>
+</tr><tr valign="top">
+<td>Xerces <br />XML Parser</td><td>2.0.2+</td>
+<td id="klein">Download: <a href="http://xml.apache.org/xerces2-j/">xml.apache.org/xerces2-j</a> </td>
+</tr><tr valign="top">
+<td>AXIS <br />SOAP Framework</td><td>1.0+</td>
+<td id="klein">Download: <a href="http://xml.apache.org/axis/">xml.apache.org/axis</a> </td>
+</tr><tr valign="top">
+<td>Jaxen XPath Engine</td><td>1.0+</td>
+<td id="klein">Download: <a href="http://jaxen.sourceforge.net/">http://jaxen.sourceforge.net</a> </td>
+</tr><tr valign="top">
+<td>Servlet API</td><td>2.3+</td>
+<td id="klein">Download: <a href="http://java.sun.com/products/servlet/">java.sun.com/products/servlet</a> </td>
+</tr>
+</table>
+<br/>
+<b>Code</b><br />
+<a href="examples/LoginServletExample.txt">LoginServletExample</a>
+
+</td></tr></table>
+
+<DIV bla="hhalloo">
+
+
+
+<div id="proxy" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+<br /><br />
+</div>
+</td>
+<td valign="top">
+<p id="subtitel">Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH</p>
+<div id="block">
+Anstatt den Aufruf des MOA-ID-AUTH Web Service in der OA zu implementieren, kann die MOA-ID-PROXY Webapplikation eingesetzt werden, um dies f&uuml;r die OA zu erledigen. MOA-ID-PROXY muss f&uuml;r die OA konfiguriert werden, so wie in <a href="id-admin_2.htm#OnlineApplication/ProxyComponent">MOA-ID-Administration</a> beschrieben.
+<br/><br/>
+Bei der Konfiguration ist speziell zu beachten:
+<br/><br/>
+<b>Konfigurationsdatei zur OA</b><br />
+Der <a href="id-admin_2.htm#oa-config">LoginType</a> (stateful oder stateless) ist gem&auml;ß dem Applikationstyp zu setzen.
+<br/><br/>
+Die <a href="id-admin_2.htm#oa-config">&Uuml;bergabe der Anmeldedaten</a> ist in Form und Inhalt zu konfigurieren.
+</div>
+<ul>
+<li>BasicAuth: HTTP Basic Authentication (<a href="examples/conf/OAConfBasicAuth.xml">Beispiel</a>)</li>
+<li>ParamAuth: &Uuml;bergabe &uuml;ber Requestparameter (<a href="examples/conf/OAConfParamAuth.xml">Beispiel</a>)</li>
+<li>HeaderAuth: &Uuml;bergabe &uuml;ber Requestheader (<a href="examples/conf/OAConfHeaderAuth.xml">Beispiel</a>)</li>
+</ul>
+
+<div id="block">
+<b>LoginParameterResolver</b><br />
+Das &Uuml;bergabe der Anmeldedaten an die OA &uuml;ber Request Parameter oder Header geschieht in einer Standardimplementierung des Interface
+<pre>at.gv.egovernment.moa.proxy.LoginParameterResolver</pre>
+Falls die Erfordernisse der OA mittels <a href="id-admin_2.htm#oa-config">Konfiguration</a> nicht abgedeckt werden k&ouml;nnen,
+so kann eine maßgeschneiderte Implementierung von <tt>LoginParameterResolver</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden
+(siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html">API</a>).
+<br/><br/>
+<b>ConnectionBuilder</b>
+Das Herstellen einer URL-Verbindung von MOA-ID-PROXY zur OA geschieht einer Standardimplementierung des Interface
+<pre>at.gv.egovernment.moa.proxy.ConnectionBuilder </pre>
+Falls n&ouml;tig, kann eine maßgeschneiderte Implementierung von <tt>ConnectionBuilder</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden
+(siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html">API</a>).
+</div>
+</td></tr></table>
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2003 <!-- Development Center, BRZ GmbH --></div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_id/links.htm b/id/server/doc/moa_id/links.htm
new file mode 100644
index 000000000..06aa7afcc
--- /dev/null
+++ b/id/server/doc/moa_id/links.htm
@@ -0,0 +1,141 @@
+<html>
+<head>
+ <title>MOA Grundlagen</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#c0c0c0; background:#505050}
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:6px }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA Links</div><br />
+<div id="klein"><a href="#Extern"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Ext. Komponenten</b></a></div>
+<div id="klein"><a href="#Administration"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Administration</b></a></div>
+<div id="klein"><a href="#Anwendung"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Anwendung</b></a></div>
+<div id="klein"><a href="#Spezifikationen"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Spezifikationen</b></a></div>
+<br />
+<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
+ <b> Zur&uuml;ck</b></a></div>
+<br />
+<!-- div id="slogan">
+MOA ist eine Entwicklung des Bundesrechenzentrums BRZ in Zusammenarbeit mit A-Trust und dem Institut f&uuml;r angewandte Informations- und Kom-munikationstechnik (IAIK) der Universit&auml;t Graz
+</div -->
+</td>
+
+<td valign="top">
+<div id="titel">MOA Links </div>
+
+<div id="Administration" />
+<p id="subtitel">Externe Komponenten</p>
+
+<div id="klein">Apache <br />
+<a href="http://httpd.apache.org/docs-2.0/">http://httpd.apache.org/docs-2.0</a></div>
+
+<div id="klein">Internet Information Server <br />
+<a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp">http://www.microsoft.com/windows2000/en/server/iis/default.asp</a></div>
+
+<div id="klein">Tomcat <br />
+<a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/">http://jakarta.apache.org/tomcat/tomcat-4.1-doc</a> </div>
+
+<div id="klein">Tomcat mod_SSL <br />
+<a href="http://httpd.apache.org/docs-2.0/ssl/">http://httpd.apache.org/docs-2.0/ssl</a></div>
+
+<div id="klein">Tomcat mod_jk <br />
+<a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/">http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2</a></div>
+
+<div id="klein">Logging Toolkit <br />
+<a href="http://jakarta.apache.org/log4j/docs/index.html">http://jakarta.apache.org/log4j/docs/ </a></div>
+
+<div id="klein">IAIK JCE <br />
+<a href="http://jce.iaik.tugraz.at/products/index.php">http://jce.iaik.tugraz.at/products/index.php </a></div>
+
+<div id="klein">PostgreSQL <br />
+<a href="http://techdocs.postgresql.org/installguides.php">http://techdocs.postgresql.org </a></div>
+
+<div id="Spezifikationen" />
+<p id="subtitel">Spezifikationen</p>
+<p id="klein">
+<div id="klein">DOM <br />
+<a href="http://www.w3c.org/DOM/">http://www.w3c.org/DOM</a></div>
+
+<div id="klein">E-Government <br />
+<a href="http://reference.e-government.gv.at/">http://reference.e-government.gv.at</a></div>
+
+<div id="klein">Security Layer Version 1.1<br />
+<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831">http://www.buergerkarte.at/konzept/securitylayer/spezifikation/2002083</a></div>
+
+<div id="klein">Personenbindung Version 1.1<br />
+<a href="http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20020506">http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20020506</a></div>
+
+<div id="klein">Security Assertion Markup Language <br />
+<a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security</a></div>
+
+<div id="klein">Auswahl von B&uuml;rgerkartenumgebungen Version 1.0.0<br />
+<a href="../bku-auswahl.20030408.pdf">bku-auswahl.20030408.pdf</a></div>
+</p>
+
+</td></tr></table>
+
+
+
+
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2003 <!-- Development Center, BRZ GmbH --></div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_id/moa-id-ablauf.jpg b/id/server/doc/moa_id/moa-id-ablauf.jpg
new file mode 100644
index 000000000..0585664f4
--- /dev/null
+++ b/id/server/doc/moa_id/moa-id-ablauf.jpg
Binary files differ
diff --git a/id/server/doc/moa_id/moa.htm b/id/server/doc/moa_id/moa.htm
new file mode 100644
index 000000000..05a2d3007
--- /dev/null
+++ b/id/server/doc/moa_id/moa.htm
@@ -0,0 +1,248 @@
+<html>
+<head>
+ <title>MOA Module fuer Online Applikationen</title>
+ <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+ <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
+
+<style type="text/css">
+ body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
+ li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
+ tt { font-size:9pt; color:#505060; }
+ #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
+ #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
+ #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
+ #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
+ #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
+ a:link {color:#000090}
+ a:visited {color:#000090}
+ a:hover {color:#c03030}
+ a {text-decoration: none}
+</style>
+
+<script language="JavaScript">
+<!--
+function goWin(url) {
+ Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
+ window.setTimeout("showWin()",300);
+}
+function showWin() { Fenster.focus(); }
+// -->
+</script>
+</head>
+
+<body bgcolor="#FFFFFF" >
+<div style="width:650px">
+
+
+
+<!-- Projekt-Logo -->
+<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
+&#160;Module f&uuml;r Online-Applikationen
+</div>
+<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
+<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
+</div>
+<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
+Projekt <span style="font-size:48pt; ">moa</span>&#160;
+</div>
+<br />
+
+
+
+<!-- First Section with Navigation -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top">
+<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br />
+<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" />
+ <b> Allgemein</b></div>
+<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> ID Administration</b></a></div>
+<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> ID Anwendung</b></a></div>
+<div id="klein"><a href="../api-doc/index.html" target="_javadoc">
+ <img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> API-Dokumentation</b></a></div>
+<div id="klein"><a href="faqs.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> FAQs</b></a></div>
+<div id="klein"><a href="links.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
+ <b> Links</b></a></div>
+<br />
+<div> <a href="javascript:history.back()">
+ <img src="../moa_images/west.gif" border="0" width="13" height="14" /> &#160;
+ <b>Zur&uuml;ck </b></a></div>
+<br />
+<div id="slogan">
+</div>
+</td>
+
+<td valign="top">
+<img src="../moa_images/moa_thema.gif" align="right" />
+<div id="titel">Allgemein v.1.4</div>
+<p id="block">
+Dieses Dokument enth&auml;lt die Dokumentation f&uuml;r das Modul <br />
+<ul>
+<li>MOA-ID (Identifikation)</li>
+</ul></p>
+</td></tr></table>
+
+<div id="id" />
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top" id="klein">
+<p id="subtitel">&#160;</p>
+<div id="slogan">
+</div>
+</td>
+<td valign="top">
+<div id="block">
+Das Modul Identifikation stellt Online-Applikationen Funktionalit&auml;t zur Verf&uuml;gung zu stellen, damit diese
+eine Benutzer-Identifikation und -Authentisierung mit Hilfe der B&uuml;rgerkarte und deren Signaturfunktion
+realisieren k&ouml;nnen.
+<br /><br />
+Das Modul besteht aus zwei Komponenten:
+<ul>
+<li>Die Authentisierungskomponente (MOA-ID-AUTH) f&uuml;hrt die eigentliche Authentisierung des Benutzers durch und &uuml;bergibt der
+Proxykomponente die Anmeldedaten.</li>
+<li>Die Proxykomponente (MOA-ID-PROXY) &uuml;bernimmt die Anmeldedaten von der Authentisierungskomponente,
+f&uuml;hrt die Anmeldung an der Online Applikation durch und schleust in der Folge Daten an die Online-Applikation
+und Daten an den Benutzer durch.</li>
+</ul>
+Diese beiden Komponenten k&ouml;nnen auf unterschiedlichen Rechnern
+oder auf dem gleichen Rechner eingesetzt werden.
+<br /><br />
+Die Funktionalit&auml;t und der Aufbau der Schnittstelle zu MOA-ID ist in der
+<a href="../MOA_ID_1.4_20070306.pdf" target="_new">Spezifikation</a> detailliert beschrieben.
+<br />
+<br />
+F&uuml;r den Betrieb von MOA-ID ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.
+</div>
+
+<br /><br />
+<div id="titel">Ablauf einer Anmeldung</div>
+<br />
+
+<img src="moa-id-ablauf.jpg" border="0" hspace="-200" width="500" />
+
+<table border="0" cellspacing="3" cellpadding="2">
+
+<tr>
+<td valign="top" width="30">1</td>
+<td id="block">Der Benutzer verbindet sich zu einem Web-Portal, &uuml;ber das die verf&uuml;gbaren Online-Applikationen (OA) erreichbar
+sind. Jeder Link zu einer OA verweist auf die Authentisierungs-komponente.
+</td>
+</tr>
+
+<tr>
+<td valign="top">2</td>
+<td id="block">Der Benutzer verbindet sich mit MOA-ID-AUTH, die die Authentisierung des
+Benutzers durchf&uuml;hrt:</td>
+</tr>
+
+<tr>
+<td valign="top">2.1</td>
+<td id="block">MOA-ID-AUTH bietet dem Benutzer optional eine Auswahl von verf&uuml;gbaren B&uuml;rgerkartenumgebungen (engl. Bezeichnung: Security-Layer) an.</td>
+</tr>
+
+<tr>
+<td valign="top">2.2</td>
+<td id="block">MOA-ID-AUTH erzeugt eine HTML-Seite mit einem <tt>&lt;InfoboxReadRequest&gt;</tt>
+ zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</td>
+</tr>
+
+<tr>
+<td valign="top">2.3</td>
+<td id="block">Der Browser schickt den <tt>&lt;InfoboxReadRequest&gt;</tt> an den ausgew&auml;hlten Security-Layer. Der Security-Layer liest die
+Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH, die die Signatur der Personenbindung durch
+einen Aufruf von MOA-SP &uuml;berpr&uuml;ft.
+</td>
+</tr>
+
+<tr>
+<td valign="top">2.4</td>
+<td id="block">MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt
+<ul>
+<li>Vor- und Nachname aus der Personenbindung,</li>
+<li>URL von MOA-ID-AUTH,</li>
+<li>URL und Gesch&auml;ftsbereich der Online-Applikation,</li>
+<li>die aktuelle Zeit.</li>
+</ul>
+Anschlie&szlig;end wird
+eine XML Antwortseite, die das Kommando zum Signieren (<tt>&lt;CreateXMLSignatureRequest&gt;</tt>) des generierten
+AUTH-Blocks enth&auml;lt, an den ausgew&auml;hlten Security-Layer gesendet.</td>
+</tr>
+
+<tr>
+<td valign="top">2.5</td>
+<td id="block">Der Request wird vom Security-Layer verarbeitet. Die signierten Daten werden an
+MOA-ID-AUTH zur&uuml;ckgesendet.</td>
+</tr>
+
+<tr>
+<td valign="top">2.6</td>
+<td id="block">MOA-ID-AUTH &uuml;berpr&uuml;ft den signierten AUTH-Block und legt f&uuml;r den Benutzer die Anmeldedaten
+an. Die Anmeldedaten enthalten
+<ul>
+<li>die bereichsspezifische Personenkennzeichen (bPK),</li>
+<li>den signierten AUTH-Block (optional),</li>
+<li>die Personenbindung (optional),</li>
+<li>die <tt>PersonData</tt>-Struktur aus der Personenbindung (optional),</li>
+<li>die Information, ob die Signatur des AUTH-Blocks mit einem qualifiziertem Zertifikat erfolgte,</li>
+<li>Informationen zur Beh&ouml;rde, falls die Signatur mit einem Beh&ouml;rdenzertifikat erzeugt wurde.</li>
+</ul>
+</td>
+</tr>
+
+<tr>
+<td valign="top">2.7</td>
+<td id="block">Ist der obige Authentisierungsvorgang erfolgreich, dann wird eine Redirect-Seite
+zum Browser gesendet.</td>
+</tr>
+
+<tr>
+<td valign="top">3</td>
+<td id="block">Der Browser f&uuml;hrt das Redirect zur Proxykomponente durch. Als Parameter wird das von MOA-ID-AUTH
+erzeugte SAML-Artifact &uuml;bergeben.</td>
+</tr>
+
+<tr>
+<td valign="top">4</td>
+<td id="block">Die Proxykomponente verwendet dieses eindeutige SAML-Artifact, um die Anmeldedaten
+von MOA-ID-AUTH zu erhal-ten. Danach werden die Anmeldedaten in MOA-ID-AUTH gel&ouml;scht.</td>
+</tr>
+
+<tr>
+<td valign="top">5</td>
+<td id="block">MOA-ID-PROXY liest die Konfigurationsdatei der zugeh&ouml;rigen Online-Applikation, die beschreibt, wie die Anmeldedaten
+an die nachfolgende Applikation &uuml;bergeben werden m&uuml;ssen, und meldet den Benutzer bei der Applikation an.</td>
+</tr>
+
+<tr>
+<td valign="top">6</td>
+<td id="block">Ist die betreffende OA als stateless konfiguriert, so werden in weiterer Folge die Antworten der OA
+an den Benutzer weitergeleitet und die Anfragen des Benutzers an die OA weitergeleitet.</td>
+</tr>
+
+
+</table>
+
+
+</td></tr></table>
+<br /><br />
+
+<!-- Trailer -->
+<table width="650" border="0" cellpadding="10" cellspacing="0">
+<tr>
+<td width="170" valign="top"><br /></td>
+<td valign="top">
+<hr />
+<div style="font-size:8pt; color:#909090">&copy; 2004</div>
+</td></tr></table>
+<br />
+
+
+</div>
+</body>
+</html>
diff --git a/id/server/doc/moa_images/east.gif b/id/server/doc/moa_images/east.gif
new file mode 100644
index 000000000..e76117cb0
--- /dev/null
+++ b/id/server/doc/moa_images/east.gif
Binary files differ
diff --git a/id/server/doc/moa_images/idle.gif b/id/server/doc/moa_images/idle.gif
new file mode 100644
index 000000000..28b8148e5
--- /dev/null
+++ b/id/server/doc/moa_images/idle.gif
Binary files differ
diff --git a/id/server/doc/moa_images/moa_diagramm1.jpg b/id/server/doc/moa_images/moa_diagramm1.jpg
new file mode 100644
index 000000000..776331fb8
--- /dev/null
+++ b/id/server/doc/moa_images/moa_diagramm1.jpg
Binary files differ
diff --git a/id/server/doc/moa_images/moa_thema.gif b/id/server/doc/moa_images/moa_thema.gif
new file mode 100644
index 000000000..f59075528
--- /dev/null
+++ b/id/server/doc/moa_images/moa_thema.gif
Binary files differ
diff --git a/id/server/doc/moa_images/north.gif b/id/server/doc/moa_images/north.gif
new file mode 100644
index 000000000..b4316b5d7
--- /dev/null
+++ b/id/server/doc/moa_images/north.gif
Binary files differ
diff --git a/id/server/doc/moa_images/pfeil.gif b/id/server/doc/moa_images/pfeil.gif
new file mode 100644
index 000000000..e4eeb1740
--- /dev/null
+++ b/id/server/doc/moa_images/pfeil.gif
Binary files differ
diff --git a/id/server/doc/moa_images/print.gif b/id/server/doc/moa_images/print.gif
new file mode 100644
index 000000000..b8e59144e
--- /dev/null
+++ b/id/server/doc/moa_images/print.gif
Binary files differ
diff --git a/id/server/doc/moa_images/select.gif b/id/server/doc/moa_images/select.gif
new file mode 100644
index 000000000..59a1694c5
--- /dev/null
+++ b/id/server/doc/moa_images/select.gif
Binary files differ
diff --git a/id/server/doc/moa_images/south.gif b/id/server/doc/moa_images/south.gif
new file mode 100644
index 000000000..c70ab3e97
--- /dev/null
+++ b/id/server/doc/moa_images/south.gif
Binary files differ
diff --git a/id/server/doc/moa_images/transdot.gif b/id/server/doc/moa_images/transdot.gif
new file mode 100644
index 000000000..e31aba280
--- /dev/null
+++ b/id/server/doc/moa_images/transdot.gif
Binary files differ
diff --git a/id/server/doc/moa_images/west.gif b/id/server/doc/moa_images/west.gif
new file mode 100644
index 000000000..135698ee7
--- /dev/null
+++ b/id/server/doc/moa_images/west.gif
Binary files differ