| Konfiguration von MOA ID v.1.2 Konfiguration von MOA ID v.1.2  Die Konfiguration von MOA ID wird mittels einer XML-basierten 
            Konfigurationsdatei, die dem Schema MOA-ID-Configuration-1.2.xsd 
            entspricht, durchgeführt. 
          Der Ort der Konfigurationsdatei wird im Abschnitt Deployment 
            der Web-Applikation in Tomcat beschrieben. 
           Die folgenden Abschnitte erläutern das Format der Konfigurationsdatei. 
            MOA-ID-Configuration.xml 
            zeigt ein Beispiel für eine umfassende Konfigurationsdatei. Enthält die Konfigurationsdatei relative Pfadangaben, werden 
            diese relativ zum Verzeichnis, in dem sich die MOA-ID Konfigurationsdatei 
            befindet, interpretiert.
  ConnectionParameter Das Element ConnectionParameter 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.
 
 Das Attribut URL enthält die URL der Komponente zu 
              der die Verbindung aufgebaut werden soll. Wird das Schema https 
              verwendet, können die Kind-Elemente AcceptedServerCertificates 
              und ClientKeyStore angegeben werden. Wird das Schema http 
              verwendet müssen keine Kind-Elemente angegeben werden bzw. 
              werden diese nicht ausgewertet. Andere Schemas werden nicht unterstützt.
 
 Wird die Verbindung über TLS aufgebaut und erfordert der TLS-Server 
              eine Client-Authentisierung mittels Zertifikate, dann muss das Kind-Element 
              ClientKeyStore spezifiziert werden. Im Element ClientKeyStore 
              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 ClientKeyStore/@password 
              konfiguriert.
 Aufgrund der Tatsache, dass starke Verschlüsselung eine Voraussetzung 
              für MOA-ID darstellt, werden clientseitig nur die folgenden 
              Cipher Suites unterstützt:
 
 
              Im Kind-Element AcceptedServerCertificates 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 <TrustedCACertificates> angegebenen 
            Zertifikaten erstellt werden kann. Falls dies nicht möglich ist, 
            kommt es zu einem Fehlerfall.SSL_RSA_WITH_RC4_128_SHASSL_RSA_WITH_RC4_128_MD5SSL_RSA_WITH_3DES_EDE_CBC_SHA  AuthComponent AuthComponent 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 AuthComponent hat vier Kind-Element:
 
                BKUSelection (optional)SecurityLayerMOA-SPIdentityLinkSigners  AuthComponent/BKUSelection Das optionale Element BKUSelection 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 http://localhost:3495/http-security-layer-request 
                  verwendet.
 
 Das Attribut BKUSelectionAlternative gibt an welche 
                  Alternative zur BKU-Auswahl verwendet werden soll. MOA-ID unterstützt 
                  die Werte HTMLComplete (vollständige HTML-Auswahl) 
                  und HTMLSelect (HTML-Code für Auswahl) ["Auswahl 
                  von Bürgerkartenumge-bungen", Arno Hollosi].
 
 Das Kind-Element ConnectionParameter spezifiziert die 
                  Verbindung zum Auswahldienst (siehe ConnectionParameter), 
                  jedoch kann das Kind-Element ClientKeyStore nicht angegeben 
                  werden.
  AuthComponent/SecurityLayer Das Element SecurityLayer enthält Parameter 
                    zur Nutzung des Security-Layers.
 
 Das Kind-Element TransformsInfo spezifiziert eine 
                    Transformation, die für die Erstellung der Signatur des 
                    AUTH-Blocks als Parameter in den CreateXMLSignatureRequest 
                    des Security-Layers integriert werden muss. Mehrere unterschiedliche 
                    Implementierungen des Security-Layer können durch die 
                    Angabe mehrerer TransformsInfo-Elemente unterstützt 
                    werden.
 
 Das Attribut TransformsInfo/@filename verweist auf 
                    eine Datei, die das globale Element TransformsInfo 
                    vom Typ TransformsInfo enthält. Die Angabe erfolgt 
                    relativ zur MOA-ID Konfigurationsdatei. Das Encoding dieser 
                    Datei muss UTF-8 sein.
 
 Beispiel für 
                    eine TransformsInfo-Datei
  AuthComponent/MOA-SP Das Element MOA-SP 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.
 
 Wird das Kind-Element ConnectionParameter angegeben, 
                      dann wird MOA-SP über das Webservice angesprochen.
 Wird das Kind-Element ConnectionParameter 
                      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 $MOA_ID_INST_AUTH/conf/moa-spss/SampleMOASPSSConfiguration.xml 
                      enthalten.  Hinweis: MOA-SP muss entsprechend konfiguriert 
                        werden - siehe hierzu Abschnitt Konfiguration 
                        von MOA-SP. Alle Details zur Konfiguration von MOA-SP 
                        finden sie in der Distribution von MOA-SP/SS beiligenden 
                        Dokumentation im Abschnitt 'Konfiguration'.
 Das Kind-Element VerifyIdentityLink/TrustProfileID 
                        spezifiziert eine TrustProfileID, die für den VerifyXMLSignatureRequest 
                        zur Überprüfung der Signatur der Personenbindung 
                        verwendet werden muss. Diese TrustProfileID muss beim 
                        verwendeten MOA-SP Modul konfiguriert sein.
 
 Die Kind-Elemente VerifyAuthBlock/TrustProfileID 
                        und VerifyAuthBlock/VerifyTransformsInfoProfileID 
                        spezifizieren eine TrustProfileID und eine ID für 
                        ein Transformationsprofil, die für den VerifyXMLSignatureRequest 
                        zur überprüfung der Signatur des Auth-Blocks 
                        verwendet werden müssen. Diese TrustProfileID muss 
                        beim verwendeten MOA-SP Modul konfiguriert sein.
  AuthComponent/IdentityLinkSigners 
                        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 X509SubjectName 
                        nach RFC 2253 spezifiziert werden.
 
 Beispiel
 
 
  ProxyComponent ProxyComponent 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.
 
 Das Element ProxyComponent hat nur das Kind-Element 
                          AuthComponent, das die Verbindung zur Authentisierungs-komponente 
                          beschreibt.
 
 Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente 
                          über ein Webservice auf, dann muss das Element 
                          ConnectionParameter spezifiziert werden.
 
 Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente 
                          über das API auf, dann wird das Element ConnectionParameter 
                          nicht spezifiziert.
  OnlineApplication Für jede Online-Applikation, die über MOA-ID 
                            authentisiert wird, gibt es ein Element OnlineApplication. 
                            Die Parameter betreffen teils die MOA-ID Authentisierungskomponente, 
                            teils die MOA-ID Proxykomponente, teils beide.
 
 Das Attribut OnlineApplication/@publicURLPrefix 
                            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 OnlineApplication/ProxyComponent/ConnectionParameter/@URL) 
                            ersetzt wird. Es dient als Schlüssel zum Auffinden 
                            der Konfigurationsparameter zur Online-Applikation.
 Das Attribut OnlineApplication/@keyBoxIdentifier 
                            gibt das Schlüsselpaar an, welches von der Bürgerkartenumgebung 
                            zum Signieren des Auth Blocks verwendet wird. Mögliche 
                            Werte: CertifiedKeypair sowie SecureSignatureKeypair.
 Das Element OnlineApplication hat optional 
                            zwei Kind-Elemente: AuthComponent und ProxyComponent.
  OnlineApplication/AuthComponent 
                              Das Element OnlineApplication/AuthComponent 
                              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.
 
 Das Attribut provideStammzahl bestimmt, 
                              ob die Stammzahl in den Anmeldedaten aufscheint 
                              oder ob der Wert ausgeblendet (d.h. auf den Leerstring) 
                              wird. Die Attribute provideAUTHBlock und 
                              provideIdentityLink steuern ob die Anmeldedaten 
                              den Auth-Block bzw. die Personenbindung enthalten. 
                              Alle Attribute sind optional und haben den Default-Wert 
                              false.
 
 
  OnlineApplication/ProxyComponent 
                                Das Element OnlineApplication/ProxyComponent 
                                muss verwendet werden wenn auf dem Server die 
                                Proxykomponente installiert wird.
 
 Das optionale Attribut configFileURL 
                                verweist auf eine Konfigurationsdatei die dem 
                                Schema MOA-ID-Configuration-1.2.xsd 
                                entspricht mit Dokument-Element Configuration. 
                                Die Angabe erfolgt relativ zur verwendeten MOA-ID 
                                Konfigurationsdatei. Beispiel für das Element 
                                configFileURL: "oa/SampleOAConfiguration.xml".
 Defaultmäßig wird versucht die Datei 
                                von der betreffenden OnlineApplikation unter dem 
                                Wert: http://<realURLPrefix>/MOAConfig.xml 
                                zu laden.
 (<realURLPrefix> entspricht dem 
                                Wert von OnlineApplication/ProxyComponent/ConnectionParameter/@URL)
 
 Das optionale Attribut sessionTimeOut 
                                legt das Timeout einer Benutzersession in der 
                                Proxykomponente in Sekunden fest.
 Default-Wert: 3600
 
 Im optionalen Attribut loginParameterResolverImpl 
                                kann der Klassenname eines zu verwendenden LoginParameterResolver 
                                angegeben werden, welcher die Defaultimplementierung 
                                ersetzt.
 
 Im optionelen Attribut loginParameterResolverConfiguration 
                                kann ein Configurationsstring für die 
                                Initialisierung der betreffenden loginParameterResolverImpl 
                                angegeben werden.
 Im optionalen Attribut connectionBuilderImpl 
                                kann der Klassenname eines zu verwendenden ConnectionBuilder 
                                angegeben werden, welcher die Defaultimplementierung 
                                ersetzt.
 
 Im Kind-Element ConnectionParameter ist 
                                konfiguriert, wie MOA-ID-PROXY zur Online-Applikation 
                                verbindet.
  ChainingModesDas Element ChainingModes definiert, 
                                  ob bei der Zertifikatspfad-überprüfung 
                                  das Kettenmodell ("chaining") oder 
                                  das Modell nach PKIX RFC 3280 ("pkix") 
                                  verwendet werden soll.
 
 Das Attribut systemDefaultMode spezifiziert 
                                  das Modell, das im Standardfall verwendet werden 
                                  soll.
 
 Mit dem Kind-Element TrustAnchor kann 
                                  für jeden Trust Anchor ein abweichendes 
                                  Modell spezifiziert werden. Ein Trust Anchor 
                                  ist ein Zertifikat, das in TrustedCACertificates 
                                  spezifiziert ist. Ein Trust Anchor wird durch 
                                  den Typ <dsig:X509IssuerSerialType> 
                                  spezifiziert. Das für diesen Trust Anchor 
                                  gültige Modell wird durch das Attribut 
                                  mode spezifiziert.
 
 Gültige Werte für die Attribute systemDefaultMode 
                                  und mode sind "chaining" und 
                                  "pkix".
 
 Beispiel
  TrustedCACertificatesDas Element TrustedCACertificates 
                                    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.
  GenericConfigurationDas Element GenericConfiguration 
                                      ermöglicht das Setzen von Namen-Werte 
                                      Paaren mittels der Attribute name 
                                      und value. Die folgende Liste spezifiziert
 
                                      gültige Werte für das name-Attribut, 
                                      eine Beschreibung gültige Werte für das value-Attribut 
                                        und (falls vorhanden)den Default-Wert für das value-Attribut. 
                                       
                                       
                                        | name: DirectoryCertStoreParameters.RootDir |   
                                        | Gibt den Pfadnamen zu einem 
                                          Verzeichnis an, das als Zertifikatsspeicher 
                                          im Zuge der TLS-Server-Zertifikatsüberprüfung 
                                          verwendet wird. 
 value:
 Gültige Werte: Name eines gültigen 
                                          Verzeichnisses (relativ zur MOA-ID Konfigurationsdatei)
 Dieser Parameter muss angegeben werden.
 |  
                                       
                                        | name: AuthenticationSession.TimeOut |   
                                        | Gibt die Zeitspanne in 
                                          Sekunden vom Beginn der Authentisierung 
                                          bis zum Anlegen der Anmeldedaten an. 
                                          Wird die Angegebene Zeitspanne überschritten 
                                          wird der Anmeldevorgang abgebrochen. 
 value:
 Gültige Werte: positive Ganzzahlen
 Default-Wert: 120
 |  
                                       
                                        | name: AuthenticationData.TimeOut |   
                                        | 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. 
 value:
 Gültige Werte: positive Ganzzahlen
 Default-Wert: 600
 |  
                                       
                                        | name: TrustManager.RevocationChecking |   
                                        | 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). Soll das RevocationChecking generell 
                                          ausgeschaltet werden, ist dieses Attribut 
                                          anzugeben und auf "false" zu setzen.
 
 value:
 Gültige Werte: true, false
 Default-Wert: true
 |  
                                       
                                        | name: FrontendServlets.EnableHTTPConnection |   
                                        | 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.  Wenn die beiden Servlets jedoch auch 
                                            Verbindungen nach dem Schema HTTP 
                                            entgegennehmen sollen, so kann mittels 
                                            dem Attribut "EnableHTTPServletConnection" 
                                            erlaubt werden. 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. value:
 Gültige Werte: true, false
 Default-Wert: false
 |  
                                       
                                        | name: 
                                          FrontendServlets.DataURLPrefix |   
                                        | 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. value:
 Gültige Werte: URLs nach dem Schema 
                                          'http://' und 'https://'
 Default-Wert: kein Default-Wert
 Beispiel: <GenericConfiguration name="FrontendServlets.DataURLPrefix" 
                                          value="https://<your_webserver>/moa-id-auth/"/>
 |  |