aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2020-09-18 08:57:35 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2020-09-18 08:57:35 +0200
commite913773134f617eb7afbe00362e5b580776b8ad8 (patch)
treef693aa194caf8733b5ca353056444945464b8d66
parent4207d7d2da81b74a31b639bae9502593bee4bc3c (diff)
downloadmoa-id-spss-e913773134f617eb7afbe00362e5b580776b8ad8.tar.gz
moa-id-spss-e913773134f617eb7afbe00362e5b580776b8ad8.tar.bz2
moa-id-spss-e913773134f617eb7afbe00362e5b580776b8ad8.zip
add HTTP-Proxy support for SAML2 Metadata provider
-rw-r--r--id/readme_4.1.4-RC1.txt508
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java6
-rw-r--r--id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java52
-rw-r--r--id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/EIDAuthMetadataProvider.java13
4 files changed, 569 insertions, 10 deletions
diff --git a/id/readme_4.1.4-RC1.txt b/id/readme_4.1.4-RC1.txt
new file mode 100644
index 000000000..f022dc561
--- /dev/null
+++ b/id/readme_4.1.4-RC1.txt
@@ -0,0 +1,508 @@
+===============================================================================
+MOA ID Version Release 4.1.4-RC1 - Wichtige Informationen zur Installation
+===============================================================================
+
+-------------------------------------------------------------------------------
+A. Neuerungen/Änderungen
+-------------------------------------------------------------------------------
+
+Mit MOA ID Version 4.1.4 unterstützt MOA-ID nun wieder Authentifizierung mittels
+Bürgerkarte, Handy-Signatur oder eIDAS als auch den Betrieb als SAML1 Proxy zum
+zentralen E-ID System entsprechend dem neuen elektronischen Identitätsnachweis.
+Im Detail umfasst das folgende Neuerungen und Änderungen (siehe auch
+history.txt im gleichen Verzeichnis).
+
+ - Änderungen
+ - HTTP Proxy Support zum Laden von SAML2 Metadaten hinzugefügt
+
+Hinweis: Vor einem Parallelbetrieb von MOA-ID und MOA-SPSS als eigenständige Web-Applikationen in der gleichen
+ Apache Tomcat Instanz wird seit Java >= 9 abgeraten da es potentiell zu Problem mit dem Java Classloader
+ im Tomcat Appliactionsserver kommen kann.
+
+-------------------------------------------------------------------------------
+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: Die bestehende Konfiguration von MOA-ID 3.x.x kann weitestgehend
+übernommen werden da mit dem Update auf die Version 4.0.x viele Konfigurationsparameter
+nicht mehr erforderlich sind und somit (sofern vorhanden) ignoriert werden. Somit ist
+ein Löschen der bestehenden Konfiguration nicht zwingend notwendig.
+Für den Betrieb als E-ID Proxy muss in diesem Fall nur die Konfiguration für das das neue
+E-ID Proxy Authentifizierungsmodul hinzugefügt wurde.
+
+Hinweis: Wenn Sie die bestehende Konfiguration von MOA-ID 2.x.x in MOA-ID 4.0.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 4.0.x.
+
+...............................................................................
+B.0 Durchführung eines Updates von Version 4.1.2 auf Version 4.1.4
+...............................................................................
+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-4.1.4.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 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.
+ Falls sie eine Java Version < 9 verwenden und aktuell Bibliotheken in diesen
+ Verzeichnissen abgelegt haben müssen diese aktualisiert werden:
+
+ 4.1. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+ 4.2. 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).
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.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 SAML1 Requestparameter Validierung
+ >configuration.validate.saml1.parameter.strict
+6.2 HTTP Proxy Konfiguration via JAVA System-Properties
+ > -Dhttp.proxyHost=
+ > -Dhttp.proxyPort=
+ > -Dhttp.proxyUser=
+ > -Dhttp.proxyPassword=
+
+7. 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 4.1.x auf Version 4.1.4
+...............................................................................
+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-4.1.4.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 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.
+ Falls sie eine Java Version < 9 verwenden und aktuell Bibliotheken in diesen
+ Verzeichnissen abgelegt haben müssen diese aktualisiert werden:
+
+ 4.1. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+ 4.2. 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).
+
+5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+7.1 Anbindung an das zentrale E-ID System
+ > modules.eidproxyauth.endpoint.appreginfo.enable
+7.2 SAML1 Requestparameter Validierung
+ >configuration.validate.saml1.parameter.strict
+7.2 HTTP Proxy Konfiguration via JAVA System-Properties
+ > -Dhttp.proxyHost=
+ > -Dhttp.proxyPort=
+ > -Dhttp.proxyUser=
+ > -Dhttp.proxyPassword=
+
+8. Geänderte GUI Templates
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/css_template.css
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/javascript_tempalte.js
+
+9. Neue A-Trust Zertifikate für Handy-Signatur Anmeldung
+9.1 Kopieren sie folgende Zertifikate in den jeweiligen TrustStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Mobile-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Mobile-07.cer
+
+9.2 Kopieren sie folgende Zertifikate in den CertStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Mobile-07.cer
+
+10. Zusätzliche Funktionalität für den MOA E-ID Proxy Mode:
+ Mit der Version 4.1.2 des MOA E-ID Proxy wurde die eindeutigen Applikationsidentifier
+ von Onlineapplikationen am MOA E-ID Proxy, welche im zentralen Applikationsregister
+ registriert werden müssen, geändert um die Eindeutigkeit im Applikationsregister gewährleisten
+ zu können. Somit können die Unique Identifier (PublicUrlPrefix) aus der MOA E-ID Proxy
+ konfiguration nicht mehr direkt für die Registriergung am E-ID System verwendet werden.
+ Der MOA E-ID Proxy bietet unter der URL $MOA_EID_PROXY$/eid/getappregid (z.B.
+ https://demo.egiz.gv.at/moa-id-auth/eid/getappregid?OA=https://labda.iaik.tugraz.at:5553/demologin/test1)
+ einen Endpunkt an über der eindeute Identifier für die Eintragung ins Applikationsregister abgefragt
+ werde kann. Als Abfrageparameter dienen die selben Parameter wie sie auch für einen SAML1
+ Authentifizierungsrequest verwendet werden (siehe Handbuch
+ https://apps.egiz.gv.at/handbooks/moa-id/handbook/protocol/protocol.html#saml1_startauth).
+ Eine Abfrage ist jedoch nur für am MOA E-ID Proxy registrierte Onlineapplikationen möglich.
+
+
+11. 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 4.0.0 auf Version 4.1.4
+...............................................................................
+1. Exportieren Sie die aktuelle Konfiguration von MOA-ID mit Hilfe der import/export
+ Funktion der grafischen Konfigurationsoberfläche in eine Datei. Dieser Export
+ dient nur als Backup und wird für den Updateprozess nicht zwingend benötigt.
+
+2. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+3. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-4.1.4.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+4. 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.
+
+5 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.
+ Falls sie eine Java Version < 9 verwenden und aktuell Bibliotheken in diesen
+ Verzeichnissen abgelegt haben müssen diese aktualisiert werden:
+
+ 5.1. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+ 5.2. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.6.x wird nicht mehr
+ unterstuetzt).
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+8.1 Anbindung an das zentrale E-ID System
+ > modules.eidproxyauth.endpoint.appreginfo.enable
+8.2 SAML1 Requestparameter Validierung
+ >configuration.validate.saml1.parameter.strict
+8.2 HTTP Proxy Konfiguration via JAVA System-Properties
+ > -Dhttp.proxyHost=
+ > -Dhttp.proxyPort=
+ > -Dhttp.proxyUser=
+ > -Dhttp.proxyPassword=
+
+9. Geänderte GUI Templates
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/css_template.css
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/javascript_tempalte.js
+
+10. Neue A-Trust Zertifikate für Handy-Signatur Anmeldung
+10.1 Kopieren sie folgende Zertifikate in den jeweiligen TrustStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Mobile-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Mobile-07.cer
+
+10.2 Kopieren sie folgende Zertifikate in den CertStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Mobile-07.cer
+
+11. Zusätzliche Funktionalität für den MOA E-ID Proxy Mode:
+ Mit der Version 4.1.2 des MOA E-ID Proxy wurde die eindeutigen Applikationsidentifier
+ von Onlineapplikationen am MOA E-ID Proxy, welche im zentralen Applikationsregister
+ registriert werden müssen, geändert um die Eindeutigkeit im Applikationsregister gewährleisten
+ zu können. Somit können die Unique Identifier (PublicUrlPrefix) aus der MOA E-ID Proxy
+ konfiguration nicht mehr direkt für die Registriergung am E-ID System verwendet werden.
+ Der MOA E-ID Proxy bietet unter der URL $MOA_EID_PROXY$/eid/getappregid (z.B.
+ https://demo.egiz.gv.at/moa-id-auth/eid/getappregid?OA=https://labda.iaik.tugraz.at:5553/demologin/test1)
+ einen Endpunkt an über der eindeute Identifier für die Eintragung ins Applikationsregister abgefragt
+ werde kann. Als Abfrageparameter dienen die selben Parameter wie sie auch für einen SAML1
+ Authentifizierungsrequest verwendet werden (siehe Handbuch
+ https://apps.egiz.gv.at/handbooks/moa-id/handbook/protocol/protocol.html#saml1_startauth).
+ Eine Abfrage ist jedoch nur für am MOA E-ID Proxy registrierte Onlineapplikationen möglich.
+
+12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.3 Durchführung eines Updates von Version 3.4.x auf Version 4.1.4
+...............................................................................
+1. Exportieren Sie die aktuelle Konfiguration von MOA-ID mit Hilfe der import/export
+ Funktion der grafischen Konfigurationsoberfläche in eine Datei. Dieser Export
+ dient nur als Backup und wird für den Updateprozess nicht zwingend benötigt.
+
+2. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+3. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-4.1.4.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+4. 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.
+
+5 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.
+ Falls sie eine Java Version < 9 verwenden und aktuell Bibliotheken in diesen
+ Verzeichnissen abgelegt haben müssen diese aktualisiert werden:
+
+ 5.1. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+ 5.2. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.6.x wird nicht mehr
+ unterstuetzt).
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+8.1 Anbindung an das zentrale E-ID System
+ > modules.eidproxyauth.keystore.path=
+ > modules.eidproxyauth.keystore.password=
+ > modules.eidproxyauth.metadata.sign.password=password
+ > modules.eidproxyauth.metadata.sign.alias=pvp_metadata
+ > modules.eidproxyauth.request.sign.password=password
+ > modules.eidproxyauth.request.sign.alias=pvp_assertion
+ > modules.eidproxyauth.response.encryption.password=password
+ > modules.eidproxyauth.response.encryption.alias=pvp_assertion
+ > modules.eidproxyauth.EID.trustprofileID=eid_metadata
+ > modules.eidproxyauth.endpoint.appreginfo.enable=true
+8.2 SAML1 Requestparameter Validierung
+ >configuration.validate.saml1.parameter.strict
+8.3 HTTP Proxy Konfiguration via JAVA System-Properties
+ > -Dhttp.proxyHost=
+ > -Dhttp.proxyPort=
+ > -Dhttp.proxyUser=
+ > -Dhttp.proxyPassword=
+
+9. 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\EID_metadata
+ in das Verzeichnis CATALINA_HOME\conf\moa-spss\trustProfiles\EID_metadata
+ c.) 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>eid_metadata</cfg:Id>
+ <cfg:TrustAnchorsLocation>trustProfiles/EID_metadata</cfg:TrustAnchorsLocation>
+ </cfg:TrustProfile>
+ ...
+ d.) Kopieren sie folgende Zertifikate in den jeweiligen TrustStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Mobile-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Mobile-07.cer
+ e.) Kopieren sie folgende Zertifikate in den CertStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Mobile-07.cer
+
+10. 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
+10.1 Anbindung das zentrale E-ID System
+ a.) Bekanntgabe von Endpunkten (Produktiv, Test, ... ) der zu verwendenten
+ IDPs des zentralen E-ID Systems
+
+ b.) Auswahl des gewünschte EndPunkts 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
+
+11. Geänderte GUI Templates
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/css_template.css
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/javascript_tempalte.js
+
+12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+...............................................................................
+B.4 Durchführung eines Updates von Version 3.x.x auf Version 4.1.4
+...............................................................................
+1. Exportieren Sie die aktuelle Konfiguration von MOA-ID mit Hilfe der import/export
+ Funktion der grafischen Konfigurationsoberfläche in eine Datei. Dieser Export
+ dient nur als Backup und wird für den Updateprozess nicht zwingend benötigt.
+
+2. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+3. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-4.1.4.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+4. 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.
+
+5 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.
+ Falls sie eine Java Version < 9 verwenden und aktuell Bibliotheken in diesen
+ Verzeichnissen abgelegt haben müssen diese aktualisiert werden:
+
+ 5.1. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+ 5.2. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.6.x wird nicht mehr
+ unterstuetzt).
+
+ 5.3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
+
+ 5.4 Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das
+ Verzeichnis CATALINA_HOME_ID\endorsed.
+
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+ CATALINA_HOME_ID/webapps.
+
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+ Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
+8.1 Anbindung an das zentrale E-ID System
+ > modules.eidproxyauth.keystore.path=
+ > modules.eidproxyauth.keystore.password=
+ > modules.eidproxyauth.metadata.sign.password=password
+ > modules.eidproxyauth.metadata.sign.alias=pvp_metadata
+ > modules.eidproxyauth.request.sign.password=password
+ > modules.eidproxyauth.request.sign.alias=pvp_assertion
+ > modules.eidproxyauth.response.encryption.password=password
+ > modules.eidproxyauth.response.encryption.alias=pvp_assertion
+ > modules.eidproxyauth.EID.trustprofileID=eid_metadata
+ > modules.eidproxyauth.endpoint.appreginfo.enable=true
+8.2 SAML1 Requestparameter Validierung
+ >configuration.validate.saml1.parameter.strict
+8.3 HTTP Proxy Konfiguration via JAVA System-Properties
+ > -Dhttp.proxyHost=
+ > -Dhttp.proxyPort=
+ > -Dhttp.proxyUser=
+ > -Dhttp.proxyPassword=
+
+9. 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\EID_metadata
+ in das Verzeichnis CATALINA_HOME\conf\moa-spss\trustProfiles\EID_metadata
+ c.) 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>eid_metadata</cfg:Id>
+ <cfg:TrustAnchorsLocation>trustProfiles/EID_metadata</cfg:TrustAnchorsLocation>
+ </cfg:TrustProfile>
+ ...
+ d.) Kopieren sie folgende Zertifikate in den jeweiligen TrustStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenOhneTestkarten/a-sign-Premium-Mobile-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Mobile-07.cer
+ e.) Kopieren sie folgende Zertifikate in den CertStore ihrer MOA-ID Konfiguration
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Sig-07.cer
+ > MOA_ID_AUTH_INST/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Mobile-07.cer
+
+
+10. 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
+10.1 Anbindung das zentrale E-ID System
+ a.) Bekanntgabe von Endpunkten (Produktiv, Test, ... ) der zu verwendenten
+ IDPs des zentralen E-ID Systems
+
+ b.) Auswahl des gewünschte EndPunkts 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
+
+11. Geänderte GUI Templates
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/css_template.css
+ > MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/javascript_tempalte.js
+
+
+12. Optionale Updates:
+12.1. 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
+
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der Konfiguration.
+
+
+
+...............................................................................
+B.5 Durchführung eines Updates von Version < 3.0.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/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
index 6ef7a00cd..0e729ca5b 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
@@ -60,7 +60,7 @@ public class MOAIDConfigurationImpl extends DatabaseConfigPropertyImpl implement
List<AbstractConfigProperty> configResult = configQuery.getResultList();
if (configResult == null || configResult.isEmpty()) {
- Logger.warn("Found no configuration keys with prefix: " + preFix + ".%");
+ Logger.debug("Found no configuration keys with prefix: " + preFix + ".%");
return null;
}
@@ -98,7 +98,7 @@ public class MOAIDConfigurationImpl extends DatabaseConfigPropertyImpl implement
List<AbstractConfigProperty> configResult = configQuery.getResultList();
if (configResult == null || configResult.isEmpty()) {
- Logger.warn("Found no configuration keys with searchKey: " + searchKey);
+ Logger.debug("Found no configuration keys with searchKey: " + searchKey);
return null;
}
@@ -228,7 +228,7 @@ public class MOAIDConfigurationImpl extends DatabaseConfigPropertyImpl implement
List<AbstractConfigProperty> oaConfigResult = oaConfigQuery.getResultList();
if (oaConfigResult == null) {
- Logger.warn("Found no configuration keys with prefix: " + oaKey + ".%");
+ Logger.info("Found no configuration keys with prefix: " + oaKey + ".%");
return null;
}
Logger.trace("Find " + oaConfigResult.size() + " key/value pairs with prefix: " + oaKey + ".%");
diff --git a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
index edf7ce268..4d4c7fa88 100644
--- a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
+++ b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
@@ -26,10 +26,12 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
-import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
/**
* @author tlenz
@@ -39,10 +41,48 @@ import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException
*/
public class MOAHttpClient extends HttpClient {
-
- public void setCustomSSLTrustStore(String metadataURL, ProtocolSocketFactory protoSocketFactory) throws MOAHttpProtocolSocketFactoryException, MalformedURLException {
- ;
-
+ public MOAHttpClient() {
+ super();
+ injectProxyCredentials();
+
+ }
+
+ public void injectProxyCredentials() {
+ //set proxy functionality
+ String host = System.getProperty("http.proxyHost"); //$NON-NLS-1$
+ String port = System.getProperty("http.proxyPort"); //$NON-NLS-1$
+ String user = System.getProperty("http.proxyUser"); //$NON-NLS-1$
+ String pass = System.getProperty("http.proxyPassword"); //$NON-NLS-1$
+
+ if (MiscUtil.isNotEmpty(host)) {
+ int p = -1;
+ if (MiscUtil.isNotEmpty(port)) {
+ try {
+ p = Integer.parseInt(port);
+
+ } catch (Exception e) {
+ Logger.error("'http.proxyPort' not valid!", e);
+
+ }
+ }
+ Logger.info("Set HTTP-Proxy to Host: " + host + " and port: " + p);
+ getHostConfiguration().setProxy(host, p);
+ if (MiscUtil.isNotEmpty(user) && pass != null) {
+ //set proxy credentials
+ AuthScope authscope = new AuthScope(host, p);
+ Credentials credentials = new UsernamePasswordCredentials(user, pass);
+ getState().setProxyCredentials(authscope, credentials);
+ Logger.info(" Use Proxy with Username: " + user + " and password: "
+ + (Logger.isTraceEnabled() ? pass : "*******"));
+
+ }
+
+ }
+ }
+
+ public void setCustomSSLTrustStore(String metadataURL, ProtocolSocketFactory protoSocketFactory)
+ throws MalformedURLException {
+
URL url = new URL(metadataURL);
int port = -1;
if (url.getPort() < 0)
@@ -52,7 +92,7 @@ public class MOAHttpClient extends HttpClient {
Protocol authhttps = new Protocol("https", protoSocketFactory, 443);
getHostConfiguration().setHost(url.getHost(), port, authhttps);
-
+
}
public int executeMethod(HostConfiguration hostconfig,
diff --git a/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/EIDAuthMetadataProvider.java b/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/EIDAuthMetadataProvider.java
index 649cfa691..e9ea40e0b 100644
--- a/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/EIDAuthMetadataProvider.java
+++ b/id/server/modules/moa-id-module-E-ID_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidproxyauth/utils/EIDAuthMetadataProvider.java
@@ -28,8 +28,12 @@ import java.util.Timer;
import javax.xml.namespace.QName;
+import org.apache.commons.httpclient.Credentials;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MOAHttpClient;
+import org.apache.commons.httpclient.ProxyHost;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.opensaml.saml2.metadata.EntitiesDescriptor;
import org.opensaml.saml2.metadata.EntityDescriptor;
@@ -317,7 +321,14 @@ public class EIDAuthMetadataProvider extends SimpleMetadataProvider
HttpClientParams httpClientParams = new HttpClientParams();
httpClientParams.setSoTimeout(AuthConfiguration.CONFIG_PROPS_METADATA_SOCKED_TIMEOUT);
httpClient.setParams(httpClientParams);
-
+
+ Credentials defaultcreds = new UsernamePasswordCredentials("username", "password");
+ httpClient.getState().setProxyCredentials(
+ new AuthScope("myhost", 8080, AuthScope.ANY_REALM), defaultcreds);
+ ProxyHost proxyHost = new ProxyHost("myhost", 8080);
+ httpClient.getHostConfiguration().setProxyHost(proxyHost);
+
+
if (metadataURL.startsWith("https:")) {
try {
//FIX: change hostname validation default flag to true when httpClient is updated to > 4.4