===============================================================================
MOA ID Version Release 3.3.2 - Wichtige Informationen zur Installation
===============================================================================

-------------------------------------------------------------------------------
A. Neuerungen/�nderungen
-------------------------------------------------------------------------------

Mit MOA ID Version 3.3.2 wurden folgende Neuerungen und �nderungen eingef�hrt, 
die jetzt erstmals in der Ver�ffentlichung enthalten sind (siehe auch 
history.txt im gleichen Verzeichnis).
   
- �nderungen
  - Bugfix - if "hide bPK from AuthBlock" is used then the AuthBlock validation failes  
  - Update GUI components to support Content-Security-Policy header
  - Java JDK 9 Support 

-------------------------------------------------------------------------------
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.3.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.3.x. 

...............................................................................
B.1 Durchf�hrung eines Updates von Version 3.3.x auf Version 3.3.2
...............................................................................
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.3.2.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. Optionale Updates:
6.1. HTML Template updates:
     Fast alle html, JavaScript und CSS Templates wurden f�r die Unterst�tzung
     von Content-Security-Policy Header modifiziert. Sollten Sie eigene 
     Modifikationen an den bestehenden Templates vorgenommen haben m�ssen die
     Anpassungen manuell in die neuen Templates �bertragen werden. MOA-ID 3.3.2
     kann jedoch auch mit den bestehenden Templates betrieben werden.
     a.) Erstellen Sie eine Sicherungskopie der Verzeichnisse:
        - CATALINA_HOME\conf\moa-id\htmlTemplates
        - CATALINA_HOME\conf\moa-id\SLTemplates
        - 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
     c.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\SLTemplates
          in das Verzeichnis CATALINA_HOME\conf\moa-id\SLTemplates          
     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.     

6.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.   
   
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 3.2.x auf Version 3.3.2
...............................................................................
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.3.2.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. Optionale Updates: 
10.1. 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. 
10.2. 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
   
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 3.1.x auf Version 3.3.2
...............................................................................
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.3.2.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. Hinzuf�gen der zus�tzlichen Konfigurationsparameter in der MOA-ID-Auth
   Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties     
     a.)  moasession.jpaVendorAdapter.generateDdl=true
          moasession.dbcp.connectionProperties=
          moasession.dbcp.initialSize=5
          moasession.dbcp.maxActive=100
          moasession.dbcp.maxIdle=8
          moasession.dbcp.minIdle=5
          moasession.dbcp.maxWaitMillis=-1
          moasession.dbcp.testOnBorrow=true
          moasession.dbcp.testOnReturn=false
          moasession.dbcp.testWhileIdle=false
          moasession.dbcp.validationQuery=select 1
     b.)  advancedlogging.jpaVendorAdapter.generateDdl=true
          advancedlogging.dbcp.initialSize=0
          advancedlogging.dbcp.maxActive=50
          advancedlogging.dbcp.maxIdle=8
          advancedlogging.dbcp.minIdle=0
          advancedlogging.dbcp.maxWaitMillis=-1
          advancedlogging.dbcp.testOnBorrow=true
          advancedlogging.dbcp.testOnReturn=false
          advancedlogging.dbcp.testWhileIdle=false
          advancedlogging.dbcp.validationQuery=SELECT 1
     c.)  *.hibernate.connection.url=... um den GET Parameter '&serverTimezone=UTC' erweitern
     d.)  configuration.ssl.validation.revocation.method.order=crl,ocsp
     e.) Zus�tzliche neu, aber optionale Parameter finden Sie in der Beispielkonfiguration 

9. Optionale Updates:
9.1 Update der Default html-Templates f�r die B�rgerkartenauswahl.
       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. 
9.2 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
          
10. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
    CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
   
11. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das 
    Verzeichnis	CATALINA_HOME_ID\endorsed.

12. Optionale Updates: 
12.1. Der mySQL Treiber 'com.mysql.jdbc.Drive' ist deprecated. Der neue Treiber f�r 
      mySQL Datenbanken lautet 'com.mysql.cj.jdbc.Driver'. Ersetzen Sie entsprechenden
      Zeilen durch:
      a.) Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
          moasession.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
          configuration.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
          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.3 Durchf�hrung eines Updates von Version 3.0.x auf Version 3.3.2
...............................................................................
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.3.2.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. Update der TrustStores f�r WebService Zugriffe.
     a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\certs\ca-certs
         in das Verzeichnis CATALINA_HOME\conf\moa-id\certs\ca-certs.         
     b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\certs\certstore\toBeAdded
         in das Verzeichnis CATALINA_HOME\conf\moa-id\certs\certstore\toBeAdded.

9. Hinzuf�gen der zus�tzlichen Konfigurationsparameter in der 
   MOA-ID-Configuration Konfigurationsdatei
   CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties     
     a.) dbcp.validationQuery=.....         (SQL Query zum Validieren der
         Datenbankverbindung 
           z.B: "SELECT 1" f�r mySQL
                "select 1 from dual" f�r OracleDB)

10. Hinzuf�gen der zus�tzlichen Konfigurationsparameter in der MOA-ID-Auth
   Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties     
     a.) configuration.dbcp.validationQuery=.....         (SQL Query zum 
         Validieren der Datenbankverbindung 
           z.B: "SELECT 1" f�r mySQL
                "select 1 from dual" f�r OracleDB)
     b.)  moasession.jpaVendorAdapter.generateDdl=true
          moasession.dbcp.connectionProperties=
          moasession.dbcp.initialSize=5
          moasession.dbcp.maxActive=100
          moasession.dbcp.maxIdle=8
          moasession.dbcp.minIdle=5
          moasession.dbcp.maxWaitMillis=-1
          moasession.dbcp.testOnBorrow=true
          moasession.dbcp.testOnReturn=false
          moasession.dbcp.testWhileIdle=false
          moasession.dbcp.validationQuery=select 1
     c.)  advancedlogging.jpaVendorAdapter.generateDdl=true
          advancedlogging.dbcp.initialSize=0
          advancedlogging.dbcp.maxActive=50
          advancedlogging.dbcp.maxIdle=8
          advancedlogging.dbcp.minIdle=0
          advancedlogging.dbcp.maxWaitMillis=-1
          advancedlogging.dbcp.testOnBorrow=true
          advancedlogging.dbcp.testOnReturn=false
          advancedlogging.dbcp.testWhileIdle=false
          advancedlogging.dbcp.validationQuery=SELECT 1
     d.)  *.hibernate.connection.url=... um den GET Parameter '&serverTimezone=UTC' erweitern
     e.)  configuration.ssl.validation.revocation.method.order=crl,ocsp
     f.) Zus�tzliche neu, aber optionale Parameter finden Sie in der Beispielkonfigration 

11. Optionale Updates:
11.1 Update der Default html-Templates f�r die B�rgerkartenauswahl.
       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. 
11.2 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

12. Update der Default eIDAS Konfiguration.
     a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\eIDAS
         in das Verzeichnis CATALINA_HOME\conf\moa-id\eIDAS

13. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis
    CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach.
   
14. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das 
    Verzeichnis	CATALINA_HOME_ID\endorsed.

15. Optionale Updates: 
15.1. Der mySQL Treiber 'com.mysql.jdbc.Drive' ist deprecated. Der neue Treiber f�r 
      mySQL Datenbanken lautet 'com.mysql.cj.jdbc.Driver'. Ersetzen Sie entsprechenden
      Zeilen durch:
      a.) Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
          moasession.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
          configuration.hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver
          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

16. 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.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.