<html> <head> <title>MOA ID-Administration</title> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> <link rel="stylesheet" href="./common/MOA.css" type="text/css"> </head> <body link="#990000"> <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> <tr> <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> <td align="center" class="logoTitle">Dokumentation</td> <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td> </tr> </table> <hr/> <p class="title"><a href="./moa.htm">MOA: Identifikation (ID)</a></p> <p class="subtitle">Konfiguration</p> <h1>Inhalt</h1> <ol> <li> <p><a href="#moaid-konfiguration">Konfiguration von MOA-ID</a></p> </li> <li> <p><a href="#oa-config">Konfiguration der Online-Applikation</a></p> </li> <li> <p><a href="#sp-config">Konfiguration von MOA-SP</a></p> </li> <li> <p><a href="#online-config">Änderung der Konfiguration während des Betriebs</a></p> </li> <li> <p><a href="#errorpages">Ändern der Default Errorpages</a></p> </li> <li> <p><a href="#security">Tomcat Security Manager</a></p> </li> </ol> <hr/> <h1><a name="moaid-konfiguration" id="moaid-konfiguration">1 Konfiguration von MOA-ID</a></h1> <p >Die Konfiguration von MOA ID wird mittels einer XML-basierten Konfigurationsdatei, die dem Schema <a href="../MOA-ID-Configuration-1.5.1.xsd" target="_new">MOA-ID-Configuration-1.5.1.xsd</a> entspricht, durchgefü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>Enthält die Konfigurationsdatei relative Pfadangaben, werden diese relativ zum Verzeichnis in dem sich die MOA-ID Konfigurationsdatei befindet interpretiert.<br> </p> <p id="ConnectionParameter"> <b>ConnectionParameter</b> <br /> Das Element <tt>ConnectionParameter</tt> enthält Parameter, die MOA-ID für den Aufbau von Verbindungen zu anderen Komponenten benötigt. Dieses Element tritt mehrfach in der Konfigurationsdatei auf und wird daher vorab detailliert beschrieben. <p>Das Attribut <tt>URL</tt> enthält die URL der Komponente zu der die Verbindung aufgebaut werden soll. Wird das Schema <tt>https</tt> verwendet, können die Kind-Elemente <tt>AcceptedServerCertificates</tt> und <tt>ClientKeyStore</tt> angegeben werden. Wird das Schema <tt>http</tt> verwendet müssen keine Kind-Elemente angegeben werden bzw. werden diese nicht ausgewertet. Andere Schemas werden nicht unterstützt. <p>Wird die Verbindung ü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üssel für die TLS-Client-Authentisierung entnommen. Das Passwort zum Lesen des privaten Schlüssels wird im Attribut <tt>ClientKeyStore/@password</tt> konfiguriert.<br /> Aufgrund der Tatsache, dass starke Verschlüsselung eine Voraussetzung für MOA-ID darstellt, werden clientseitig nur die folgenden Cipher Suites unterstützt: <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> <p>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 überprüft ob ein Zertifikatspfad zu den im Element <tt><TrustedCACertificates></tt> angegebenen Zertifikaten erstellt werden kann. Falls dies nicht möglich ist, kommt es zu einem Fehlerfall. </p> <p id="AuthComponent"> <b>AuthComponent</b> <br /> <tt>AuthComponent</tt> enthä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. Das Element <tt>AuthComponent</tt> hat sechs Kind-Elemente: <ul> <li><tt>BKUSelection</tt> (optional)</li> <li><tt>Templates</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> <li><tt>ForeignIdentities</tt></li> <li><tt>OnlineMandates</tt></li> </ul> <p id="BKUSelection"> <b>AuthComponent/BKUSelection</b> <br /> Das optionale Element <tt>BKUSelection</tt> enthält Parameter zur Nutzung eines Auswahldienstes für eine Bürgerkartenumgebung (BKU). Wird das Element nicht angegeben, dann wird die lokale Bürgerkartenumgebung auf <tt>http://localhost:3495/http-security-layer-request</tt> verwendet. </p> <p>Das Attribut <tt>BKUSelectionAlternative</tt> gibt an welche Alternative zur BKU-Auswahl verwendet werden soll. MOA-ID unterstützt die Werte <tt>HTMLComplete</tt> (vollständige HTML-Auswahl) und <tt>HTMLSelect</tt> (HTML-Code für Auswahl) [<a href="../bku-auswahl.20030408.pdf">"Auswahl von Bürgerkartenumgebungen"</a>, Arno Hollosi]. </p> <p>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> <p id="AuthTemplates"> <b>AuthComponent/Templates</b> <br /> Das optionale Element <tt>Templates</tt> kann genau einmal vorkommen, um das Aussehen der Seiten "Auswahl der Bürgerkartenumgebung" sowie "Anmeldung mit Bürgerkarte" anzupassen. Des Weiteren können die Templates zur Anmeldung mit Online-Vollmachten angepasst werden. Die hier spezifizierten (globalen) Templates haben Priorität gegenüber Templates, die in der aufrufenden URL (vgl. <a href="id-anwendung_1.htm" target="_new">Aufruf von MOA-ID-AUTH</a>) übergeben werden, haben jedoch Nachrang gegenüber in der Konfigurationsdatei für eine Online-Applikation individuell definierte (lokale) Templates (siehe <a href="#OnlineApplication/AuthComponent/Templates" target="_new"> OnlineApplication/AuthComponent/Templates</a>). Das heißt, sind in der Konfigurationsddatei fü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ür diese OnlineApplikation ignoriert, jedoch für alle anderen Online-Applikationen verwendet. Templates in der aufrufenden URL werden demnach nur mehr dann herangezogen, wenn in der Konfigurationsdatei weder globale (für alle Online-Applikationen gültig) noch lokale (Templates je Online-Applikation) spezifiziert sind. Hinweis: Die Template zur Anmeldung mit Online-Vollmachten können nicht über die URL angegeben werden.</p> <p>Das <tt>Templates</tt>-Element hat die zwei Kindelemente <tt>BKUSelectionTemplate</tt>und <tt>Template. </tt>Jedes dieser zwei Elemente kann genau einmal vorkommen oder fehlen. Das Kindelement <tt>BKUSelectionTemplate</tt> spezifiziert ein Template zur Gestaltung der Seite "Auswahl der Bürgerkartenumgebung", während das Kindelement <tt>Template</tt> die Seite "Anmeldung mit Bürgerkarte" referenziert. Dies beiden 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 über das Protokoll https referenziert werden, muss vor dem Start des Tomcat ein Truststore angegeben werden, das die notwendigen vertrauenswürdigen Zertifikate enthält. Siehe dazu die Parameter in den vorbereiteten Startdateien <tt>startTomcat.bat</tt> und <tt>tomcat-start.sh</tt>. </p> <p>Richtlinien zur Struktur der Templates kö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> <p id="SecurityLayer"> <b>AuthComponent/SecurityLayer</b> <br /> Das Element <tt>SecurityLayer</tt> enthält Parameter zur Nutzung des Security-Layers. </p> <p>Das Kind-Element <tt>TransformsInfo</tt> spezifiziert eine Transformation, die fü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önnen durch die Angabe mehrerer <tt>TransformsInfo</tt>-Elemente unterstützt werden. </p> <p>Das Attribut <tt>TransformsInfo/@filename</tt> verweist auf eine Datei, die das globale Element <tt>TransformsInfo</tt> vom Typ <tt>TransformsInfo</tt> enthält. Die Angabe erfolgt relativ zur MOA-ID Konfigurationsdatei. Das Encoding dieser Datei muss UTF-8 sein. </p> <p><a href="examples/TransformsInfoAuthBlockTable_DE.xml">Beispiel für eine TransformsInfo-Datei</a></p> <p id="MOA-SP"> <b>AuthComponent/MOA-SP</b> <br /> Das Element <tt>MOA-SP</tt> enthält Parameter zur Nutzung von MOA-SP. MOA-SP wird für die überprüfung der Signatur der Personenbindung und des AUTH-Blocks verwendet. <br /> Wird das Kind-Element <tt>ConnectionParameter</tt> angegeben, dann wird MOA-SP über das Webservice angesprochen.</p> <p> Wird das Kind-Element <tt>ConnectionParameter</tt> nicht angegeben so wird eine MOA-ID beiligende Version von MOA-SP direkt ü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> <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></p> <p>Das Kind-Element <tt>VerifyIdentityLink/TrustProfileID</tt> spezifiziert eine TrustProfileID, die für den <tt>VerifyXMLSignatureRequest</tt> zur Überprüfung der Signatur der Personenbindung verwendet werden muss. Diese TrustProfileID muss beim verwendeten MOA-SP Modul konfiguriert sein.</p> <p>Die Kind-Elemente <tt>VerifyAuthBlock/TrustProfileID</tt> und <tt>VerifyAuthBlock/VerifyTransformsInfoProfileID</tt> spezifizieren eine TrustProfileID und eine ID für ein Transformationsprofil, die für den <tt>VerifyXMLSignatureRequest</tt> zur überprüfung der Signatur des Auth-Blocks verwendet werden müssen. Diese TrustProfileID muss beim verwendeten MOA-SP Modul konfiguriert sein.</p> <p id="IdentityLinkSigners"> <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ür jeden Signator muss der <tt>X509SubjectName</tt> nach RFC 2253 spezifiziert werden. </p> <p><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 über die Zertifikatseigenschaft "Eigenschaft zur Ausstellung von Personenbindungen" (OID: 1.2.40.0.10.1.7.1) geprüft wird. Der Namens-Check des alten Zertifikats wird fix in MOA-ID integriert, sodass das <tt>IdentityLinkSigners</tt>-Element in der Konfiguration überflüssig wird. </p> <p id="VerifyInfoboxesAuth"> <b>AuthComponent/VerifyInfoboxes</b> <br /> Ab Version 1.4 bietet MOA-ID die Möglichkeit einer erweiterten Infobox-Validierung, das heißt, es können neben der Personenbindung auch weitere ausgelesene Infoboxen validiert werden. Die für die Validierung der Infoboxen notwendigen Parameter können ü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 übergibt diese Parameter der Applikation, die für die Verifikation des Inhaltes der jeweilgen von der BKU übermittelten Infobox verantwortlich ist. Im Folgenden wird eine derartige Applikation als <tt>Prüfapplikation</tt> bezeichnet. <p>Das <tt>Verifyinfoboxes</tt> Element ist optional und kann fehlen, wenn keine Infoboxen außer der der Personenbindung validiert werden müssen. 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üfapplikation</tt> zur Validierung einer Infobox herangezogen werden kann, wenn fü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ält. <br /> <b>Anmerkung:</b> Das Trust-Profil für die <a href="#trustProfile">Personenbindung</a> darf <b>nicht</b> zur Validierung anderer Infoboxen verwendet werden. Das Trust-Profil für die <a href="#trustProfile">Bürgerkarte</a> <b>soll</b> nur dann zur Validierung anderer Infoboxen verwendet werden, wenn die zur Verifikation der Zertifikate benö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ür die Validierung einer Infobox an die jeweilige Prüfapplikation ü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> EHSPToken</tt> fü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ür die Anmeldung zwingend benötigt. Ist es auf <tt>true</tt> gesetzt, und wird der entsprechende Infobox-Inhalt nicht von der BKU ü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ü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üfapplikation die Personenbindung erhalten soll. Hat es den Wert <tt>true</tt>, so wird ein Klone des Wurzel-Elements der Personenbindung an die Prüfapplikation ü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üfapplikation werden defaultmäßig der Vorname, der Familienname, das Geburtsdatum, der Typ der Stammzahl, die Stammzahl (konfigurierbar) und die öffentlichen Schlüssel aus der Personenbindung übergeben. Das Attribut <tt>provideIdentityLink</tt> sollte deshalb wirklich nur dann auf <tt>true</tt> gesetzt werden, wenn von der Prüfapplikation noch andere Daten aus der Personenbindung benö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ä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> GDAToken</tt> für die <tt>EHSPToken</tt>-Infobox. <br /> Fehlt dieses Element, so wird fü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ür die Validierung der Infobox verwendet wird. Dabei ist wieder zu beachten, dass das Trust-Profil für die <a href="#trustProfile">Personenbindung</a> <b>nicht</b> zur Validierung anderer Infoboxen verwendet werden darf, und das Trust-Profil für die <a href="#trustProfile">Bürgerkarte</a> nur dann zur Validierung anderer Infoboxen verwendet werden <b>soll</b>, wenn die zur Verifikation der Zertifikate benö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ür die Validierung der entsprechenden Infobox keine Zertifikatsprü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üfapplikation der Default-Klassennamen verwendet werden sollte. Nur wenn es verschiedene Prüfapplikationen fü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üfapplikation zum validierenden Parsen von Infoboxen verwendet werden kö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> <SchemaLocations> <Schema namespace="http://ns1.ns1" schemaLocation="schemas/ns1.xsd"/> <Schema namespace="http://ns2.ns2" schemaLocation="schemas/ns2.xsd"/> </SchemaLocations> </pre> Weitere Möglichkeiten zur Übergabe von XML-Schemas an die Prüfapplikation können in der MOA-ID-Spezifikation im Abschnitt 4.7.2, <tt>Erweiterte Infoboxüberprü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ätzlichen zur Personenbindung abgefragten Infoboxen (bzw. deren Inhalte) nicht a priori kennt, ist es unmöglich vorherzusehen, welche Parameter eine Prüfapplikation zum Validieren einer Infobox benötigt. Die Konfiguration sieht daher das Element <tt>ApplicationSpecificParameters</tt> vor, um einer bestimmten Prüfapplikation kontext spezifische Parameter zu übermitteln. Dieses Element wird vollständig an die Prüfapplikation weitergegeben, und es obliegt der Prüfapplikation die Kindelemente des <tt>ApplicationSpecificParameters</tt>-Element zu extrahieren und zu interpretieren. <br /> Beispiel: <br /> <pre> <ApplicationSpecificParameters> <Parameter1>content1</Parameter1> <Parameter2>content2</Parameter2> <Parameter3> <Parameter3a>content3a</Parameter3a> <Parameter3b>content3b</Parameter3b> </Parameter3> </ApplicationSpecificParameters> </pre> </li> </ul> </li> </ul> <p><br /> Eine Beispielkonfiguration finden sie am Ende das Abschnitts <a href="#VerifyInfoboxesOA">OnlineApplication/AuthComponent/VerifyInfoboxes</a>. <br /> </p> <p id="ForeignIdentitiesAuth"><b>AuthComponent/ForeignIdentities</b> <br /> Ab Version 1.4.7 bietet MOA-ID die Möglichkeit der Nutzung von ausländischen Karten. Hierfür ist ein Stammzahlenregister-Gateway nötig, das einen entsprechenden Zugang zum Stammzahlenregister bereitstellt. Es ist hierzu ein entsprechender <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a> zu definieren, der die Zugangsdaten zum Gateway bereithält (siehe <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a>). In der Default-Konfiguration ist der Zugang zum Stammzahlenregister-Gateway bereits aktiviert. Es muss nur noch das Client-Zertifikat für die SSL-Verbinung zum Gateway angegeben werden. Voraussetzung dafür ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID Zertifikat diese Voraussetzung erfüllt, können Sie dieses hier angeben.</p> <p><b>AuthComponent/ForeignIdentities/STORK</b> <br /> Ab MOA Release 1.5.2 ist es auch möglich, ausländische Bürger über <a href="http://eid-stork.eu/" target="_new">STORK</a> zu authentifizieren. Da auch für diese Art der Authentifizierung eine Kommunikation mit dem Stammzahlenregister-Gateway notwendig ist, gelten die zuvor angeführten Ausführungen hinsichtlich <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a> auch für STORK. Für eine STORK Authentifizierung sind jedoch noch weitere Konfigurationen notwendig. Folgende Einträge müssen für eine STORK Authentifizierung hier noch konfiguriert werden: <ul> <li>C-PEPS Informationen <br /> </li> <li>KeyStore zum SAML Signatur-Zertifikat <br /> </li> <li>MOA-SP TrustProfil zur SAML Signatur-Validierung <br /> </li> </ul> <p><b>AuthComponent/ForeignIdentities/STORK/C-PEPS</b> <br /> Unter diesem Konfigurationselement können die Verbindungsparameter zu den jeweiligen C-PEPS (Citizen Country - PEPS) der europäischen Länder, die auch STORK unterstützen, angegeben werden. Für eine erfolgreiche C-PEPS Konfiguration muss der ISO-Country Code des jeweiligen Landes und die dazugehörige C-PEPS URL angegeben werden. In Ausnahmenfällen müssen bei einzelnen C-PEPS länderspezifische Attribute abgefragt werden, dies funktioniert durch zusätzliche Angabe eines <tt><stork:RequestedAttribute></tt> Elements. Die C-PEPS Konfigurationen sind in den der MOA-Release beliegenden Beispielkonfigurationen bereits vorkonfiguriert. Sollte sich an diesen Konfigurationen etwas ändern, werden diese via JoinUp (<a href="https://joinup.ec.europa.eu/software/moa-idspss/home" target="_new">MOA@JoinUp</a>) bzw. MOA-Mailingliste veröffentlicht. Im Folgenden wird eine Beispielkonfiguration kurz veranschaulicht. <pre> <C-PEPS countryCode="PT" URL="https://eu-id.cartaodecidadao.gov.pt/PEPS/ColleagueRequest"/> <C-PEPS countryCode="SI" URL="https://peps.mju.gov.si/PEPS/ColleagueRequest"> <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/fiscalNumber" <br> isRequired="true" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/> </C-PEPS> </pre> <p>Details zur Angabe von <tt><stork:RequestedAttribute></tt> bzw. welche Attribute von STORK überhaupt unterstützt werden, wird in der Konfiguration zur Online Application angegeben (<a href="#OnlineApplication/AuthComponent/STORK">hier</a>).</p> <p><b>AuthComponent/ForeignIdentities/STORK/SAMLSigningParameter</b> <br /> Dieser Konfigurationseintrag enthält Informationen dazu, mit welchem Zertifikat ausgehende STORK SAML Nachichten signiert werden und welches MOA-SP TrustProfil zur Signaturüberprüfung von empfangenen STORK SAML Nachrichten herangezogen werden soll. In der Konfiguration wird eine Unterscheidung zwischen Signaturerstellungs- und Signaturverifizierungsparameter getroffen: <ul> <li><tt><SignatureCreationParameter></tt> <br /> </li> <li><tt><SignatureVerificationParameter></tt> <br /> </li> </ul> <p>Der <tt><SignatureCreationParameter></tt> kapselt dabei Informationen, welche zum Signieren von ausgehenden STORK SAML Nachrichten benötigt werden. Im Wesentlichen sind das Informationen zu dem KeyStore, welcher das Schlüsselpaar zum Signieren ausgehender STORK SAML Nachrichten beinhaltet. Der entsprechende Konfigurationseintrag sieht wie folgt aus:</p> <pre> <SignatureCreationParameter> <KeyStore password="Keystore Pass">file_to_keystore</KeyStore> <KeyName password="Keystore Name">signing_key_name</KeyName> </SignatureCreationParameter> </pre> Die folgenden Werte sind dabei anzugeben bzw. durch echte Werte auszutauschen: <ul> <li><tt>file_to_keystore</tt>: Relativer Pfad zum KeyStore (Java oder PKCS#12), welcher das Schlüsselpaar zum Signieren ausgehender STORK SAML Nachrichten speichert <br /> </li> <li><tt>Keystore Pass</tt>: Passwort zum angegebenen KeyStore <br /> </li> <li><tt>signing_key_name</tt>: Alias Name des Schlüssels, welcher zum Signieren verwendet werden soll <br /> </li> <li><tt>Key Pass</tt>: Passwort zum angegebenen Schlüssel <br /> </li> </ul> <p>Der <tt><SignatureCreationParameter></tt> kapselt dabei Informationen, die für eine Signaturprüfung von eingehenden STORK SAML Nachrichten benötigt werden. Im Wesentlich ist das die Angabe des MOA-SP TrustProfils, welches die vertrauenswürdigen Zertifikate der europäischen C-PEPS enthält. Der entsprechende Konfigurationseintrag sieht daher wie folgt aus:</p> <pre> <SignatureVerificationParameter> <TrustProfileID>C-PEPS</TrustProfileID> </SignatureVerificationParameter> </pre> Die folgenden Werte sind dabei anzugeben: <ul> <li><tt>TrustProfile</tt>: Dieser Eintrag gibt jenes TrustProfil von MOA-SP an, welches zur Signaturprüfung von eingehenden STORK SAML Nachrichten herangezogen werden soll. Vorkonfiguriert sind die beiden TrustProfiles <tt>C-PEPS</tt> (Produktive C-PEPS Zertifikate) und <tt>C-PEPS-Test</tt> (Test C-PEPS Zertifikate). Sollte es auch hier zu Änderungen kommen, werden diese auch via JoinUp (<a href="https://joinup.ec.europa.eu/software/moa-idspss/home" target="_new">TODO MOA@JoinUp</a>) bzw. MOA-Mailingliste veröffentlicht. <br /> </li> </ul> <p id="AuthComponent_OnlineMandates"> <b>AuthComponent/OnlineMandates</b> <br /> Ab Version 1.5.0 bietet MOA-ID die Möglichkeit der Nutzung von Online-Vollmachten für Anwendungen aus dem öffentlichen Bereich. Hierfür ist ein Online-Vollmachten-Service nötig. Es ist hierzu ein ensprechender <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a> zu definieren, der die Zugangsdaten zum Online-Vollmachten-Service bereithält (siehe <a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a>). In der Default-Konfiguration ist der Zugang zum Online-Vollmachten-Service bereits aktiviert. Es muss nur noch das Client-Zertifikat für die SSL-Verbinung zum Service angegeben werden. Voraussetzung dafür ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID Zertifikat diese Voraussetzung erfüllt, können Sie dieses hier angeben.<br /> Hinweis: Um den Online-Vollmachten Modus für eine Online Applikation zu aktivieren, müssen Sie das Vollmachten Profil angeben - siehe <a href="#OnlineApplication/AuthComponent/Mandates">hier</a>. </p> <p> <b>ProxyComponent</b> <br /> <tt>ProxyComponent</tt> enthä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. </p> <p> Das Element <tt>ProxyComponent</tt> hat nur das Kind-Element <tt>AuthComponent</tt>, das die Verbindung zur Authentisierungs-komponente beschreibt. </p> <p>Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente über ein Webservice auf, dann muss das Element <tt>ConnectionParameter</tt> spezifiziert werden. </p> <p> Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente über das API auf, dann wird das Element <tt>ConnectionParameter</tt> nicht spezifiziert. </p> <p id="OnlineApplication"> <b>OnlineApplication</b> <br /> Für jede Online-Applikation, die ü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. </p> <p>Das ab Version 1.3 optionale Attribut <tt>OnlineApplication/@type</tt> spezifiziert den Typ der OnlineApplikation und kann die Werte <tt>publicService</tt> für eine Applikation aus dem öffentlichen Bereich und <tt>businessService</tt> für eine Anwendung aus dem privatwirtschaftlichen Bereich annehmen. Ab Version 1.4 kann im Modus <tt>businessService</tt> ein zusä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. </p> <p>Das Attribut <tt>OnlineApplication/@publicURLPrefix</tt> entspricht dem URL-Präfix der nach außen sichtbaren Domäne der Online-Applikation, welcher von der MOA-ID Proxykomponente durch den URL-Präfix der wirklichen Domäne (Attribut <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>) ersetzt wird. Es dient als Schlüssel zum Auffinden der Konfigurationsparameter zur Online-Applikation. </p> <p>Mit dem Attribut <tt>OnlineApplication/@friendlyName</tt> kann eine benutzerfreundlicher Name für die Online-Applikation angegeben werden. Dieser Name scheint beim Login des Benutzer auf.</p> <p>Das Attribut <tt>OnlineApplication/@keyBoxIdentifier</tt> gibt das Schlüsselpaar an, welches von der Bürgerkartenumgebung zum Signieren des Auth Blocks verwendet wird. Mögliche Werte: <tt>CertifiedKeypair </tt>sowie<tt> SecureSignatureKeypair.</tt></p> <p>Das Attribut <tt>OnlineApplication/@target</tt> gibt einen konkreten Geschäftsbereich für eine Online-Applikation vor. D.h. es wird der Target-Parameter aus dem Request mit diesem Wert überschrieben. Zusätzlich kann noch ein benutzerfreundlicher Name mittels des Attributs <tt>OnlineApplication/@targetFriendlyName</tt> für den Geschäftsbereich angegeben werden. Beide Attribute können nur bei einer Online-Applikation für den öffentlichen Bereich angegeben werden.</p> <p>Das Element <tt>OnlineApplication</tt> hat optional zwei Kind-Elemente: <tt>AuthComponent</tt> und <tt>ProxyComponent</tt>. </p> <p id="OnlineApplication/AuthComponent"> <b>OnlineApplication/AuthComponent</b> <br /> Das Element <tt>OnlineApplication/AuthComponent</tt> muss verwendet werden wenn auf dem Server die Authentisierungskomponente installiert wird. Es enthält Parameter, die das Verhalten der Authentisierungskomponente bezüglich der Online-Applikation konfiguriert. </p> <p>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ü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ü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öglich ist. </p> <p>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> Das Attribut <tt id="provideStammzahlOA2">provideFullMandatorData</tt> bestimmt ob bei einer Vollmachten-Anmeldung die vollständigen Vollmacht in der SAML Assertion mitgegeben wird oder nur die Basisdaten wie Name, Geburtsdatum und bPK des Vertreters (bzw. Organwalter/PV) sowie Name, Geburtsdatum und bPK (bzw. Name und Stammzahl bei juristischen Personen) des Vertretenen in der Assertion übermittelt. Bei <tt id="provideStammzahlOA3">provideFullMandatorData=false</tt> werden nur die Basisdaten übermittelt (Defaulteinstellung). Bei <tt id="provideStammzahlOA4">provideFullMandatorData=true</tt> wird zusätzlich die gesamte Vollmacht übergeben.<br> Das Attribut <tt id="provideStammzahlOA5">useUTC</tt> bestimmt ob IssueInstant in der SAML Assertion als UTC (2012-01-26T18:38:35Z, <tt id="provideStammzahlOA8">useUTC=true</tt>) oder dem Default-Format (z.B.: 2012-01-26T19:38:35+01:00, <tt id="provideStammzahlOA9">useUTC=false</tt>) angegeben wird. </p> <p><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ü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üfapplikation</i> weitergegeben werden soll. </p> <p id="OnlineApplication/AuthComponent/IdentificationNumber"> <b>OnlineApplication/AuthComponent/IdentificationNumber</b> <br /> Das <tt>wirtschaftsbereichsspezifische Personenkennzeichen</tt> (<tt>wbPK</tt>) wird aus der auf der Bürgerkarte gespeicherten Stammzahl des Bü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ührt werden</i> (vgl. E-GovGesetz §12(1).4), und muss deshalb an die Bü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ürgerkartenumgebung übergeben wird. <p>Dieses Element muss bei privatwirtschaftlichen Applikationen vorhanden sein und wird ignoriert, falls es im Kontext von Anwendungen aus dem öffentlichen Bereich verwendet wird. <p>Das Element hat genau eines der folgenden mö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ält als einzigen Inhalt die Firmenbuchnummer des Unternehmens. </li> <li> Das Element <tt>pr:Vereinsnummer</tt> enthält als einzigen Inhalt die Vereinsregisternummer des Unternehmens. </li> <li> Das Element <tt>pr:ERJPZahl</tt> enthält als einzigen Inhalt eine Zahl aus dem Ergänzungsregister für nicht-natürliche Personen (CorporateBody). </li> <li> Das Element <tt>pr:ZMRzahl</tt> enthält als einzigen Inhalt eine Stammzahl einer natürlichen in Österreich meldepflichtigen Person. </li> </ul> <p>Die Stammzahl ist jeweils ohne Präfix anzugeben, also wird zum Beispiel die Firmenbuchnummer <tt>FN468924i</tt> folgendermaßen definiert: <br /> <br /> <tt><pr:Firmenbuchnummer>468924i</pr:Firmenbuchnummer></tt> </p> <p> Leerzeichen werden ignoriert und im Falle einer Firmenbuchnummer werden führende Nullen gelöscht und Bindestriche aus der Nummer entfernt. </p> <p> Beispiele:</p> <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></blockquote> <p>Alternativ zu den oben angefü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önnen. </p> <p>Das Element <tt>AnyNumber</tt> hat genau ein Attribut namens <tt>Identifier</tt>, das das Präfix der jeweiligen Stammzahl entält. Der Inhalt des Elements <tt>AnyNumber</tt> ist die Stammzahl selbst, wobei die selben Regeln wie oben gelten.</p> <p>Die Firmenbuchnummer aus obigem Beispiel könnte man nun beispielsweise mit Hilfe das Elements <tt>AnyNumber</tt> auch folgendermaßen definieren: <br> </br> <tt><AnyNumber Identifier="FN">468924i</AnyNumber></tt> </p> <p>Es sei aber nochmals daraufhingewiesen, dass fü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ächlich in das Schema aufgenommen, um offen für mögliche Erweiterungen zu sein. </p> </p> <p id="OnlineApplication/AuthComponent/Templates"> <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 "Auswahl der Bürgerkartenumgebung" und "Anmeldung mit Bürgerkarte" individuell für eine Online-Applikation zu definieren. Die hier definierten Templates haben Priorität gegenüber globalen Templates und Templates, die in der aufrufenden URL übergeben werden. </p> <p id="OnlineApplication/AuthComponent/TransformsInfo"> <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ür unterschiedliche Online-Applikationen unterschiedliche Transformationen zu spezifizieren. Alle über dieses Element definierten Transformationen haben Vorrang gegenüber die durch <tt>AuthComponent/SecurityLayer/TransformsInfo</tt> angegebenen Transformationen. Das heißt, ist für eine Online-Applikation das Kindelement <tt>AuthComponent/TransformsInfo</tt> vorhanden, so wird für diese Applikation die durch dieses Element spezifizierte Transformation verwendet (das Element kann natürlich mehrfach vorkommen, wodurch mehrere Transformationen bezeichnet werden). Für alle Applkikationen, die kein Kindelement vom Typ <tt>AuthComponent/TransformsInfo</tt> enthalten, werden die unter <tt>AuthComponent/SecurityLayer/TransformsInfo</tt> spezifizierten "Default-Transformationen" verwendet. </p> <p>Dabei ist zu beachten, dass für jede definierte Transformation ein entsprechendes <tt>MOA-SP/VerifyAuthBlock/VerifyTransformsInfoProfileID</tt> Element vorhanden sein muss.</p> </p> <p id="VerifyInfoboxesOA"> <b>OnlineApplication/AuthComponent/VerifyInfoboxes</b> <br /> Dieses optionale Element entspricht dem <a href="#VerifyInfoboxesAuth">VerifyInfoboxes</a>-Element aus der globalen AUTH-Komponente und überschreibt teilweise die dort gesetzten Werte für die jeweilige Infobox pro Online-Applikation. Dabei gelten die folgenden Regeln: <p>Ist nur das globale <a href="#VerifyInfoboxesAuth">VerifyInfoboxes</a>-Element vorhanden, so gelten die dort definierten Parameter für <b>alle</b> Online-Applikationen. Ist kein globales Element vorhanden, so kann MOA-ID für alle Online-Applikation, in deren AUTH-Komponente ein <tt>VerifyInfoboxes</tt>-Element enthalten ist, die darin definierten Infoboxen überprüfen. Fü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über einem global gesetzten <a href="#DefaultTrustProfileVI">Default-Trust-Profil</a> als auch gegenü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ür die Infobox A ein eigenes Trust-Profil definiert, so wird ein lokal definiertes Default-Trust-Profil dem global fü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ür eine Online-Applikation validieren. Sind beispielsweise global Prüfapplikationen für die Infoboxen mit den Bezeichnern (<a href="#IdentifierVI">Infobox/@Identifier</a>-Attribut) <tt>A</tt> und <tt>B</tt> konfiguriert, und lokal für die Online-Applikation <tt>OA1</tt> die Infoboxen <tt>B</tt>, <tt>C</tt> und <tt>D</tt>, so kann MOA-ID für die Online-Applikation <tt>OA1</tt> die Infoboxen <tt>A</tt>, <tt>B</tt>, <tt>C</tt> und <tt>D</tt> validieren. Für die Infobox <tt>A</tt> werden dabei die Parameter aus der globalen Konfiguration verwendet und für die Infoboxen <tt>C</tt> und <tt>D</tt> die lokalen Parameter. Fü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>überschreiben</i></b> die global gesetzten Werte. Dabei ist zu beachten, das ein Fehlen dieser Attribute bedeutet, dass ihnen über das Schema der Defaultwert <tt>false</tt> zugewiesen wird. Ist also beispielsweise für die Infobox mit dem Bezeichner <tt>B</tt> das <tt>required</tt>-Attribut global auf <tt>true</tt> gesetzt (<Infobox Identifier="B" required="true">) und fehlt dieses Attribut lokal in der Online-Applikation <tt>OA1</tt> (<Infobox Identifier="B">), so hat das <tt>required</tt>-Attribut fü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üssen also fü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ür für die Validierung dieser Infobox kein Trust-Profil benö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ü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 Parameter werden global definierten vorgezogen. Sind lokal keine derartigen Parameter konfiguriert, so werden die globalen verwendet, so sie vorhanden sind. </li> </ul> </li> </ul> </li> </ul> <p><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üfapplikationen fü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ü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ür die Verifikation dieser Infobox nicht erforderlich. <br> Die Prüfapplikation für die <tt>InfoboxB</tt> setzt nahezu alle möglichen Parameter mit Ausnahme der Validator-Klasse. MOA-ID wird zur Verifikation dieser Infobox also auch die dafür zustädige Default-Klasse (<tt>at.gv.egovernment.moa.id.auth.validator.infoboxb.InfoboxBValidator</tt>) laden, und alle konfigurierten Parameter an diese Klasse übergeben. 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üfapplikationen für die drei Infoboxen <tt>InfoboxB</tt>, <tt>InfoboxC</tt> und <tt>InfoboxD</tt>. Das heißt, MOA-ID kann für die Online-Applikation <tt>OA1</tt> insgesamt vier Infoboxen überprüfen: die Parameter für die Infobox <tt>InfoboxA</tt> werden von der entsprechenden global konfigurierten Prüapplikation übernommen. Die Infoboxen <tt>InfoboxC</tt> und <tt>InfoboxD</tt> sind nur lokal gesetzt. Für <tt>InfoboxB</tt> übernimmt MOA-ID die applikationsspezifischen Parameter aus der entsprechenden global konfigurierten Infobox und ü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ü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üfapplikationen als die global definierten, überschreibt aber für beide Infoboxen teilweise die global gesetzten Parameter. <tt>InfoboxA</tt> verwendet ein lokal definiertes Trust-Profil (<tt>LocalInfoboxOA2ATrust</tt>), <tt>InfoboxB</tt> übernimmt alle globalen Parameter, setzt aber fü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ält in Ihrer AUTH-Komponente kein <tt>VerifyInfoboxes</tt>-Element. MOA-ID übernimmt daher für diese Online-Applikation die global konfigurierten Infobox-Prü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üapplikation betrifft. <br /> </p> <p id="OnlineApplication/AuthComponent/Mandates"> <b>OnlineApplication/AuthComponent/Mandates</b> <br /> Mit Hilfe dieses Elements werden die Online-Vollmachten für die Online-Applikation aktiviert. Als Kindelement muss <tt>Profiles</tt> angegeben werden. Dieses Element beinhaltet eine (Komma-separierte) Liste von Vollmachten-Profilen, die festlegen mit welchen Vollmachtstypen man sich bei der Online-Applikation anmelden kann. Unter <a href="https://vollmachten.stammzahlenregister.gv.at/mis/" target="_blank">https://vollmachten.stammzahlenregister.gv.at/mis/</a> finden Sie eine Liste der unterstützen Vollmachten-Profile.</p> <p><em>Hinweis:</em> Hierzu muss auch die Verbindung zum Online-Vollmachten Service konfiguriert werden - siehe <a href="#AuthComponent_OnlineMandates">hier</a> </p> <p id="OnlineApplication/AuthComponent/STORK"> <b>OnlineApplication/AuthComponent/STORK</b> <br /> Innerhalb dieses Konfigurationsblocks kann angegeben werden, welche zusätzlichen Attribute (neben eIdentifier, givenName, surname und dateOfBirth, welche defaultmäßig requested werden) im Rahmen einer STORK Anmeldung für diese Applikation vom Bürger abgefragt werden sollen. Außerdem kann zu Testzwecken das benötigte Authentifzierungslevel (STORK QAALevel) vom defaultmäßig höchstem Level von 4 für diese Applikation verringert werden. Für ein anderes STORK QAALevel muss folgendes XML Element mit einem Wert zwischen 1 und 4 angegeben werden: <tt><stork:QualityAuthenticationAssuranceLevel></tt>. <p>Die zusätzlichen Attribute werden im Element <tt><storkp:RequestedAttributes></tt> gekapselt. Ein entsprechener Konfigurationseintrag könnte folgendermaßen aussehen: <pre> <storkp:RequestedAttributes> <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/age" isRequired="false" <br> NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/> <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/eMail" isRequired="false" <br> NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/> <stork:RequestedAttribute Name="http://www.stork.gov.eu/1.0/isAgeOver" isRequired="false" <br> NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <stork:AttributeValue>1</stork:AttributeValue> </stork:RequestedAttribute><br></storkp:RequestedAttributes></pre> Bei der Inkludierung von <tt><stork:RequestedAttribute></tt> Elementen sind folgende XML Attribute anzugeben: <ul> <li><tt>Name</tt>: Der Name des entsprechenden STORK Attributes. <br /> </li> <li><tt>isRequired</tt>: Gibt durch <tt>true</tt> oder <tt>false</tt> an, ob das angefragte Attribut für die Applikation verpflichtend oder nur optional benötigt wird. <br /> </li> <li><tt>NameFormat</tt>: Gibt das Format des Attributes an und MUSS den Wert <tt>urn:oasis:names:tc:SAML:2.0:attrname-format:uri</tt> beinhalten. <br /> </li> <li>Element <tt><stork:AttributeValue></tt>: Dieses Element ist optional und gibt einen Vergleichswert für ein abzufragendes Attribut an. Im Beispiel von <tt>isAgeOver</tt> wird in der Antwort retourniert, ob die authentifizierte Person älter als das geforderte angegebene Alter ist. <br /> </li> </ul> <p>Details zu den STORK Attributen können im <a href="../MOA_ID_1.5.2_Anhang.pdf" target="_new">Anhang zur MOA-ID Spezifikation</a> bzw. in der <a href="https://www.eid-stork.eu/index.php?option=com_processes&Itemid=&act=streamDocument&did=1880" target="_blank">STORK Spezifikation</a> gefunden werden.</p> Im Wesentlichen kann die folgende Menge an Attributen bzw. Teile daraus für eine Online Applikation angefragt werden: <ul> <li><tt>http://www.stork.gov.eu/1.0/inheritedFamilyName</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/adoptedFamilyName</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/gender</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/countryCodeOfBirth</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/nationalityCode</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/maritalStatus</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/textResidenceAddress</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/canonicalResidenceAddress</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/eMail</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/title</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/residencePermit</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/pseudonym</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/age</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/citizenQAALevel</tt> <br /> </li> <li><tt>http://www.stork.gov.eu/1.0/isAgeOver</tt> </p> </li> </ul> <p id="OnlineApplication/ProxyComponent"> <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.5.1.xsd" target="_new">MOA-ID-Configuration-1.5.1.xsd</a> entspricht mit Dokument-Element <tt>Configuration</tt>. Die Angabe erfolgt relativ zur verwendeten MOA-ID Konfigurationsdatei. Beispiel für das Element <tt>configFileURL</tt>: "oa/SampleOAConfiguration.xml".<br /> Defaultmäßig wird versucht die Datei von der betreffenden OnlineApplikation unter dem Wert: <tt>http://<realURLPrefix>/MOAConfig.xml</tt> zu laden.<br/> (<tt><realURLPrefix></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 </p> <p>Im optionalen Attribut <tt>loginParameterResolverImpl</tt> kann der Klassenname eines zu verwendenden <tt>LoginParameterResolver</tt> angegeben werden, welcher die Defaultimplementierung ersetzt. </p> <p>Im optionalen Attribut <tt>loginParameterResolverConfiguration </tt>kann ein Configurationsstring für die Initialisierung der betreffenden <tt>loginParameterResolverImpl</tt> angegeben werden.</p> <p>Im optionalen Attribut <tt>connectionBuilderImpl</tt> kann der Klassenname eines zu verwendenden ConnectionBuilder angegeben werden, welcher die Defaultimplementierung ersetzt. </p> <p>Im Kind-Element <tt>ConnectionParameter</tt> ist konfiguriert, wie MOA-ID-PROXY zur Online-Applikation verbindet. </p> <p id="ChainingModes"> <b>ChainingModes</b><br /> Das Element <tt>ChainingModes</tt> definiert, ob bei der Zertifikatspfad-überprüfung das Kettenmodell (<tt>"chaining"</tt>) oder das Modell nach PKIX RFC 3280 (<tt>"pkix"</tt>) verwendet werden soll. </p> <p>Das Attribut <tt>systemDefaultMode</tt> spezifiziert das Modell, das im Standardfall verwendet werden soll. </p> <p>Mit dem Kind-Element <tt>TrustAnchor</tt> kann fü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><dsig:X509IssuerSerialType></tt> spezifiziert. Das für diesen Trust Anchor gültige Modell wird durch das Attribut <tt>mode</tt> spezifiziert. </p> <p>Gültige Werte fü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> <p id="TrustedCACertificates"> <b>TrustedCACertificates</b><br /> Das Element <tt>TrustedCACertificates</tt> enthält das Verzeichnis (relativ zur MOA-ID Konfigurationsdatei), das jene Zertifikate enthält, die als vertrauenswürdig betrachtet werden. Im Zuge der Überprüfung der TLS-Serverzertifikate wird die Zertifikatspfaderstellung an einem dieser Zertifikate beendet. </p> <p id="GenericConfiguration"> <b>GenericConfiguration</b><br /> Das Element <tt>GenericConfiguration</tt> ermöglicht das Setzen von Namen-Werte Paaren mittels der Attribute <tt>name</tt> und <tt>value</tt>. Die folgende Liste spezifiziert <ul> <li>gültige Werte für das name-Attribut, </li> <li>eine Beschreibung </li> <li>gültige Werte für das value-Attribut und (falls vorhanden)</li> <li>den Default-Wert fü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überprüfung verwendet wird.<br /> <hr /> <b>value: </b><br /> Gültige Werte: Name eines gü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 überschritten wird der Anmeldevorgang abgebrochen. <br /> <hr /> <b>value: </b><br /> Gü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ü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öscht.<br /> <hr /> <b>value: </b><br /> Gü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ür die TLS-Server-Authentisierung dürfen nur Server-Zertifikate verwendet werden, die eine CRLDP-Extension enthalten (andernfalls kann von MOA-ID keine CRL-überprüfung durchgefü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ü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äßig können die beiden Servlets "StartAuthentication" und "SelectBKU" welche das User-Frontend darstellen, aus Sicherheitsgründen, nur ü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 "EnableHTTPServletConnection" erlaubt werden.</p> <p>Hinweis: Sicher und sinnvoll ist das Erlauben der HTTP Verbindung nur dann, wenn ein Vorgeschalteter Webserver das HTTPS handling übernimmt, und eine Verbindung zu den Servlets nur über diesen Webserver möglich ist.</p> <hr /> <b>value: </b><br /> Gü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äßig wird als DataURL Prefix das URL Prä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ä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ültige Werte: URLs nach dem Schema 'http://' und 'https://'<br /> Default-Wert: kein Default-Wert<br> Beispiel: <GenericConfiguration name="FrontendServlets.DataURLPrefix" value="https://<your_webserver>/moa-id-auth/"/></td> </tr> </table> <p id="TrustedBKUs"> <b>TrustedBKUs</b><br /> Das Element <tt>TrustedBKUs</tt> ermöglicht das Setzen von vertrauenswürdigen Bürgerkartenumgebungen. In <tt>BKUURL</tt> Unterelementen werden die vertrauenswürdigen URLs eingetragen. Diese Liste von URLs wird mit dem Aufruf-Parameter bkuURI abgeglichen. Lokale Bürgerkartenumgebungen müssen nicht eingetragen werden - diesen wird automatisch vertraut. </p> <p id="TrustedTemplateURLs"> <b>TrustedTemplateURLs</b><br /> Das Element <tt>TrustedTemplateURLs</tt> ermöglicht das Setzen von vertrauenswürdigen Templates, die sich auf externen Servern befinden. In <tt>TemplateURL</tt> Unterelementen werden die vertrauenswürdigen URLs eingetragen. Diese Liste von URLs wird mit dem Aufruf-Parameter Template abgeglichen. </p> <h1><a name="oa-config" id="oa-config">2 Konfiguration der Online-Applikation</a></h1> <p>Die Konfiguration der OA beschreibt die Art und Weise, wie die Proxykomponente die Anmeldung an der Online-Applikation durchführt. </p> <p>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://<realURLPrefix>/MOAConfig.xml</tt> geladen, wobei <tt><realURLPrefix></tt> dem Konfigurationswert <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt> entspricht. </p> <p>Die Konfigurationsdatei ist eine XML-Datei, die dem Schema <a href="../MOA-ID-Configuration-1.5.1.xsd" target="_new">MOA-ID-Configuration-1.5.1.xsd</a> mit dem Wurzelelement <tt>Configuration</tt> entspricht. </p> <p id="LoginType"> <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üssen (<tt>stateless</tt>). Im Fall einer stateful Online-Applikation werden die in der HTTP-Session der Proxykomponente gespeicherten Anmeldedaten nur für den Aufruf des Login-Scripts verwendet. Unmittelbar nach dem Aufruf werden sie gelöscht. <br /> Default-Wert: <tt>stateful</tt> </p> <p id="ParamAuth"> <b>ParamAuth</b><br /> Konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Applikation mittels URL-Parametern. Das Element kann ein oder mehrere Kind-Elemente <tt><Parameter></tt> beinhalten. </p> <p id="Parameter"> <b>ParamAuth/Parameter</b><br /> Das Element <tt><Parameter></tt> enthält die Attribute <tt>Name</tt> und <tt>Value</tt>. <p>Das Attribut <tt>Name</tt> beschreibt den Namen des Parameters und ist ein frei zu wählender String. <p>Das Attribut <tt>Value</tt> beschreibt den Inhalt des Parameters und kann einen der durch <tt>MOAAuthDataType</tt> beschriebenen Werte annehmen. Gü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ü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ördenerweiterung</a> beinhaltet. Andernfalls wird <tt>false</tt> gesetzt <li><tt>MOABKZ</tt> - das Behö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ü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><Parameter></tt>-Elemente wird der Request für den Login-Vorgang (für stateful Online-Applikationen) folgendermaßen zusammenge-stellt:<br /> <blockquote> <code>GET https://<login-url>?<br /> <p1.name=p1.resolvedValue>&<br /> <p2.name=p2.resolvedValue>...</code> </blockquote> <p> Die <tt><login-url></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> <p id="BasicAuth"> <b>BasicAuth</b><br /> Das Element <tt>BasicAuth</tt> konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Appliktion mittels HTTP Basic Authentication. Es enthält zwei Kind-Elemente. </p> <p> Das Element <tt>UserID</tt> gibt die UserId des zu authentisierenden Benutzers an und kann einen der durch <tt>MOAAuthDataType</tt> beschriebenen Werte annehmen. </p> <p>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> <p id="HeaderAuth"> <b>HeaderAuth</b><br /> Das Element <tt>HeaderAuth</tt> konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Applikation in HTTP Request Headern. Das Element kann ein oder mehrere Kind-Elemente <tt><Header></tt> beinhalten. </p> <p id="Header"> <b>HeaderAuth/Header</b><br /> Das Element <tt><Header></tt> enthält die Attribute Name und Value. <p>Das Attribut <tt>Name</tt> beschreibt den Namen des Header und ist ein frei zu wählender String. <p>Das Attribut <tt>Value</tt> beschreibt den Inhalt des Header und kann einen der durch <tt>MOAAuthDataType</tt> beschriebenen Werte annehmen. <p>Die Header werden folgendermaßen in den Request an die Online-Applikation eingefügt: <blockquote> <pre> <h1.name>:<h1.resolvedValue> <h2.name>:<h2.resolvedValue> ... </pre> </blockquote> <p>Der Wert <tt>resolvedValue</tt> wird in der Proxykomponente je nach Wert des Platzhalters eingesetzt. Etwaige Header aus dem ursprünglichen Request an die Proxykomponente, die denselben Namen haben, müssen überschrieben werden. </p> <h1><a name="sp-config" id="sp-config">3 Konfiguration von MOA-SP</a></h1> <p>MOA-ID überprü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 id"verifytransformsInfoProfile">VerifyTransformsInfoProfile</b><br /> Der Request zum überprü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ändert übernommen werden. </p> <p id="trustProfile"> <b>TrustProfile</b><br /> Die Requests zur überprü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önnen unterschiedliche oder identische TrustProfileIDs enthalten. Am MOA-SP Server müssen TrustProfile mit gleichlautender ID definiert werden. Die Auslieferung von MOA-ID enthält das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/trustprofiles/MOAIDBuergerkarteRoot</tt>, das als TrustProfile verwendet werden kann. Weitere Zertifikate können als vertrauenswürdig hinzugefügt werden. </p> <p id="certstore"> <b>Certstore</b><br /> Zum Aufbau eines Zertifikatspfades können benötigte Zertifikate aus einem Zertifikatsspeicher verwendet werden. Die Auslieferung von MOA-ID enthält das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/certstore</tt>, das als initialer Zertifikatsspeicher verwendet werden kann. </p> <p>Hinweis: Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues Format für die XML-Konfigurationsdatei. Für die Konvertierung einer älteren Konfigurationsdatei auf das neue Format steht Ihnen ein Tool zur Verfügung. Details dazu finden sie in der der Distribution von MOA-SP/SS beiligenden Dokumentation im Kapitel 'Konfiguration', Abschnitt 1.2.1.</p> <h1><a name="online-config" id="online-config">4 Änderung der Konfiguration während des Betriebs</a></h1> <p>Der Inhalt dieser Konfiguration, bzw. jene Teile, auf die indirekt verwiesen wird, können während des laufenden Betriebes des MOA-Servers geä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änderte Konfiguration neu einzulesen. Im Falle einer fehlerhaften neuen Konfiguration wird die ursprüngliche Konfiguration beibehalten.</p> <h1><a name="errorpages" id="errorpages">5 Ändern der Default Errorpages</a></h1> <p>Die Default-Errorpages geben bei MOA-ID-AUTH und MOA-ID-PROXY immer die entsprechende Fehlermeldung aus, so eine vorhanden ist. Möchte man dies verhindern bzw. abhängig vom eingestellten Log-Level machen so können diese Errorpages ersetzt werden. Entsprechende Errorpages sind unter $MOA_ID_INST_AUTH/errorpages bzw. $MOA_ID_INST_PROXY/errorpages zu finden. Diese kö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ü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ängig vom Log-Level erfolgt nur einen allgemeine Ausgabe, dass ein Fehler aufgetreten ist.</li> </ul> <h1><a name="security" id="security">6 Tomcat Security Manager</a></h1> <p>Apache Tomcat bietet die Möglichkeit den Server unter einem Security Manager zu betreiben. Damit ist es möglich den lokalen Dateizugriff zu beschränken. Mit Hilfe der Datei "catalina.policy" kö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> </body> </html>