diff options
Diffstat (limited to 'id')
20 files changed, 667 insertions, 388 deletions
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties index 67ee294c9..2a57620bb 100644 --- a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties +++ b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties @@ -312,17 +312,17 @@ webpages.oaconfig.sso.singlelogouturl=Single Log-Out URL webpages.oaconfig.sso.useauthdataframe=Zus\u00E4tzliche Userabfrage webpages.oaconfig.sso.usesso=Single Sign-On verwenden -webpages.oaconfig.stork.header=Secure idenTity acrOss boRders linKed +webpages.oaconfig.stork.header=eIDAS Authentifizierung webpages.oaconfig.stork.enabledcpeps=aktivierte Zielländer webpages.oaconfig.stork.attributes.header=angeforderte Attribute webpages.oaconfig.stork.attributes.used=anfordern? webpages.oaconfig.stork.attributes.name=Attributname webpages.oaconfig.stork.attributes.mandatory=obligatorisch? -webpages.oaconfig.stork.usestork=STORK Logon aktivieren +webpages.oaconfig.stork.usestork=eIDAS Logon aktivieren webpages.moaconfig.stork.pepslist=C-PEPS Konfiguration webpages.moaconfig.stork.newpeps=Neuen PEPS konfigurieren webpages.moaconfig.stork.removepeps=L\u00F6schen -webpages.moaconfig.stork.qaa.default=Standard QAA-Level ausw\u00E4hlen +webpages.moaconfig.stork.qaa.default=Erforderlicher LoA ausw\u00E4hlen webpages.moaconfig.stork.attributes.heading=Attributkonfiguration webpages.moaconfig.stork.attributes.new=Neues Attribut hinzuf\u00FCgen webpages.moaconfig.stork.attributes.heading.name=Attributname diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties index 995fbb225..6b6fe9193 100644 --- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties +++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties @@ -310,8 +310,8 @@ webpages.oaconfig.sso.singlelogouturl=Single Log-Out URL webpages.oaconfig.sso.useauthdataframe=Additional user request webpages.oaconfig.sso.usesso=Use Single Sign-On -webpages.oaconfig.stork.header=Secure idenTity acrOss boRders linKed -webpages.oaconfig.stork.usestork=Activate STORK Logon +webpages.oaconfig.stork.header=eIDAS Authentication +webpages.oaconfig.stork.usestork=Activate eIDAS Logon webpages.oaconfig.stork.attributes.header=requested attributes webpages.oaconfig.stork.attributes.used=require? webpages.oaconfig.stork.attributes.name=Attribute name @@ -320,7 +320,7 @@ webpages.oaconfig.stork.enabledcpeps=activated target countries webpages.moaconfig.stork.pepslist=C-PEPS configuration webpages.moaconfig.stork.newpeps=Configure new PEPS webpages.moaconfig.stork.removepeps=Remove -webpages.moaconfig.stork.qaa.default=Select standard QAA-Level +webpages.moaconfig.stork.qaa.default=Select required LoA webpages.moaconfig.stork.attributes.heading=Configuration of attributes webpages.moaconfig.stork.attributes.new=Add new attribute webpages.moaconfig.stork.attributes.heading.name=Name of attribute diff --git a/id/history.txt b/id/history.txt index 3ef96f1bc..187aaf514 100644 --- a/id/history.txt +++ b/id/history.txt @@ -1,5 +1,14 @@ Dieses Dokument zeigt die Veränderungen und Erweiterungen von MOA-ID auf.
+Version MOA-ID Release 3.4.1: Änderungen seit Version MOA-ID 3.4.0
+- Änderungen
+ - Security-Fix - Struts2 (CVE-2018-11776)
+ - Bugfix - Solve problem in Monitoring Servlet that tests statistic database connection
+ - Bugfix - Solve dependency problem if statistic log is deactivated
+ - Bugfix - Solve possible NullPointerException in SL2.0 authentication module
+ - Bugfix - Update logmessage in case of wrong encoded foreign-bPK decryption keys
+ - Update some textual desciptions in moa-id-configuration
+
Version MOA-ID Release 3.4.0: Änderungen seit Version MOA-ID 3.3.2
- Änderungen
- Unerstützung der Authentifizierung von ausländischen Bürgern via eIDAS
diff --git a/id/readme_3.4.1.txt b/id/readme_3.4.1.txt new file mode 100644 index 000000000..a753de2a3 --- /dev/null +++ b/id/readme_3.4.1.txt @@ -0,0 +1,333 @@ +=============================================================================== +MOA ID Version Release 3.4.1 - Wichtige Informationen zur Installation +=============================================================================== + +------------------------------------------------------------------------------- +A. Neuerungen/Änderungen +------------------------------------------------------------------------------- + +Mit MOA ID Version 3.4.1 wurden folgende Neuerungen und Änderungen eingeführt, +die jetzt erstmals in der Veröffentlichung enthalten sind (siehe auch +history.txt im gleichen Verzeichnis). + +- Änderungen + - Security-Fix - Struts2 (CVE-2018-11776) + - Bugfix - Solve problem in Monitoring Servlet that tests statistic database connection + - Bugfix - Solve dependency problem if statistic log is deactivated + - Bugfix - Solve possible NullPointerException in SL2.0 authentication module + - Bugfix - Update logmessage in case of wrong encoded foreign-bPK decryption keys + - Update some textual desciptions in moa-id-configuration + +------------------------------------------------------------------------------- +B. Durchführung eines Updates +------------------------------------------------------------------------------- + +Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch +eine Aktualisierung bestehender Installationen möglich. Je nachdem von welcher +MOA-ID Version ausgegangen wird ergibt sich eine Kombination der nachfolgend +angebebenen Updateschritte. + +Hinweis: Wenn Sie die bestehende Konfiguration von MOA-ID 2.x.x in MOA-ID 3.4.x +reimportieren möchten, so muss diese vor dem Update mit Hilfe der import/export +Funktion der grafischen Konfigurationsoberfläche in eine Datei exportiert werden. +Diese Datei dient dann als Basis für den Import in MOA-ID 3.4.x. + +............................................................................... +B.0 Durchführung eines Updates von Version 3.4.0 auf Version 3.4.1 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.4.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + +............................................................................... +B.1 Durchführung eines Updates von Version 3.3.x auf Version 3.4.1 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.4.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties +6.1 Anbindung an zentralen nationalen eIDAS Connector + > modules.eidascentralauth.keystore.path= + > modules.eidascentralauth.keystore.password= + > modules.eidascentralauth.metadata.sign.alias= + > modules.eidascentralauth.metadata.sign.password= + > modules.eidascentralauth.request.sign.alias= + > modules.eidascentralauth.request.sign.password= + > modules.eidascentralauth.response.encryption.alias= + > modules.eidascentralauth.response.encryption.password= + > modules.eidascentralauth.node.trustprofileID=centralnode_metadata + +7. Update der MOA-SPSS Konfiguration + a.) Erstellen Sie eine Sicherungskopie der Verzeichnisse: + - CATALINA_HOME\conf\moa-spss + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\centralnode_metadata + in das Verzeichnis CATALINA_HOME\conf\moa-spss\trustProfiles\centralnode_metadata + c.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-spss\profiles\SL20.* + in das Verzeichnis CATALINA_HOME\conf\moa-spss\profiles\ + d.) Kopieren Sie die Datei MOA_ID_INST_AUTH\conf\moa-spss\SampleMOASPSSConfiguration.xml + in das Verzeichnis CATALINA_HOME\conf\moa-spss\ , oder aktualisieren Sie ihre aktuell + verwendete MOA-SPSS Konfiguration manuell. Folgende Teile wurden ergänzt: + ... + <cfg:Id>centralnode_metadata</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/centralnode_metadata</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + ... + <cfg:VerifyTransformsInfoProfile> + <cfg:Id>SL20Authblock_v1.0</cfg:Id> + <cfg:Location>profiles/SL20_authblock_v1.0.xml</cfg:Location> + </cfg:VerifyTransformsInfoProfile> + <cfg:VerifyTransformsInfoProfile> + <cfg:Id>SL20Authblock_v1.0_SIC</cfg:Id> + <cfg:Location>profiles/SL20_authblock_v1.0_SIC.xml</cfg:Location> + </cfg:VerifyTransformsInfoProfile> + ... + +8. HTML Template updates +8.1 Update der HTML Templates für Auswahl des zentralen nationalen eIDAS Connectors + Sollten Sie eigene Modifikationen an den bestehenden Templates vorgenommen + haben müssen die Anpassungen manuell in die neuen Templates übertragen werden. + MOA-ID 3.4.0 kann jedoch auch mit den bestehenden Templates betrieben werden, sofern + keine Unterstützung für eIDAS benötigt wird. + a.) Erstellen Sie eine Sicherungskopie der Verzeichnisse: + - CATALINA_HOME\conf\moa-id\htmlTemplates + - CATALINA_HOME\conf\moa-id-configuration\htmlTemplates + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates + d.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. + +9. Update the MOA-ID Konfiguration via Web-basierten Konfigurationstool + Diese Schitte können erst nach der Installation und dem Start der Applikation + moa-id-configuration.war durchgeführt werden +9.1 Anbindung an zentralen nationalen eIDAS Connector + a.) Bekanntgabe von Endpunkten (Produktiv, Test, ... ) der verwendbaren + zentralen nationalen eIDAS Connectoren. + + b.) Auswahl des gewünschten zentraler nationaler eIDAS Connector je Online-Applikation + sofern im Schritt a. mehr als Ein Endpunkt konfiguriert wurde. + Hinweis: Als Default wird immer der Erste im Schritt a. hinterlegte Endpunkt verwendet + +10. Optionale Updates: +10.1 Unterstützung der neuen VDA Schnittstelle via Security-Layer 2.0: + Hierbei handelt es sich um eine Authentifizierungsschnittstelle im Beta Status + da die Spezifikation der Schnittstelle noch nicht Final ist. Die Schnittstelle ist in + MOA-ID funktional umgesetzt, es kann jedoch noch offene Punkte bezüglich Fehlerhändlung + und Logging geben. + a.) Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + > modules.sl20.security.keystore.path=keys/sl20.jks + > modules.sl20.security.keystore.password=password + > modules.sl20.security.sign.alias=signing + > modules.sl20.security.sign.password=password + > modules.sl20.security.encryption.alias=encryption + > modules.sl20.security.encryption.password=password + + b.) Aktivierung je Online-Applikation im Web-basierten Konfigurationstool + Die neue VDA-Schnittstelle muss je Online-Applikation aktiviert werden, wobei + die Aktivierung im Abschnitt "Security Layer für mobile Authententifizierung" + der Online-Applikationskonfiguration erfolgt. + +10.2 Umstellung auf Java JDK 9 + Die 'JAVA_HOME\jre\lib\ext' und die 'CATALINA_HOME_ID\endorsed' wird in Java 9 + nicht mehr unterstützt und entsprechende Referenzen müssen aus den Start-Scripts + entfernt werden. Ab MOA-ID 3.3.2 sind die Bibliotheken, welche früher in + den beiden Verzeichnissen hinterlegt waren, direkt in MOA-ID integriert. + +11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +################################################################################################################ + +............................................................................... +B.1 Durchführung eines Updates von Version 3.2.x auf Version 3.4.0 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.4.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +7. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +8. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis + CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach. + +9. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das + Verzeichnis CATALINA_HOME_ID\endorsed. + +10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties +10.1 Anbindung an zentralen nationalen eIDAS Connector + > modules.eidascentralauth.keystore.path= + > modules.eidascentralauth.keystore.password= + > modules.eidascentralauth.metadata.sign.alias= + > modules.eidascentralauth.metadata.sign.password= + > modules.eidascentralauth.request.sign.alias= + > modules.eidascentralauth.request.sign.password= + > modules.eidascentralauth.response.encryption.alias= + > modules.eidascentralauth.response.encryption.password= + > modules.eidascentralauth.node.trustprofileID=centralnode_metadata + +11. Update der MOA-SPSS Konfiguration + a.) Erstellen Sie eine Sicherungskopie der Verzeichnisse: + - CATALINA_HOME\conf\moa-spss + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\centralnode_metadata + in das Verzeichnis CATALINA_HOME\conf\moa-spss\trustProfiles\centralnode_metadata + c.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-spss\profiles\SL20.* + in das Verzeichnis CATALINA_HOME\conf\moa-spss\profiles\ + d.) Kopieren Sie die Datei MOA_ID_INST_AUTH\conf\moa-spss\SampleMOASPSSConfiguration.xml + in das Verzeichnis CATALINA_HOME\conf\moa-spss\ , oder aktualisieren Sie ihre aktuell + verwendete MOA-SPSS Konfiguration manuell. Folgende Teile wurden ergänzt: + ... + <cfg:Id>centralnode_metadata</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/centralnode_metadata</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + ... + <cfg:VerifyTransformsInfoProfile> + <cfg:Id>SL20Authblock_v1.0</cfg:Id> + <cfg:Location>profiles/SL20_authblock_v1.0.xml</cfg:Location> + </cfg:VerifyTransformsInfoProfile> + <cfg:VerifyTransformsInfoProfile> + <cfg:Id>SL20Authblock_v1.0_SIC</cfg:Id> + <cfg:Location>profiles/SL20_authblock_v1.0_SIC.xml</cfg:Location> + </cfg:VerifyTransformsInfoProfile> + ... + +12. HTML Template updates +12.1 Update der HTML Templates für Auswahl des zentralen nationalen eIDAS Connectors + Sollten Sie eigene Modifikationen an den bestehenden Templates vorgenommen + haben müssen die Anpassungen manuell in die neuen Templates übertragen werden. + MOA-ID 3.4.0 kann jedoch auch mit den bestehenden Templates betrieben werden, sofern + keine Unterstützung für eIDAS benötigt wird. + a.) Erstellen Sie eine Sicherungskopie der Verzeichnisse: + - CATALINA_HOME\conf\moa-id\htmlTemplates + - CATALINA_HOME\conf\moa-id-configuration\htmlTemplates + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates + d.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. + +13. Update the MOA-ID Konfiguration via Web-basierten Konfigurationstool + Diese Schitte können erst nach der Installation und dem Start der Applikation + moa-id-configuration.war durchgeführt werden +13.1 Anbindung an zentralen nationalen eIDAS Connector + a.) Bekanntgabe von Endpunkten (Produktiv, Test, ... ) der verwendbaren + zentralen nationalen eIDAS Connectoren. + + b.) Auswahl des gewünschten zentraler nationaler eIDAS Connector je Online-Applikation + sofern im Schritt a. mehr als Ein Endpunkt konfiguriert wurde. + Hinweis: Als Default wird immer der Erste im Schritt a. hinterlegte Endpunkt verwendet + +14. Optionale Updates: +14.1. Unterstützung der neuen VDA Schnittstelle via Security-Layer 2.0: + Hierbei handelt es sich um eine Authentifizierungsschnittstelle im Beta Status + da die Spezifikation der Schnittstelle noch nicht Final ist. Die Schnittstelle ist in + MOA-ID funktional umgesetzt, es kann jedoch noch offene Punkte bezüglich Fehlerhändlung + und Logging geben. + a.) Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + > modules.sl20.security.keystore.path=keys/sl20.jks + > modules.sl20.security.keystore.password=password + > modules.sl20.security.sign.alias=signing + > modules.sl20.security.sign.password=password + > modules.sl20.security.encryption.alias=encryption + > modules.sl20.security.encryption.password=password + + b.) Aktivierung je Online-Applikation im Web-basierten Konfigurationstool + Die neue VDA-Schnittstelle muss je Online-Applikation aktiviert werden, wobei + die Aktivierung im Abschnitt "Security Layer für mobile Authententifizierung" + der Online-Applikationskonfiguration erfolgt. + +14.2. Umstellung auf Java JDK 9 + Die 'JAVA_HOME\jre\lib\ext' und die 'CATALINA_HOME_ID\endorsed' wird in Java 9 + nicht mehr unterstützt und entsprechende Referenzen müssen aus den Start-Scripts + entfernt werden. Ab MOA-ID 3.3.2 sind die Bibliotheken, welche früher in + den beiden Verzeichnissen hinterlegt waren, direkt in MOA-ID integriert. + +14.3. Das BKU Auswahltemplate von MOA-ID wurde um eine Detection der lokalen BKU + erweitert und mocca Online wurde entfernt. + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. +14.4. Die mySQL Treiber 'com.mysql.jdbc.Drive' und 'org.hibernate.dialect.MySQLDialect' + sind deprecated für aktuelle mySQL DB Versionen. Der neue Treiber + für mySQL Datenbanken lautet 'com.mysql.cj.jdbc.Driver' und ein aktuellerer + Hibernate Dialect lautet 'org.hibernate.dialect.MySQL5Dialect'. + Sollte es zu Problemen kommen ersetzen Sie entsprechenden Zeilen durch: + a.) Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + moasession.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect + moasession.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver + configuration.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect + configuration.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver + advancedlogging.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect + advancedlogging.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver + b.) Konfigurationsdatei CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties + hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver + +15. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.2 Durchführung eines Updates von Version < 3.2.0 +............................................................................... + +Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen +Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter +Zuhilfenahme Ihrer bisherigen Konfiguration an. + diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/css_template.css b/id/server/data/deploy/conf/moa-id/htmlTemplates/css_template.css index 40e8eae7a..3fc7f934c 100644 --- a/id/server/data/deploy/conf/moa-id/htmlTemplates/css_template.css +++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/css_template.css @@ -6,6 +6,7 @@ background-color : #fff; text-align: left; background-color: #E6E6E6; + font-family: Arial, Helvetica, sans-serif; } .browserInfoButton{ @@ -14,19 +15,18 @@ #page { display: block; - margin: 0 auto; + margin: auto; margin-top: 5%; position: relative; background: rgb(255,255,255); } #page1 { - padding-top: 1%; text-align: center; } #main { - float:left; + padding-top: 2%; width: 100%; text-align: center; } @@ -43,20 +43,24 @@ min-height: 155px; margin-bottom: 5%; } + #mandateLogin { + display:flex; + flex-direction: row; padding-bottom: 1%; padding-top: 2%; + margin-left: 1%; position: relative; - text-align: left; - } + font-size: 0.75em; + } .unvisible { - visibility: hidden; + display:none; } .OA_header { - /* background-color: white;*/ font-size: 2.1em; + padding-top:1%; margin-bottom: 1%; margin-top: 1%; } @@ -73,31 +77,35 @@ } #processSelectionArea { - width: 550px; - margin-left: 25px; - margin-top: 35px; + float:left; + width: 100%; } .processSelectionButtonArea { - float: none; - margin-bottom: 5%; - height: 35px; + width:100%; } .processSelectionButton { background: #ababab; cursor: pointer; - height: 40px; - width: 200px; + height: 40%; + width: 25%; float: right; + padding-top: 1%; + padding-bottom: 1% + } + + #bkuselectionarea { + display:flex; + flex-direction: row; + margin-top: 2%; + text-align:center; } .buttonDescription { - float: left; - margin-left: 10px; - padding-bottom: 0.4em; + width: 62%; + margin-left: 1%; text-align: left; - width: 60%; } #processContent { @@ -109,46 +117,29 @@ margin-right: 5px; } - #bkukarte { - float:left; - width:33%; - text-align:center; - margin-top: 2%; + .bkuimage { + width: 50%; } - #bkuhandy { - float:left; - width:33%; - text-align:center; - margin-top: 2%; + input { + cursor: pointer; } - #bkueulogin { - display:block; - float:left; - text-align:center; - width:33%; - margin-top: 2%; + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ + font-size: 0.85em; + width:65%; + border:none; + background-color: transparent; } - .bkuimage { - width: 55%; - } + #localBKU input { + display: inline-block; - input { - width:auto; - cursor: pointer; - } - - #localBKU input { - display: inline-block; - - } - #localBKU input:hover, #localBKU input:focus, #localBKU input:active { - /*text-decoration: underline;*/ - } + #localBKU input:hover, #localBKU input:focus, #localBKU input:active { + /*text-decoration: underline;*/ + } #installJava, #BrowserNOK { clear:both; @@ -159,40 +150,26 @@ #ssoSessionTransferBlock { clear: both; - } + } #stork { clear: both; - } - - + } - .verticalcenter { - vertical-align: middle; - } - .mandate{ - float: left; - margin-left: 2%; font-size: 1.3em; } - #mandateLogin div { - clear: both; - margin-top: -1%; - position: relative; - top: 50%; - } #localBKU { padding-bottom: 4%; - /*padding-top: 4%;*/ position: relative; clear: both; text-align: center; } #selectArea { + float:left; width:90%; padding-left: 4% } @@ -204,6 +181,7 @@ width: 70px; height: 25px; } + #leftcontent { width: 70%; margin-bottom: 4%; @@ -211,6 +189,7 @@ border: 1px solid rgb(0,0,0); margin:auto; } + .hell { background-color : $MAIN_BACKGOUNDCOLOR; color: $MAIN_COLOR; @@ -221,12 +200,11 @@ color: $HEADER_COLOR; } - @media screen and (min-width: 650px) { #page { - width: 650px; - height: 460px; + width: 660px; + height: 460px; } #localBKU p { @@ -235,27 +213,12 @@ #localBKU input{ font-size: 0.85em; - /*border-radius: 5px;*/ - } - - #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ - font-size: 0.85em; - width:65% - } - - #mandateLogin { - font-size: 0.85em; - } - - #alert_area { - width: 500px; - padding-left: 80px; - } + } - #selectArea { + #selectArea { font-size: 15px; padding-bottom: 65px; - } + } #stork h2 { font-size: 1.0em; @@ -269,8 +232,7 @@ width: 100px; height: 30px } - - + #validation { position: absolute; bottom: 0px; @@ -280,7 +242,6 @@ } - @media screen and (max-width: 649px) { body { @@ -321,39 +282,27 @@ display: none; visibility: hidden; } - - + h2#tabheader{ font-size: 1.5em; position: relative; } + .mandate{ - font-size: 1.0em; + font-size: 1.2em; } #leftcontent { - float: left; width:auto; border:none; visibility:visible; margin-bottom: 2%; } + .bkuimage { width: 40%; } - - #bkukarte { - box-sizing: border-box; - } - - #bkuhandy { - box-sizing: border-box; - } - - #bkueulogin { - box-sizing: border-box; - } - + .setAssertionButton_full { background: #efefef; cursor: pointer; @@ -365,4 +314,32 @@ input[type=button],input[type=submit] { width:65%; } -}
\ No newline at end of file + + #processInfoArea { + margin-bottom: 4%; + margin-top: 4%; + } + + #processSelectionArea { + flaot:left; + width: 100%; + } + + .processSelectionButton { + flaot:left; + height: 10%; + width: 2%; + } + + .buttonDescription { + float: left; + width: 70%; + text-align: left; + } + + #processContent { + margin-top: 10%; + } + +} + diff --git a/id/server/doc/handbook/additional/additional.html b/id/server/doc/handbook/additional/additional.html index 557f3d528..98656e962 100644 --- a/id/server/doc/handbook/additional/additional.html +++ b/id/server/doc/handbook/additional/additional.html @@ -386,52 +386,52 @@ <td width="1127" valign="top"><p>Identifizierungs- und Authentifizierungsprozess wurde beendet</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4002</p></td> + <td width="165" valign="top"><p align="center">4004</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Anmeldeprozess mit Online Vollmachten</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4003</p></td> + <td width="165" valign="top"><p align="center">4005</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Anmeldeprozess mit STORK</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4004</p></td> + <td width="165" valign="top"><p align="center">4006</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Anmeldeprozess mit Single Sign-On</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4005</p></td> + <td width="165" valign="top"><p align="center">4007</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Ungültige Single Sign-On Session</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4006</p></td> + <td width="165" valign="top"><p align="center">4008</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Benutzeranfrage für Single Sign-On Verwendung gestellt</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4007</p></td> + <td width="165" valign="top"><p align="center">4009</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Benutzerantwort für Single Sign-On Verwendung empfangen</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4008</p></td> + <td width="165" valign="top"><p align="center">4010</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Anmeldeprozess über IDP Föderation</p></td> </tr> <tr> - <td width="165" valign="top"><p align="center">4009</p></td> + <td width="165" valign="top"><p align="center">4011</p></td> <td width="312" valign="top"><p align="left"> </p></td> <td width="1127" valign="top"><p>Gültige Response von föderiertem IDP erhalten</p></td> </tr> <tr> - <td height="30" valign="top">4010</td> + <td height="30" valign="top">4012</td> <td valign="top">EntityID des IDP</td> <td valign="top">Verwendeter IDP für föderierte Anmeldung</td> </tr> <tr> - <td width="165" valign="top"><p align="center">4011</p></td> + <td width="165" valign="top"><p align="center">4013</p></td> <td width="312" valign="top"><p align="left">Service Identifikator</p></td> <td width="1127" valign="top"><p>Eindeutiger Identifikator der/des Online-Applikation/Service an der/dem die Anmeldung erfolgt</p></td> </tr> diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html index 116e9a078..864337862 100644 --- a/id/server/doc/handbook/config/config.html +++ b/id/server/doc/handbook/config/config.html @@ -635,20 +635,6 @@ https://<host>:<port>/moa-id-auth/MonitoringServlet</pre> <p> </p> <h5><a name="basisconfig_moa_id_auth_param_database" id="uebersicht_bekanntmachung3"></a>2.2.2.4 Datenbank </h5> <p>Das Modul MOA-ID-Auth benötigt für den Betrieb zwei (optional drei) separate Datenbank Schema, welche in der Basiskonfiguration konfiguriert werden. Für Beispielkonfiguration wurde mySQL als Datenbank verwendet wodurch sich die Konfigurationsparameter auf mySQL beziehen. Das Modul MOA-ID-Auth kann jedoch auch mit Datenbanken anderer Hersteller oder einer InMemory Datenbank betrieben werden. Hierfür wird jedoch auf die <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> verwiesen. </p> -<table class="configtable"> - <tr> - <th width="21%">Name</th> - <th width="11%">Beispielwert</th> - <th width="68%">Beschreibung</th> - </tr> - <tr> - <td>configuration.database.byteBasedValues</td> - <td><p>true / false</p></td> - <td><p>Definiert ob Konfigurationswerte als Text oder als Bytes in der Datenbank abgelegt werden. <br> - <strong>Hinweis:</strong> Testbasierte Speicherung kann bei manchen Datenbanksystemen zur problemen führen (z.B. postgreSQL)</p> - <p><strong>Defaultwert:</strong> false</p></td> - </tr> -</table> <p> </p> <h6><a name="basisconfig_moa_id_auth_param_database_conf" id="uebersicht_bekanntmachung12"></a>2.2.2.4.1 Konfiguration</h6> <p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>configuration.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema welches die Konfiguration von MOA-ID-Auth beinhaltet. Eine Konfiguration dieser Parameter ist nicht optional.</p> diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java index 05d344fb6..d654eb359 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java @@ -23,6 +23,7 @@ package at.gv.egovernment.moa.id.advancedlogging; import at.gv.egiz.components.eventlog.api.EventConstants; +import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager; /** * @author tlenz @@ -51,18 +52,23 @@ public interface MOAIDEventConstants extends EventConstants { public static final int AUTHPROCESS_SLO_NOT_ALL_VALID = 4403; //authentication process information - public static final int AUTHPROCESS_START = 4000; - public static final int AUTHPROCESS_FINISHED = 4001; - public static final int AUTHPROCESS_MANDATES_REQUESTED = 4002; - public static final int AUTHPROCESS_STORK_REQUESTED = 4003; - public static final int AUTHPROCESS_SSO = 4004; - public static final int AUTHPROCESS_SSO_INVALID = 4005; - public static final int AUTHPROCESS_SSO_ASK_USER_START = 4006; - public static final int AUTHPROCESS_SSO_ASK_USER_FINISHED = 4007; - public static final int AUTHPROCESS_INTERFEDERATION = 4008; - public static final int AUTHPROCESS_INTERFEDERATION_REVEIVED = 4009; - public static final int AUTHPROCESS_INTERFEDERATION_IDP = 4010; - public static final int AUTHPROCESS_SERVICEPROVIDER = 4011; + public static final int AUTHPROCESS_START = IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_STARTED; + public static final int AUTHPROCESS_FINISHED = IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_STARTED; + + //reservated + //IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_ERROR; + //IAuthenticationManager.EVENT_AUTHENTICATION_PROCESS_FOR_SP; + + public static final int AUTHPROCESS_MANDATES_REQUESTED = 4004; + public static final int AUTHPROCESS_STORK_REQUESTED = 4005; + public static final int AUTHPROCESS_SSO = 4006; + public static final int AUTHPROCESS_SSO_INVALID = 4007; + public static final int AUTHPROCESS_SSO_ASK_USER_START = 4008; + public static final int AUTHPROCESS_SSO_ASK_USER_FINISHED = 4009; + public static final int AUTHPROCESS_INTERFEDERATION = 4010; + public static final int AUTHPROCESS_INTERFEDERATION_REVEIVED = 4011; + public static final int AUTHPROCESS_INTERFEDERATION_IDP = 4012; + public static final int AUTHPROCESS_SERVICEPROVIDER = 4013; public static final int AUTHPROCESS_BKUSELECTION_INIT = 4110; public static final int AUTHPROCESS_BKUTYPE_SELECTED = 4111; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java index f642cddc7..25235a8fc 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java @@ -26,7 +26,6 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; -import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @@ -95,12 +94,11 @@ public class StatisticLogger implements IStatisticLogger{ @Override - //TODO: update tests!!!! public void internalTesting() throws Exception { - Date expioredate = new Date(new Date().getTime() - 120); - Query query = entityManager.createNamedQuery("getAllEntriesNotBeforeTimeStamp"); - query.setParameter("timeout", expioredate); - List<StatisticLog> result = query.getResultList(); + long testId = 1; + Query query = entityManager.createNamedQuery("getTestEntity"); + query.setParameter("testid", testId); + query.getResultList(); } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java index 2c14af463..3e6308bf6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java @@ -117,9 +117,12 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder encKeyMap.put(el.getKey(), new X509Certificate(Base64Utils.decode(el.getValue(), false))); Logger.info("Load foreign bPK encryption certificate for sector: " + el.getKey()); - } catch (Exception e) { - Logger.warn("Can NOT load foreign bPK encryption certificate for sector: \" + el.getKey()", e); - + } catch (Exception e) { + if (Logger.isDebugEnabled()) + Logger.warn("Can NOT load foreign bPK encryption certificate for sector: " + el.getKey(), e); + else + Logger.info("Can NOT load foreign bPK encryption certificate for sector: " + el.getKey()); + } } @@ -134,7 +137,7 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder } catch (ConfigurationException | BuildException | WrongParametersException | DynamicOABuildException | EAAFBuilderException e) { Logger.warn("Can not build authentication data from session information"); - throw new EAAFAuthenticationException("builder.11", new Object[]{}, e); + throw new EAAFAuthenticationException("builder.11", new Object[]{e.getMessage()}, e); } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/validation/AuthnRequestValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/validation/AuthnRequestValidator.java index b42a1de28..19f865325 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/validation/AuthnRequestValidator.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/validation/AuthnRequestValidator.java @@ -67,7 +67,7 @@ public class AuthnRequestValidator implements IAuthnRequestValidator { if(useMandate.equals("true") && attributeConsumer != null) { if(!CheckMandateAttributes.canHandleMandate(attributeConsumer)) { MandateAttributesNotHandleAbleException e = new MandateAttributesNotHandleAbleException(); - throw new AuthnRequestValidatorException(e.getErrorId(), e.getParams(), e.getMessage(), pendingReq, e); + throw new AuthnRequestValidatorException(e.getErrorId(), e.getParams(), pendingReq, e); } } } diff --git a/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml b/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml index 6f32926e0..26fd1f986 100644 --- a/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml +++ b/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml @@ -84,13 +84,7 @@ <bean id="MOASAML2SubjectNameIDGenerator" class="at.gv.egovernment.moa.id.auth.builder.MOAIDSubjectNameIdGenerator" /> - -<!-- <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> - <property name="corePoolSize" value="5" /> - <property name="maxPoolSize" value="10" /> - <property name="queueCapacity" value="25" /> - </bean> --> - + <!-- Authentication Process Tasks --> <bean id="GenerateBKUSelectionFrameTask" class="at.gv.egovernment.moa.id.auth.modules.internal.tasks.GenerateBKUSelectionFrameTask" @@ -119,7 +113,7 @@ <beans profile="advancedLogOff"> <bean id="StatisticLogger" - class="at.gv.egovernment.moa.id.advancedlogging.DummyStatisticLogger"/> + class="at.gv.egiz.eaaf.core.impl.logging.DummyStatisticLogger"/> </beans> </beans> diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties index 66b9be341..3b636aaee 100644 --- a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties +++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties @@ -54,6 +54,9 @@ auth.33=Federated authentication FAILED. Configuration of IDP {0} does not allow auth.34=Federated authentication FAILED. Configuration of IDP {0} is marked as BusinessService-IDP, but Public-Service attributes are requested.
auth.35=Der Anmeldevorgang wurde automatisiert abgebrochen, da der Benutzer nicht für dieses Onlineapplikation berechtigt ist.
auth.36=Der Anmeldevorgang wurde automatisiert abgebrochen, da der gew\u00E4hlte Authentifizierungsprozess nicht mehr zur Verf\u00FCgung steht. (Msg:{0})
+auth.37=Requested bPK-Target: {0} does not match allowed targets for service provider: {1}
+auth.38=Passive authentication was requested but user as no active session
+
init.00=MOA-ID-Auth wurde erfolgreich gestartet
init.01=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround\: SSL ist m\u00F6glicherweise nicht verf\u00FCgbar
@@ -62,6 +65,9 @@ init.04=Fehler beim Datenbankzugriff mit der SessionID {0} internal.00=W\u00e4hrend des Anmeldevorgangs wurde ein nicht erlaubter Prozesszustand erreicht wodurch der Anmeldeprozess aus sicherheitsgr\u00FCnden abgebrochen wurde.
internal.01=W\u00e4hrend des Abmeldevorgangs wurde ein nicht erlaubter Prozesszustand erreicht wodurch der Abmeldeprozess abgebrochen wurde.
+internal.02=Internal error. Can not access data cache.
+internal.03=Internal error. Can not initialize a cryptographic method.
+internal.04=Internal error. Can not access data cache (Reason: {0}).
config.00=MOA ID Konfiguration erfolgreich geladen: {0}
config.01=Umgebungsvariable "moa.id.configuration" nicht gesetzt
@@ -81,7 +87,7 @@ config.14=LoginParameterResolver-Fehler: {0} config.15=Das Personenbindungs-Trust-Profil (TrustProfileID \= {0}) darf nicht f\u00FCr die Verifikation anderer Infoboxen verwendet werden.
config.16=MOA ID Proxy konnte nicht gestartet werden. Das Element ConnnectionParameter im allgemeinen Konfigurationsteil der MOA-ID-PROXY Konfigurationsdatei fehlt.
config.17=Fehler beim initialisieren von Hibernate
-config.18=Keine MOA-ID 2.x Konfiguration gefunden.
+config.18=Keine MOA-ID 2.x Konfiguration unter {0} gefunden.
config.19=Kein Schl\u00FCssel f\u00FCr die Resignierung der Personenbindung gefunden.
config.20=Umgebungsvariable "moa.id.proxy.configuration" nicht gesetzt
config.21=F\u00FCr diese Online Applikation sind keine Vollmachtsprofile hinterlegt.
@@ -93,6 +99,7 @@ config.26=Federated IDP {0} contains no AttributeQuery URL. config.27=Fehler beim Verarbeiten eines Konfigurationsparameters. Msg:{0}
config.28=Fehler beim initialisieren des SSL-TrustManagers. Zertifikat {0} kann nicht geladen werden; Ursache: {1}
config.29=Fehler beim initialisieren des SSL-TrustManagers. TrustStore: {0} | Ursache: {1}
+config.30=External configuration not found. File: {0}
parser.00=Leichter Fehler beim Parsen: {0}
parser.01=Fehler beim Parsen: {0}
@@ -307,6 +314,9 @@ pvp2.22=Der Request konnte nicht g\u00FCltig validiert werden (Fehler\={0}). pvp2.23={0} ist keine gueltige AssertionConsumerServiceURL oder entspricht nicht den Metadaten.
pvp2.24=Der Request konnte nicht verarbeitet werden (Fehler\={0}).
pvp2.25=Fehler beim Validieren der PVP2 Metadaten
+pvp2.26=SAML2 metadata validation failed. Reason: {0}
+pvp2.27=General error during SAML2 metadata generation
+pvp2.28=Validation of SAML2 Authn. request failed. Reason: AssertionConsumerServiceIndex {0} is not valid.
##add status codes!!!!
@@ -343,8 +353,8 @@ slo.03=Der Single LogOut Prozess konnte nicht weitergef\u00FChrt oder abgeschlos process.01=Fehler beim Ausf\u00FChren des Prozesses.
process.02=Fehler beim Erstellen eines geeigneten Prozesses f\u00FCr die SessionID {0}.
-process.03=Fehler beim Weiterf\u00FChren es Prozesses. Msg:{0}
-process.03=Fehler beim Ausf\u00FChren des Prozesses. Interner state ung\u00FCltig.
+process.03=Fehler beim Weiterf\u00FChren des Prozesses. Msg:{0}
+process.04=Fehler beim Ausf\u00FChren des Prozesses. Interner state ung\u00FCltig.
sl20.00=Allgemeiner Fehler w\u00e4hrend SL2.0 Authentifizierung. Msg: {0}
sl20.01=Fehler beim Generieren des SL2.0 Kommandos. Msg: {0}
diff --git a/id/server/idserverlib/src/main/resources/session.common.beans.xml b/id/server/idserverlib/src/main/resources/session.common.beans.xml index bd3db0a5e..2591879cd 100644 --- a/id/server/idserverlib/src/main/resources/session.common.beans.xml +++ b/id/server/idserverlib/src/main/resources/session.common.beans.xml @@ -33,22 +33,7 @@ <property name="validationQuery" value="${moasession.dbcp.validationQuery}" /> </bean> -<!-- <bean id="sessionSessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> - <property name="dataSource" ref="sessionDataSource"/> - <property name="packagesToScan" value="at.gv.egovernment.moa.id.commons.db.dao.session" /> - <property name="hibernateProperties"> - <props> - <prop key="hibernate.dialect">${moasession.hibernate.dialect}</prop> - <prop key="hibernate.show_sql">${moasession.hibernate.show_sql}</prop> - <prop key="hibernate.hbm2ddl.auto">${moasession.hibernate.hbm2ddl.auto}</prop> - <prop key="current_session_context_class">${moasession.hibernate.current_session_context_class}</prop> - <prop key="hibernate.transaction.flush_before_completion">${moasession.hibernate.transaction.flush_before_completion}</prop> - <prop key="hibernate.transaction.auto_close_session">${moasession.hibernate.transaction.auto_close_session}</prop> - </props> - </property> - </bean> --> - - <!-- MYSQL Conector --> + <!-- MYSQL Connector --> <tx:annotation-driven transaction-manager="sessionTransactionManager"/> <bean id="sessionJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> @@ -68,6 +53,4 @@ <property name="entityManagerFactory" ref="session" /> </bean> - <!-- bean id="moaSessionDBUtils" class="at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils"/--> - </beans>
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/statistic/StatisticLog.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/statistic/StatisticLog.java index ba48f8caf..d98444c87 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/statistic/StatisticLog.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/statistic/StatisticLog.java @@ -34,15 +34,13 @@ import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; -import org.hibernate.annotations.DynamicUpdate; - @Entity //@DynamicUpdate(value=true) @Table(name = "statisticlog") @NamedQueries({ - @NamedQuery(name="getAllEntriesNotBeforeTimeStamp", query = "select statisiclog from StatisticLog statisiclog where statisiclog.timestamp > :timeout") + @NamedQuery(name="getTestEntity", query = "select statisiclog from StatisticLog statisiclog where statisiclog.id = :testid") }) public class StatisticLog implements Serializable{ diff --git a/id/server/moa-id-commons/src/main/resources/statistic.logging.beans.xml b/id/server/moa-id-commons/src/main/resources/statistic.logging.beans.xml index 9b00ff3cd..96808f2c5 100644 --- a/id/server/moa-id-commons/src/main/resources/statistic.logging.beans.xml +++ b/id/server/moa-id-commons/src/main/resources/statistic.logging.beans.xml @@ -32,26 +32,7 @@ <property name="testWhileIdle" value="${advancedlogging.dbcp.testWhileIdle}" /> <property name="validationQuery" value="${advancedlogging.dbcp.validationQuery}" /> </bean> - -<!-- <bean id="statisticLogSessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> - <property name="dataSource" ref="statisticLogDataSource"/> - <property name="packagesToScan" value="at.gv.egovernment.moa.id.commons.db.dao.statistic" /> - <property name="hibernateProperties"> - - <props> - <prop key="hibernate.dialect">${advancedlogging.hibernate.dialect}</prop> - <prop key="hibernate.show_sql">${advancedlogging.hibernate.show_sql}</prop> - <prop key="hibernate.hbm2ddl.auto">${advancedlogging.hibernate.hbm2ddl.auto}</prop> - <prop key="current_session_context_class">${advancedlogging.hibernate.current_session_context_class}</prop> - <prop key="hibernate.transaction.flush_before_completion">${advancedlogging.hibernate.transaction.flush_before_completion}</prop> - <prop key="hibernate.transaction.auto_close_session">${advancedlogging.hibernate.transaction.auto_close_session}</prop> - </props> - </property> - </bean> --> - - - <!-- bean id="statisticLogDBUtils" class="at.gv.egovernment.moa.id.commons.db.StatisticLogDBUtils"/--> - + <bean name="statisticLogTransactionManager" id="statisticLogTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="statistic" /> </bean> diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/utils/FormBuildUtils.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/utils/FormBuildUtils.java index 248bde700..8e4e7e5b3 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/utils/FormBuildUtils.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/utils/FormBuildUtils.java @@ -62,7 +62,7 @@ public class FormBuildUtils { defaultmap.put(PARAM_MAIN_BACKGROUNDCOLOR, "#F7F8F7"); defaultmap.put(PARAM_MAIN_COLOR, "#000000"); - defaultmap.put(PARAM_HEADER_BACKGROUNDCOLOR, "#C3D2E2"); + defaultmap.put(PARAM_HEADER_BACKGROUNDCOLOR, "#F7F8F7"); defaultmap.put(PARAM_HEADER_COLOR, "#000000"); defaultmap.put(PARAM_HEADER_TEXT, "Login"); @@ -70,7 +70,7 @@ public class FormBuildUtils { defaultmap.put(PARAM_BUTTON_BACKGROUNDCOLOR_FOCUS, "#EBEBEB"); defaultmap.put(PARAM_BUTTON_COLOR, "#000000"); - defaultmap.put(PARAM_FONTFAMILY, "Verdana,Geneva,Arial,sans-serif"); + defaultmap.put(PARAM_FONTFAMILY, "Arial,Helvetica,sans-serif"); defaultmap.put(PARAM_REDIRECTTARGET, "_top"); } diff --git a/id/server/moa-id-frontend-resources/src/main/resources/mainGUI/img/eIDAS_small.png b/id/server/moa-id-frontend-resources/src/main/resources/mainGUI/img/eIDAS_small.png Binary files differindex 6c785bf06..7d8b10c37 100644 --- a/id/server/moa-id-frontend-resources/src/main/resources/mainGUI/img/eIDAS_small.png +++ b/id/server/moa-id-frontend-resources/src/main/resources/mainGUI/img/eIDAS_small.png diff --git a/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css b/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css index 40e8eae7a..3fc7f934c 100644 --- a/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css +++ b/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css @@ -6,6 +6,7 @@ background-color : #fff; text-align: left; background-color: #E6E6E6; + font-family: Arial, Helvetica, sans-serif; } .browserInfoButton{ @@ -14,19 +15,18 @@ #page { display: block; - margin: 0 auto; + margin: auto; margin-top: 5%; position: relative; background: rgb(255,255,255); } #page1 { - padding-top: 1%; text-align: center; } #main { - float:left; + padding-top: 2%; width: 100%; text-align: center; } @@ -43,20 +43,24 @@ min-height: 155px; margin-bottom: 5%; } + #mandateLogin { + display:flex; + flex-direction: row; padding-bottom: 1%; padding-top: 2%; + margin-left: 1%; position: relative; - text-align: left; - } + font-size: 0.75em; + } .unvisible { - visibility: hidden; + display:none; } .OA_header { - /* background-color: white;*/ font-size: 2.1em; + padding-top:1%; margin-bottom: 1%; margin-top: 1%; } @@ -73,31 +77,35 @@ } #processSelectionArea { - width: 550px; - margin-left: 25px; - margin-top: 35px; + float:left; + width: 100%; } .processSelectionButtonArea { - float: none; - margin-bottom: 5%; - height: 35px; + width:100%; } .processSelectionButton { background: #ababab; cursor: pointer; - height: 40px; - width: 200px; + height: 40%; + width: 25%; float: right; + padding-top: 1%; + padding-bottom: 1% + } + + #bkuselectionarea { + display:flex; + flex-direction: row; + margin-top: 2%; + text-align:center; } .buttonDescription { - float: left; - margin-left: 10px; - padding-bottom: 0.4em; + width: 62%; + margin-left: 1%; text-align: left; - width: 60%; } #processContent { @@ -109,46 +117,29 @@ margin-right: 5px; } - #bkukarte { - float:left; - width:33%; - text-align:center; - margin-top: 2%; + .bkuimage { + width: 50%; } - #bkuhandy { - float:left; - width:33%; - text-align:center; - margin-top: 2%; + input { + cursor: pointer; } - #bkueulogin { - display:block; - float:left; - text-align:center; - width:33%; - margin-top: 2%; + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ + font-size: 0.85em; + width:65%; + border:none; + background-color: transparent; } - .bkuimage { - width: 55%; - } + #localBKU input { + display: inline-block; - input { - width:auto; - cursor: pointer; - } - - #localBKU input { - display: inline-block; - - } - #localBKU input:hover, #localBKU input:focus, #localBKU input:active { - /*text-decoration: underline;*/ - } + #localBKU input:hover, #localBKU input:focus, #localBKU input:active { + /*text-decoration: underline;*/ + } #installJava, #BrowserNOK { clear:both; @@ -159,40 +150,26 @@ #ssoSessionTransferBlock { clear: both; - } + } #stork { clear: both; - } - - + } - .verticalcenter { - vertical-align: middle; - } - .mandate{ - float: left; - margin-left: 2%; font-size: 1.3em; } - #mandateLogin div { - clear: both; - margin-top: -1%; - position: relative; - top: 50%; - } #localBKU { padding-bottom: 4%; - /*padding-top: 4%;*/ position: relative; clear: both; text-align: center; } #selectArea { + float:left; width:90%; padding-left: 4% } @@ -204,6 +181,7 @@ width: 70px; height: 25px; } + #leftcontent { width: 70%; margin-bottom: 4%; @@ -211,6 +189,7 @@ border: 1px solid rgb(0,0,0); margin:auto; } + .hell { background-color : $MAIN_BACKGOUNDCOLOR; color: $MAIN_COLOR; @@ -221,12 +200,11 @@ color: $HEADER_COLOR; } - @media screen and (min-width: 650px) { #page { - width: 650px; - height: 460px; + width: 660px; + height: 460px; } #localBKU p { @@ -235,27 +213,12 @@ #localBKU input{ font-size: 0.85em; - /*border-radius: 5px;*/ - } - - #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ - font-size: 0.85em; - width:65% - } - - #mandateLogin { - font-size: 0.85em; - } - - #alert_area { - width: 500px; - padding-left: 80px; - } + } - #selectArea { + #selectArea { font-size: 15px; padding-bottom: 65px; - } + } #stork h2 { font-size: 1.0em; @@ -269,8 +232,7 @@ width: 100px; height: 30px } - - + #validation { position: absolute; bottom: 0px; @@ -280,7 +242,6 @@ } - @media screen and (max-width: 649px) { body { @@ -321,39 +282,27 @@ display: none; visibility: hidden; } - - + h2#tabheader{ font-size: 1.5em; position: relative; } + .mandate{ - font-size: 1.0em; + font-size: 1.2em; } #leftcontent { - float: left; width:auto; border:none; visibility:visible; margin-bottom: 2%; } + .bkuimage { width: 40%; } - - #bkukarte { - box-sizing: border-box; - } - - #bkuhandy { - box-sizing: border-box; - } - - #bkueulogin { - box-sizing: border-box; - } - + .setAssertionButton_full { background: #efefef; cursor: pointer; @@ -365,4 +314,32 @@ input[type=button],input[type=submit] { width:65%; } -}
\ No newline at end of file + + #processInfoArea { + margin-bottom: 4%; + margin-top: 4%; + } + + #processSelectionArea { + flaot:left; + width: 100%; + } + + .processSelectionButton { + flaot:left; + height: 10%; + width: 2%; + } + + .buttonDescription { + float: left; + width: 70%; + text-align: left; + } + + #processContent { + margin-top: 10%; + } + +} + diff --git a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java index 42783468d..a02f86376 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java +++ b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java @@ -61,71 +61,75 @@ public class JsonSecurityUtils implements IJOSETools{ protected void initalize() { Logger.info("Initialize SL2.0 authentication security constrains ... "); try { - KeyStore keyStore = KeyStoreUtils.loadKeyStore(getKeyStoreFilePath(), - getKeyStorePassword()); - - //load signing key - signPrivKey = keyStore.getKey(getSigningKeyAlias(), getSigningKeyPassword().toCharArray()); - Certificate[] certChainSigning = keyStore.getCertificateChain(getSigningKeyAlias()); - signCertChain = new X509Certificate[certChainSigning.length]; - for (int i=0; i<certChainSigning.length; i++) { - if (certChainSigning[i] instanceof X509Certificate) { - signCertChain[i] = (X509Certificate)certChainSigning[i]; - } else - Logger.warn("NO X509 certificate for signing: " + certChainSigning[i].getType()); + if (getKeyStoreFilePath() != null) { + KeyStore keyStore = KeyStoreUtils.loadKeyStore(getKeyStoreFilePath(), + getKeyStorePassword()); - } - - //load encryption key - try { - encPrivKey = keyStore.getKey(getEncryptionKeyAlias(), getEncryptionKeyPassword().toCharArray()); - if (encPrivKey != null) { - Certificate[] certChainEncryption = keyStore.getCertificateChain(getEncryptionKeyAlias()); - encCertChain = new X509Certificate[certChainEncryption.length]; - for (int i=0; i<certChainEncryption.length; i++) { - if (certChainEncryption[i] instanceof X509Certificate) { - encCertChain[i] = (X509Certificate)certChainEncryption[i]; - } else - Logger.warn("NO X509 certificate for encryption: " + certChainEncryption[i].getType()); - } - } else - Logger.info("No encryption key for SL2.0 found. End-to-End encryption is not used."); + //load signing key + signPrivKey = keyStore.getKey(getSigningKeyAlias(), getSigningKeyPassword().toCharArray()); + Certificate[] certChainSigning = keyStore.getCertificateChain(getSigningKeyAlias()); + signCertChain = new X509Certificate[certChainSigning.length]; + for (int i=0; i<certChainSigning.length; i++) { + if (certChainSigning[i] instanceof X509Certificate) { + signCertChain[i] = (X509Certificate)certChainSigning[i]; + } else + Logger.warn("NO X509 certificate for signing: " + certChainSigning[i].getType()); + + } - } catch (Exception e) { - Logger.warn("No encryption key for SL2.0 found. End-to-End encryption is not used. Reason: " + e.getMessage(), e); - - } + //load encryption key + try { + encPrivKey = keyStore.getKey(getEncryptionKeyAlias(), getEncryptionKeyPassword().toCharArray()); + if (encPrivKey != null) { + Certificate[] certChainEncryption = keyStore.getCertificateChain(getEncryptionKeyAlias()); + encCertChain = new X509Certificate[certChainEncryption.length]; + for (int i=0; i<certChainEncryption.length; i++) { + if (certChainEncryption[i] instanceof X509Certificate) { + encCertChain[i] = (X509Certificate)certChainEncryption[i]; + } else + Logger.warn("NO X509 certificate for encryption: " + certChainEncryption[i].getType()); + } + } else + Logger.info("No encryption key for SL2.0 found. End-to-End encryption is not used."); + + } catch (Exception e) { + Logger.warn("No encryption key for SL2.0 found. End-to-End encryption is not used. Reason: " + e.getMessage(), e); - //load trusted certificates - Enumeration<String> aliases = keyStore.aliases(); - while(aliases.hasMoreElements()) { - String el = aliases.nextElement(); - Logger.trace("Process TrustStoreEntry: " + el); - if (keyStore.isCertificateEntry(el)) { - Certificate cert = keyStore.getCertificate(el); - if (cert != null && cert instanceof X509Certificate) - trustedCerts.add((X509Certificate) cert); - else - Logger.info("Can not process entry: " + el + ". Reason: " + cert.toString()); + } + + //load trusted certificates + Enumeration<String> aliases = keyStore.aliases(); + while(aliases.hasMoreElements()) { + String el = aliases.nextElement(); + Logger.trace("Process TrustStoreEntry: " + el); + if (keyStore.isCertificateEntry(el)) { + Certificate cert = keyStore.getCertificate(el); + if (cert != null && cert instanceof X509Certificate) + trustedCerts.add((X509Certificate) cert); + else + Logger.info("Can not process entry: " + el + ". Reason: " + cert.toString()); + + } + } + + //some short validation + if (signPrivKey == null || !(signPrivKey instanceof PrivateKey)) { + Logger.info("Can NOT open privateKey for SL2.0 signing. KeyStore=" + getKeyStoreFilePath()); + throw new SL20Exception("sl20.03", new Object[]{"Can NOT open private key for signing"}); } - } - - //some short validation - if (signPrivKey == null || !(signPrivKey instanceof PrivateKey)) { - Logger.info("Can NOT open privateKey for SL2.0 signing. KeyStore=" + getKeyStoreFilePath()); - throw new SL20Exception("sl20.03", new Object[]{"Can NOT open private key for signing"}); - } - - if (signCertChain == null || signCertChain.length == 0) { - Logger.info("NO certificate for SL2.0 signing. KeyStore=" + getKeyStoreFilePath()); - throw new SL20Exception("sl20.03", new Object[]{"NO certificate for SL2.0 signing"}); + if (signCertChain == null || signCertChain.length == 0) { + Logger.info("NO certificate for SL2.0 signing. KeyStore=" + getKeyStoreFilePath()); + throw new SL20Exception("sl20.03", new Object[]{"NO certificate for SL2.0 signing"}); + + } - } - - Logger.info("SL2.0 authentication security constrains initialized."); - + Logger.info("SL2.0 authentication security constrains initialized."); + + } else + Logger.info("NO SL2.0 authentication security configuration. Initialization was skipped"); + } catch ( Exception e) { Logger.error("SL2.0 security constrains initialization FAILED.", e); @@ -332,28 +336,48 @@ public class JsonSecurityUtils implements IJOSETools{ } private String getKeyStorePassword() { - return authConfig.getBasicConfiguration(Constants.CONFIG_PROP_SECURITY_KEYSTORE_PASSWORD).trim(); + String value = authConfig.getBasicConfiguration(Constants.CONFIG_PROP_SECURITY_KEYSTORE_PASSWORD); + if (value != null) + value = value.trim(); + + return value; } private String getSigningKeyAlias() { - return authConfig.getBasicConfiguration( + String value = authConfig.getBasicConfiguration( Constants.CONFIG_PROP_SECURITY_KEYSTORE_KEY_SIGN_ALIAS).trim(); + if (value != null) + value = value.trim(); + + return value; } private String getSigningKeyPassword() { - return authConfig.getBasicConfiguration( + String value = authConfig.getBasicConfiguration( Constants.CONFIG_PROP_SECURITY_KEYSTORE_KEY_SIGN_PASSWORD).trim(); + if (value != null) + value = value.trim(); + + return value; } private String getEncryptionKeyAlias() { - return authConfig.getBasicConfiguration( + String value = authConfig.getBasicConfiguration( Constants.CONFIG_PROP_SECURITY_KEYSTORE_KEY_ENCRYPTION_ALIAS).trim(); + if (value != null) + value = value.trim(); + + return value; } private String getEncryptionKeyPassword() { - return authConfig.getBasicConfiguration( + String value = authConfig.getBasicConfiguration( Constants.CONFIG_PROP_SECURITY_KEYSTORE_KEY_ENCRYPTION_PASSWORD).trim(); + if (value != null) + value = value.trim(); + + return value; } } |