# 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). This feature is not implemented yet.

  

### 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/_



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

Add a file with release informations to:
```
./infos/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/handbook-work_in_progress.docx
store pdf to: ./infos/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
```



## Changelog

**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