aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_de.properties6
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources_en.properties6
-rw-r--r--id/history.txt9
-rw-r--r--id/readme_3.4.1.txt333
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/css_template.css195
-rw-r--r--id/server/doc/handbook/additional/additional.html20
-rw-r--r--id/server/doc/handbook/config/config.html14
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/MOAIDEventConstants.java30
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/validation/AuthnRequestValidator.java2
-rw-r--r--id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml10
-rw-r--r--id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties16
-rw-r--r--id/server/idserverlib/src/main/resources/session.common.beans.xml19
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/statistic/StatisticLog.java4
-rw-r--r--id/server/moa-id-commons/src/main/resources/statistic.logging.beans.xml21
-rw-r--r--id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/utils/FormBuildUtils.java4
-rw-r--r--id/server/moa-id-frontend-resources/src/main/resources/mainGUI/img/eIDAS_small.pngbin36713 -> 42602 bytes
-rw-r--r--id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css195
-rw-r--r--id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java150
-rw-r--r--pom.xml12
21 files changed, 673 insertions, 394 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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</p></td>
<td width="1127" valign="top"><p>Ung&uuml;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">&nbsp;</p></td>
<td width="1127" valign="top"><p>Benutzeranfrage f&uuml;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">&nbsp;</p></td>
<td width="1127" valign="top"><p>Benutzerantwort f&uuml;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">&nbsp;</p></td>
<td width="1127" valign="top"><p>Anmeldeprozess &uuml;ber IDP F&ouml;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">&nbsp;</p></td>
<td width="1127" valign="top"><p>G&uuml;ltige Response von f&ouml;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&uuml;r f&ouml;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://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p>&nbsp;</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&ouml;tigt f&uuml;r den Betrieb zwei (optional drei) separate Datenbank Schema, welche in der Basiskonfiguration konfiguriert werden. F&uuml;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&uuml;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&uuml;hren (z.B. postgreSQL)</p>
- <p><strong>Defaultwert:</strong> false</p></td>
- </tr>
-</table>
<p>&nbsp;</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
index 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
Binary files differ
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;
}
}
diff --git a/pom.xml b/pom.xml
index f7733d6b1..a37fa5505 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,20 +12,20 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Project Version -->
- <moa-id-version>3.4.0</moa-id-version>
+ <moa-id-version>3.4.1</moa-id-version>
- <moa-id-version-final>3.4.0</moa-id-version-final>
- <moa-id-version-edu>3.4.0</moa-id-version-edu>
+ <moa-id-version-final>3.4.1</moa-id-version-final>
+ <moa-id-version-edu>3.4.1</moa-id-version-edu>
<moa-id-proxy-version>2.0.1</moa-id-proxy-version>
- <configtool-version>2.5.0</configtool-version>
+ <configtool-version>2.5.1</configtool-version>
<demo-oa-version>2.0.6</demo-oa-version>
<moa-id-module-elga_mandate_client>1.3.2</moa-id-module-elga_mandate_client>
<!-- =================================================================================== -->
- <egiz.eaaf.version>1.0.0</egiz.eaaf.version>
+ <egiz.eaaf.version>1.0.1</egiz.eaaf.version>
<org.springframework.version>4.3.18.RELEASE</org.springframework.version>
<org.springframework.data.spring-data-jpa>1.11.13.RELEASE</org.springframework.data.spring-data-jpa>
<surefire.version>2.22.0</surefire.version>
@@ -40,7 +40,7 @@
<org.apache.commons.commons.dbcp2>2.4.0</org.apache.commons.commons.dbcp2>
<cxf.version>3.2.5</cxf.version>
- <struts.version>2.5.16</struts.version> <!-- 2.5.10.1 -->
+ <struts.version>2.5.17</struts.version> <!-- 2.5.10.1 -->
<egovutils.version>2.0.0</egovutils.version>