# Member-state specific eIDAS Application
## Description
The member-state specific eIDAS application (ms-specific eIDAS) implements the bridge between the eIDAS reference implementation provides by European commission and the national eID system. This application consists of two parts
- **MS-specific Connector:** implements the bridge to connect a national service-provider to a foreign idenity-provider. 
- **MS-specific Proxy-Service:** implements the bridge to connect a foreign service-provider to national eID system (ID Austria).
  
### Building
The application uses SpringBoot as core framework, but the default build-profile does not build an executable jar. There, the application has to be deployed into an application service, like Apache Tomcat
The project can be build with :
```
mvn clean package
```
The resulting `war` file can be deployed into an application server
Set Java System-Property _-Deidas.ms.configuration=/path/to/configuration..._ to set the configuration for this application
If you like to build an executable SpringBoot application with embedded Tomcat then use:
```
mvn -P embbededTomcat clean package
```
The resulting `jar` file can be run with java:
```
java -jar ./connector/target/ms-connector.jar
```
But it is also directly executalbe
```
./connector/target/ms-connector.jar
```
In case of a executable application package, the configuration can be either set by Java System-Property _-Deidas.ms.configuration=/path/to/configuration..._  or by default SpringBoot configuration features.
### Configuration
A default configuration is located at _basicConfig/_
**Hint:** The project includes the MS eIDAS-Connector and the MS eIDAS-Proxy-Service and defines separate configuration, handbook, and release notes for each application. 
## Generate a BM.I Release Package
The full release packages for BM.I infrastructure will be automatically assembled by maven build-process.  Before release build, all release related information have to added into infos folder. To add release informations follow the steps outlined below.
**Hint:** The project includes the *MS eIDAS-Connector* and the *MS eIDAS-Proxy-Service* and defines separate configuration, handbook, and release notes for each application. 
Define release version for *MS eIDAS-Connector*  and *MS eIDAS-Proxy-Service* in:
```
./pom.xml
  SET_VERSION_FOR_CONNECTOR  
  SET_VERSION_FOR_MS_PROXY  
```
Add a file with release informations to:
```
./infos/ms-connector/readme_{version}.txt
./infos/ms-proxyservice/readme_{version}.txt
```
Add additional eIDAS Node related information into:
```
./infos/eIDAS_Ref_Impl/
```
Add, remove, or update the application description in the handbook and store the handbook for the current release version as pdf. 
```
modify: ./infos/ms-connector/Handbuch_MS-eIDAS-Node.docx
store pdf to: ./infos/ms-connector/handbook/handbook-{version}.pdf
```
```
modify: ./infos/ms-proxyservice/Handbuch_MS-eIDAS-Proxy-Service.docx
store pdf to: ./infos/ms-proxyservice/handbook/handbook-{version}.pdf
```
Generate a release package with:
```
mvn clean package
```
The full release package will be located add
```
./target/ms_specific_connector-{version}-dist.tar.gz
./target/ms_specific_proxyservice-{version}-dist.tar.gz
```
## Changelog
**v1.3.2**
- Bugfix
  - Fehlerhafter Prozessstatus bei GUI basierten Matching behoben, welche die Neueintragung ins ERnP verhindert
  - Fehlender Parameter bei GUI basierten Matching behoben, welcher zu falschen Statistiklogger Einträgen führt
**v1.3.1**
- Optimierung und Fehlerkorrektur bei UX basierten Matching-Schritten
  - Konfigurierbare Maximalanzahl von Ergebnissen bei Adresssuche
  - Statistiklogger um Matching-Informationen erweitert
  - Bugfix
    - Sortierung bei Adresssuchergebnissen optimiert
**v1.3.0**
- Erweitertes Identitätsmatching welches sowohl bestehende ZMR und ERnP Einträge berücksichtigt
- Bugfix
  - Fehler bei der Verarbeitung von leeren Attributewerten behoben
- Akutalisierung von Drittherstellerbibliotheken
  - Spring-Core 5.3.19
  - Spring-Boot 2.5.13
  - Apache CXF 3.5.2
  - jose4j 0.7.12
**v1.2.4**
- Bugfix
  - Mögliche RCE Schwachstelle in Spring Framework behoben ([CVE-2022-22965](https://tanzu.vmware.com/security/cve-2022-22965))
  - Work-Around für insertErnp im ID Austria Betriebsmodus
- Akutalisierung von Drittherstellerbibliotheken
  - Spring-Core 5.3.18
  - Spring-Boot 2.5.12
  - thymeleaf-spring5 3.0.15.RELEASE
  - Apache CXF 3.4.6
  - Google Guava 31.1-jre
  - Jackson 2.13.2
  - Joda-Time 2.10.14
  - jose4j 0.7.11
  - log4j  2.17.2
  - slf4j 1.7.36
**v1.2.3**
- Logging optimiert und Beispielkonfiguration um TransactionsId erweitert
  - Bugfix
    - Inkompatibilität zwischen AT MS-Connector und ID Austria System behoben
- Akutalisierung von Drittherstellerbibliotheken
**v1.2.2**
- Bugfix
  - Inkompatibilität zwischen AT MS-Connector, EidasNode v2.5 und Deutscher Middleware behoben
**v1.2.1**
- Bugfix
  - Möglichen Fehler in der Sprachauswahl via GUI behoben
**v1.2.0**
- Anpassungen zur Anbindungen an das E-ID System
- Update auf eIDAS Ref. Impl. 2.5.0 mit Apache Ignite Cache
  https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS-Node+version+2.5
- TODO:
**v1.1.0**
  - Update auf eIDAS Ref. Impl. 2.4.0 mit Apache Ignite Cache
    https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS-Node+version+2.4
  - Statischer Service-Provider Name für öffentliche Applikationen 
  - Mindest LoA, welche für Requests an eIDAS Proxy-Services verwendet wird.
  - Requested Attributes je Land konfigurierbar
  - Neue Template-Engine mit i18n Unterstützung
  - Neuer Algorithmus zur Generierung von Sessiontokens