E IDAS Node Demo Tools Installation And Configuration Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 38

DownloadE IDAS-Node Demo Tools Installation And Configuration Guide
Open PDF In BrowserView PDF
eIDAS-Node Demo Tools
Installation and
Configuration Guide
Version 2.1

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Document history
Version

Date

Modification reason

Modified by

1.0

06/10/2017

Origination

DIGIT

2.0

11/04/2018

Rewritten for version 2.0 to take account of
architectural changes with Demo Specific Connector
and Demo Specific Proxy Service as well as Demo-SP,
Demo IdP.

DIGIT

2.1

09/07/2018

Reuse of document policy updated and version
changed to match the corresponding Release. Minor
document clarifications made.

DIGIT

 Copyright European Commission — DIGIT

Page 2 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Disclaimer
This document is for informational purposes only and the Commission cannot be held
responsible for any use which may be made of the information contained therein.
References to legal acts or documentation of the European Union (EU) cannot be
perceived as amending legislation in force or other EU documentation.
The document contains a brief overview of technical nature and is not supplementing
or amending terms and conditions of any procurement procedure; therefore, no
compensation claim can be based on the contents of the present document.

© European Union, 2018
Reuse of this document is authorised provided the source is acknowledged. The Commission's reuse policy is
implemented by Commission Decision 2011/833/EU of 12 December 2011 on the reuse of Commission
documents.

Directorate-General for [Name of the Directorate-General]
[Name of the Programme/Activity]
2014

EUR [number] EN

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Table of contents
DOCUMENT HISTORY ....................................................................................... 2
TABLE OF CONTENTS ....................................................................................... 4
LIST OF TABLES .............................................................................................. 6
1.

INTRODUCTION ........................................................................................ 7
1.1. Purpose 7
1.2. Document structure .......................................................................... 7
1.3. Other technical reference documentation ............................................. 8

2.

DEMO PRODUCTS OVERVIEW ..................................................................... 9
2.1. Integration package .......................................................................... 9
2.2. Modules 9

3.

SETUP CONFIGURATION DIRECTORIES ...................................................... 12

4.

SETTING UP THE DEMO SERVICE PROVIDER ............................................... 13

5.

SETTING UP THE DEMO IDENTITY PROVIDER .............................................. 14

6.

SETTING UP THE DEMO MS-SPECIFIC CONNECTOR ...................................... 15

7.

SETTING UP THE DEMO MS-SPECIFIC PROXY SERVICE ................................. 16

8.

ADDITIONAL ATTRIBUTES ........................................................................ 19

9.

DISTRIBUTED MAPS ................................................................................. 20
9.1. Specific Connector ........................................................................... 20
9.1.1.

Additional Configuration — Correlation Map Configuration ......... 20

9.2. Specific Proxy Service ...................................................................... 20
9.2.1.

Additional Configuration —Correlation Map Configuration .......... 21

10. PREPARING THE INSTALLATION ................................................................ 22
11. BUILDING AND DEPLOYING THE SOFTWARE ............................................... 23
11.1. Tomcat/GlassFish server deployment ................................................. 23
11.2. JBoss7, WildFly 11.0.0 Server deployment .......................................... 24
11.3. WebLogic Server deployment ............................................................ 26
11.4. WebSphere Server deployment ......................................................... 27
11.5. Monolithic Deployment ..................................................................... 28
12. VERIFYING THE INSTALLATION ................................................................. 29
12.1. Tomcat 7, 8 .................................................................................... 29
12.2. JBoss 7 29
12.3. WildFly 11.0 .................................................................................... 29
12.4. GlassFish V4.1, V5 ........................................................................... 29
12.4.1. GlassFish V4........................................................................ 29
12.4.2. GlassFish V5........................................................................ 30
12.5. WebLogic........................................................................................ 30
12.6. WebSphere Application Server .......................................................... 30
12.7. Configuration files............................................................................ 30
13. SIMPLE PROTOCOL .................................................................................. 32

 Copyright European Commission — DIGIT

Page 4 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

13.1. Original SAML EIDAS Request information items .................................. 32
13.2. SimpleRequest example ................................................................... 32
13.3. Original SAML EIDAS Response information items ................................ 34
13.4. SimpleResponse example ................................................................. 35

 Copyright European Commission — DIGIT

Page 5 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

List of tables
Table 1: List of modules ........................................................................................ 9
Table 2: Setup configuration directories .................................................................12
Table 3: Service Provider Properties ........................................................................13
Table 4: Available eIDAS-Node for Service Provider .................................................13
Table 5: Sample of user.properties content .............................................................14
Table 6: Identity Provider Properties ......................................................................14
Table 7: Specific Connector part properties ..............................................................15
Table 8: Specific part properties .............................................................................16
Table 9: Additional attributes ................................................................................19
Table 10: Specific Connector distributed map ..........................................................20
Table 11: Specific Proxy Service distributed map .....................................................20
Table 12: Parent project build for Tomcat/GlassFish Server deployment ......................23
Table 13: Module-based build for Tomcat/GlassFish Server deployment ......................24
Table 14: Parent project build for JBoss7/WildFly 11.0.0 Server deployment ...............26
Table 15: Module-based build for JBoss7 Server deployment......................................26
Table 16: Parent project build for WebLogic Server deployment .................................27
Table 17: Module-based build for WebLogic Server deployment ..................................27
Table 18: Parent project build for WebSphere Server deployment ...............................28
Table 19: Module-based build for WebSphere Server deployment ...............................28

 Copyright European Commission — DIGIT

Page 6 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

1.

Version 2.1

Introduction

This document is intended for a technical audience consisting of developers,
administrators and those requiring detailed technical information on how to configure,
build and deploy the eIDAS-Node application.
The document describes the installation and configuration settings for the Demo Tools
(SP and IdP) supplied with the package for basic testing.

1.1.

Purpose

The purpose of this document is to describe how to quickly install the Demo tools
provided in the Integration Package (Service Provider (SP), Identity Provider (IdP),
Specific Connector and Specific Proxy Service) for testing purposes.
Please note that this is not a guide for your national infrastructure, for implementation
options please read the eIDAS-Node National IdP and SP Integration Guide.

1.2.

Document structure

This document is divided into the following sections:


Chapter 1 − Introduction: this section.



Chapter 2 − Demo Products overview provides information on the deliverable
including the package, the modules and dependencies.



Chapter 3 ─ Setup configuration directories describes the setup configuration
directories and environment variables.



Chapter 4 ─ Setting up the Demo Service Provider provides information on the
Demo SP properties to enable set up.



Chapter 5 ─ Setting up the Demo Identity Provider provides information on the
Demo IdP properties to enable set up.



Chapter 6 ─ Setting up the Demo MS-Specific Connector provides information on
the Demo MS-Specific Connector properties to enable set up.



Chapter 7 ─ Setting up the Demo MS-Specific Proxy Service provides information
on the Demo MS-Specific Proxy Service properties to enable set up.



Chapter 8 ─ Additional attributes describes how to add attributes.



Chapter 9 ─ Distributed Maps describes the distributed maps that can be used for
Specific Connector and Specific Proxy Service.



Chapter 10 ─ Preparing the installation for this information you should refer to the
eIDAS-Node Installation and Configuration Guide.



Chapter 11 ─ Building and deploying the software describes the steps to build and
then to deploy the software on the supported servers.



Chapter 12 ─ Verifying the installation shows the final structure of your
application server relevant directories.



Chapter 13 ─ Simple protocol describes the implementation of Simple Protocol for
communication between SP and Specific Connector, and Specific Proxy Service
and IdP

 Copyright European Commission — DIGIT

Page 7 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

1.3.

Version 2.1

Other technical reference documentation

We recommend that you also familiarise yourself with the following eID technical
reference documents which are available on CEF Digital Home > eID > All eID services >

eIDAS Node integration package > View latest version:


eIDAS-Node Installation, Configuration and Integration Quick Start Guide
describes how to quickly install a Service Provider, eIDAS-Node Connector,
eIDAS-Node Proxy Service and IdP from the distributions in the release package.
The distributions provide preconfigured eIDAS-Node modules for running on each
of the supported application servers.



eIDAS-Node Installation and Configuration Guide describes the steps involved
when implementing a Basic Setup and goes on to provide detailed information
required for customisation and deployment.



eIDAS-Node National IdP and SP Integration Guide provides guidance by
recommending one way in which eID can be integrated into your national eID
infrastructure.



eIDAS-Node and SAML describes the W3C recommendations and how SAML XML
encryption is implemented and integrated in eID. Encryption of the sensitive data
carried in SAML 2.0 Requests and Assertions is discussed alongside the use of
AEAD algorithms as essential building blocks.



eIDAS-Node Error and Event Logging provides information on the eID
implementation of error and event logging as a building block for generating an
audit trail of activity on the eIDAS Network. It describes the files that are
generated, the file format, the components that are monitored and the events
that are recorded.



eIDAS-Node Error Codes contains tables showing the error codes that could be
generated by components along with a description of the error, specific behaviour
and, where relevant, possible operator actions to remedy the error.

Disclaimer: The users of the eIDAS-Node sample implementation remain fully responsible for its
integration with back-end systems (Service Providers and Identity Providers), testing, deployment
and operation. The support and maintenance of the sample implementation, as well as any other
auxiliary services, are provided by the European Commission according to the terms defined in
the European Union Public License (EUPL) at
https://ec.europa.eu/cefdigital/wiki/download/attachments/46992716/eupl1.1.-licenceen.pdf?version=1&modificationDate=1496243904284&api=v2 .

 Copyright European Commission — DIGIT

Page 8 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

2.

Version 2.1

Demo Products overview

This section provides information on the deliverable including the integration package,
the modules and dependencies.

2.1.

Integration package

The demo products deliverable consists of the following files:


SP.war



IdP.war



SpecificConnector.war



SpecificProxyService.war

These are web applications that can be deployed in most available Java web containers.

2.2.

Modules

The software is composed of several modules. This section describes the binaries and
source code to be installed plus the configuration files.
Table 1: List of modules
Module Name

Folder

Description

Parent

EIDAS-Parent

Module containing a consolidated and
consistent location of the libraries and their
version number to be used across the
different modules.

Light Commons

EIDAS-Light-Commons

Light Common application component and
utility classes used for implementing as
basis for the EIDAS-Commons and MS
Specific Connector and MS Specific Proxy
Service modules.

Simple Protocol

EIDAS-SimpleProtocol

Simple Protocol implementation to
demonstrate a MS-Specific protocol
between SP and Specific-Connector and
between IdP and Specific Proxy Service. Not
to be used in production.

Commons

EIDAS-Commons

Common Applications components and
utility classes for implementing functionality
of authentication service.

Specific
Communication
Definition

EIDASSpecificCommunicationDefinition

The exchange definition (interfaces) and
implementation used to formalise the
exchange definition between the Node and
the Specific module.

 Copyright European Commission — DIGIT

Page 9 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Module Name

Folder

Version 2.1

Description

MS Specific
Protocol

EIDAS-SimpleProtocol

Module that provides the code to create
simple protocol request and response used
between the SP and Specific Connector and
between IdP and Specific Proxy. Please see
appendix for further details. Not to be used
in production

MS Specific
Connector

EIDAS-SpecificConnector

Demo implementation of Member State
(MS) specific connector module. Not to be
used in production.

MS Specific Proxy
Service

EIDAS-SpecificProxyService

Demo implementation of Member State
(MS) specific Proxy Service module. Not to
be used in production

Updater

EIDAS-Updater

Module used to change configuration of a
running eIDAS-Node in testing environment.
(To enable, web.xml must be updated.) Not
to be used in production

Service provider

EIDAS-SP

Demo implementation of Service Provider
module. Not to be used in production

Identity provider

EIDAS-IdP-1.0

Sample of Identity Provider module. Not to
be used in production

Basic Setup
configuration

EIDAS-Config

Sample configuration as in 12.7.

The figure below shows the dependencies between the installed modules. Note that the
modules shown in red are labelled ‘DO NOT USE’ in the legend, this means use only as
samples for demonstration purposes to show that the eIDAS-Node is working, do not use
in production. Furthermore, several security vulnerabilities exist and deploying ‘as is’ in
production carries significant risks.

 Copyright European Commission — DIGIT

Page 10 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

SP

IdP

Sample Specific Connector

Version 2.1

Sample Specific Proxy Service

Specific-Communication-v2
Specific-Communication-v2::Hazelcast Shared Map

EIDAS-Commons

Simple Protocol

EIDAS-Light-Commons

Figure 1: Dependencies between the installed modules

 Copyright European Commission — DIGIT

Page 11 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

3.

Version 2.1

Setup configuration directories

This section describes the setup configuration directories and environment variables.
There are five different environment variables used to locate the Demo Tools (Demo-SP,
Demo IdP, Demo Specific Connector and Demo Specific Proxy Service) directories of
configuration files. These can be defined as OS environment variables or setting it to the
runtime environment (by –D switch to JVM or on the AS admin console).
Table 2: Setup configuration directories
Environment variable

Used in

Example target configuration
directory

$SP_CONFIG_REPOSITORY

spApplicationContext.xml

file:/C:/PGM/projects/configEidas/sp/

$SPECIFIC_CONNECTOR_CONFI
G_REPOSITORY

specificConnectorApplicationContext.x
ml

file:/C:/PGM/projects/configEidas/spe
cificConnector/

$SPECIFIC_PROXY_SERVICE_CO
NFIG_REPOSITORY

specificProxyServiceEnvironmentConte
xt.xml

file:/C:/PGM/projects/configEidas/spe
cificProxyService/

$IDP_CONFIG_REPOSITORY

idpApplicationContext.xml

file:/C:/PGM/projects/configEidas/idp/

$EIDAS_CONFIG_REPOSITORY

specificConnectorApplicationContext.x
ml
specificProxyServiceApplicationContex
t.xml

file:/C:/PGM/projects/configEidas

This configuration is needed to
be able to configure Hazelcast
using the file hazelcast.xml,
also used by the eIDAS-Node,
please see eIDAS-Node
Installation and Configuration
Guide.

By default OS environment variables or JVM command line arguments (-D option) must
be set in order to specify the location of configuration files.
It is possible to change or hardcode these variables in the following files:


spEnvironmentContext.xml



specificConnectorEnvironmentContext.xml



specificProxyServiceEnvironmentContext.xml



idpEnvironmentContext.xml

Please look inside these files to see how it is done.

 Copyright European Commission — DIGIT

Page 12 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

4.

Version 2.1

Setting up the Demo Service Provider

This section provides information on the Demo SP properties to enable set up.
The Demo Service Provider (SP) can be used to simulate an MS SP requesting
authentication. It works with the default MS-Specific-Connector part using the simple
protocol language.
The Basic Setup provides a preconfigured version of Demo Service Provider, however you
may need to fine-tune some options.
The Service Provider sp.properties configuration details are described in the following
table. The location of this file must be set by the SP_CONFIG_REPOSITORY environment
variable or command line argument.
Table 3: Service Provider Properties
Key

Description

provider.name

Provider Name for this Service Provider

sp.return

URL used when the eIDAS-Node Connector finishes the process. This must be the value of
the machine running the Service Provider, its format is
http://sp.ip.address:sp.port.number/sp.deployment.name/ReturnPage.

The following table describes the available eIDAS-Node for this Service Provider.
Table 4: Available eIDAS-Node for Service Provider
Key
country.number
countryX.name
countryX.url

Description
The number of possible eIDAS-Nodes that can communicate with this SP
The name of the eIDAS-Node X(= positive integer)
The URL for the eIDAS-Node X. This must be the value of the machine running the eIDASNode using the format:
http://node.ip.address:node.port.number/node.deployment.name/.
This URL is used by the SP to send its request.

 Copyright European Commission — DIGIT

Page 13 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

5.

Version 2.1

Setting up the Demo Identity Provider

This section provides information on the Demo IdP properties to enable set up.
The Demo Identity Provider (IdP) can be used to simulate an MS IdP requesting
authentication. It works with the default MS-Specific-Proxy-Service part using the simple
protocol language.
In order to proceed with the Basic Setup, you may need to modify the configuration of
the Demo Identity Provider.
The user.properties holds the credentials for citizens who are able to log in. The
format is: =.
The idp.properties is used by the IdP to provide the attribute values in the format:
.=.
Table 5: Sample of user.properties content
Key

Description

myUser=myPassword

A sample username and password

myUser.LegalName=my legal name

A sample attribute definition

The idp.properties holds configuration parameters about the application. The location
of this file must be set by the IDP_CONFIG_REPOSITORY environment variable or
command line argument.
Table 6: Identity Provider Properties
Key
idp.demo

 Copyright European Commission — DIGIT

Description
Issuer name for the IdP.

Page 14 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

6.

Version 2.1

Setting up the Demo MS-Specific Connector

This section provides information on the Demo MS-Specific Connector properties to
enable set up.
The eIDAS-Node integration package contains a Demo Member State Specific Connector
part that is aligned with the use of Demo SP.
There are some configuration items that might need to be customised according to the
test environment. The configuration file name is specificConnector.xml, and is located
by SPECIFIC_CONNECTOR_CONFIG_REPOSITORY environment variable or command line
argument.
Table 7: Specific Connector part properties
Key

Description

issuer.name

Name of the issuer. Responses sent will have this value as
issuer.

distributedMapsSpecificConnector

Boolean value (true|false), which indicates if the application
will activate distributed maps feature, necessary if clusters are
used.

specific.connector.request.url

The URL of the Node to send the binary light token related to
the Light Request.

relaystate.randomize.null

Boolean value (true|false), to activate or de-activate the

behaviour of populating a null relayState with a random
value.

 Copyright European Commission — DIGIT

Page 15 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

7.

Version 2.1

Setting up the Demo MS-Specific Proxy Service

This section provides information on the Demo MS-Specific Proxy Service properties to
enable set up.
The eIDAS-Node integration package contains a Demo Member State Specific Proxy
Service part that is aligned with the use of Demo IdP.
There are some configuration items that might need to be customised according to the
test environment. The configuration file name is specificProxyService.xml, and is
located by SPECIFIC_PROXY_SERVICE_CONFIG_REPOSITORY environment variable or
command line argument.
Table 8: Specific part properties
Key

Description

issuer.name

Name of the issuer for the IdP.
Responses sent will have this
value as issuer.

distributedMapsSpecificProxyService

Boolean value (true|false),
which indicates if the
application will activate
distributed maps feature, to be
used in cluster mode.

idp.url

URL to where the MS request
will be sent.

specific.proxyservice.idp.response.service.url

URL to where the MS Specific
Proxy Service can receive the
response from the Demo IdP. It
is send in the request to the IdP.

ask.consent.request

Boolean value (true|false),
which indicates if the
application will activate the
consent pages for the request.
If set to "true", the Consent
Page will be displayed to the
user when processing the
request from the eIDAS-Node
Connector. Attributes without
consent will be removed from
the response.

 Copyright European Commission — DIGIT

Page 16 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Key
ask.consent.response

Version 2.1

Description
Boolean value (true|false),
which indicates if the
application will activate the
consent pages for the response.
If set to "true", the Value
Consent Page (CV) will be
displayed before sending the
response to the eIDAS-Node
Connector. The user is able to
cancel the forwarding of
authentication data, resulting in
an authentication failure.

ask.consent.response.show.only.eidas.attributes

Boolean value (true|false),
which indicates if the
application will activate the
display of the response's
attribute names. Depends on
activation of
ask.consent.response
If set to "true" only the Core
eIDAS attributes/values will be
displayed. On "false", the Value
Consent Page (CV) will display
all the Response
attributes/values, including
additional (specified in XML file)
ones.

ask.consent.response.show.attribute.values

Boolean value (true|false),
which indicates if the
application will activate the
display of the response's
attribute values. Depends on
activation of
ask.consent.response
If set to "true", the Value
Consent Page (CV) will display
attribute names and values for
the Response, "false" will result
in attribute names only.

consent.Request.LightToken.Secret

Secret to be used in the request
consent.

consent.Request.LightToken.Algorithm

Digest Algorithm for the request
consent

consent.Response.LightToken.Secret

Secret to be used in the
response consent

 Copyright European Commission — DIGIT

Page 17 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Key

Version 2.1

Description

consent.Request.LightToken.Algorithm

Digest Algorithm for the
response consent

default.specific.proxyservice.idp.response.service.url

URL where the MS Specific
Proxy Service can receive the
response from the Demo IdP. It
is sent in the request to the IdP
when specific modules are
included in the Node as JAR.

specific.proxyservice.response.url

The URL of the Node to send the
binary light token related to the
Light Response.

relaystate.randomize.null

Boolean value (true|false), to
activate or de-activate the

behaviour of populating a
null relayState with a
random value.

 Copyright European Commission — DIGIT

Page 18 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

8.

Version 2.1

Additional attributes

This section describes how to add attributes.
To add additional attributes use the files named additional-attributes.xml, located in
the environment variables:


$SPECIFIC_CONNECTOR_CONFIG_REPOSITORY



$SPECIFIC_PROXY_SERVICE_CONFIG_REPOSITORY

or by command line argument. The file eidas-attributes.xml should remain
unchanged.
The following table contains the additional attribute keys that need to be present to add
an additional attribute.
Table 9: Additional attributes
Key

Description

1.NameUri

URI of the attribute.

1.FriendlyName

Friendly name of the attribute.

1.PersonType

PersonType, either natural or legal , corresponding to the Natural
and Legal Persons

1.Required

If the attribute is to be set as required.

1.XmlType.NamespaceUri

The additional attribute namespace URI.

1.XmlType.LocalPart

The additional attribute local part.

1.XmlType.NamespacePrefix

The additional attribute's namespace prefix.

1.AttributeValueMarshaller

The additional attribute's namespace value marshaller.

To add a second attribute you will need to increment the prefix number (i.e. the
additional attribute would be prefixed “2” and so on).
Also the same has to be done in the eIDAS-Node configuration file for these additional
attributes to be recognised.

 Copyright European Commission — DIGIT

Page 19 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

9.

Version 2.1

Distributed Maps

This section describes the distributed maps that can be used in the Demo Tools Specific
Connector and Specific Proxy Service.

9.1.

Specific Connector

In the Specific Connector there is one map that can be distributed:
Table 10: Specific Connector distributed map
bean id
specificMSSpRequestCorrelationMap

9.1.1.

Description
Stores the authentication request from the Demo SP.
Necessary to obtain the service URL where the correlated
response should be send to.

Additional Configuration — Correlation Map Configuration

For the Demo MS Specific Connector there is one AuthenticationRequest type map in
specificConnectorApplicationContext, for the Demo SP.







Figure 2: Correlation map cache configuration — Hazelcast —
specificApplicationContext.xml

9.2.

Specific Proxy Service

In the Specific Proxy Service there are three maps that can be distributed:
Table 11: Specific Proxy Service distributed map
bean id

Description

specificMSIdpRequestCorrelationMap

Stores the authentication request from the demo SP.
Necessary to obtain the service URL where the correlated
response should be send to.

tokenRequestCorrelationMap

Stores the ILightRequest used in the User's Request Consent.

tokenResponseCorrelationMap

Stores the ILightResponse used in the User's Response
Consent.

 Copyright European Commission — DIGIT

Page 20 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

9.2.1.

Version 2.1

Additional Configuration —Correlation Map Configuration

For the Demo MS Specific Connector there is one AuthenticationRequest type map in
specificProxyServiceApplicationContext, for the Demo SP.
For the Specific Connector part, specificSpRequestCorrelationMap, the map instance
must be the same as used in the eIDAS-Node
(springServiceCMapspecificSpCorProvider). LightRequest map types are defined
here.














Figure 3: Correlation map cache configuration — Hazelcast —
specificApplicationContext.xml

 Copyright European Commission — DIGIT

Page 21 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

10. Preparing the installation
For instructions on how to prepare the servers: Tomcat, JBoss, WildFly, GlassFish,
WebLogic or WebSphere before deploying the Demo Tools please refer to the eIDASNode Installation and Configuration Guide.

 Copyright European Commission — DIGIT

Page 22 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

11. Building and deploying the software
This section describes the steps to build and then to deploy the software on the
supported servers.
The project build files are in Maven3 format, so you need to install Maven. Download
instructions are provided at http://maven.apache.org/run-maven/index.html). Recommended
versions of Maven are 3.3.9 and above. Lower versions can result in exceptions.
There are two ways to build the binaries from sources:
1. Parent build: the pom.xml file in the EIDAS-Parent module is a common
reference for all dependent module/external Maven artefact versions, and able to
build all binaries related to EidasNode and/or Demo Tools.
There are various profiles to help tailoring the build to one's particular needs:
these can be split in two main categories.
First: profiles related to application server specifics, for instance profiles named
tomcat (this is active by default, also used to for the glassfish AS build), weblogic,
websphere (also used to for the liberty profile build) and jboss.
Second: two profiles related to the scope of modules to be build, specifically
NodeOnly (this is active by default,) and DemoToolsOnly.
For instance issuing Maven "install" command with the appropriate activation
profile (e.g. for WebLogic: -P weblogic,NodeOnly,DemoTools) will result in a full
build.
2. Module-based build: it is possible to build the artefacts one-by-one, which can
be helpful if there is a need to build just one module. In this case please don't
forget the dependencies between them. There is a certain order that needs to be
followed.
The next sections detail the above two methods for supported application servers.

11.1. Tomcat/GlassFish server deployment
You must compile, install and deploy the projects, either by compiling the parent project
or by compiling each module separately in the order shown below. At a command
prompt, navigate to the folder shown below and enter the corresponding command line.
Note: $GLASSFISH_HOME refers to the base directory of your GlassFish server (e.g.
/home/user/apps/glassfishv3).
Table 12: Parent project build for Tomcat/GlassFish Server deployment
Step

1

Folder
EIDAS-Parent

Command line
mvn clean install –P
tomcat[,NodeOnly],DemoToolsOnly
After the build has been done, deploy
EidasNode.war, IdP.war, SP.war,
SpecificConnector.warand
SpecificProxyService.war .

 Copyright European Commission — DIGIT

Page 23 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Table 13: Module-based build for Tomcat/GlassFish Server deployment

1

Step
EIDAS-Parent

Folder

Command line
mvn clean install

2

EIDAS-Light-Commons

mvn clean install

3

EIDAS-Commons

mvn clean install

4

EIDAS-SpecificCommunicationDefinition

mvn clean install

5

EIDAS-ConfigModule

mvn clean install

6

EIDAS-Updater

mvn clean install

7

SimpleProtocol

mvn clean install

8

EIDAS-SpecificConnector

mvn clean install

9

EIDAS-SpecificProxyService

mvn clean install

10

EIDAS-SP

a. mvn clean package
b.
Tomcat: copy target/SP.war
$TOMCAT_HOME/webapps/SP.war
GlassFish: copy target/SP.war
$GLASSFISH_DOMAIN/autodeploy/SP.w
ar

11

EIDAS-IdP-1.0

a. mvn clean package –P tomcat
b.
Tomcat: copy target/IdP.war
$TOMCAT_HOME/webapps/IdP.war
GlassFish: copy target/IdP.war
$GLASSFISH_DOMAIN/autodeploy/IdP.
war

11.2. JBoss7, WildFly 11.0.0 Server deployment
You must compile, install and deploy the projects, either by compiling the parent project
or by compiling each module separately in the order shown below. At a command
prompt, navigate to the folder shown below and enter the corresponding command line.
Note: The $SERVER_CONFIG variable refers to JBoss server configuration name (e.g.
default)

 Copyright European Commission — DIGIT

Page 24 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

If you want to use the 'default' configuration server, your full path will be:
/home/user/apps/jboss-7.4.0.GA/server/default in the case of JBoss and similar for
WildFly.

 Copyright European Commission — DIGIT

Page 25 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Table 14: Parent project build for JBoss7/WildFly 11.0.0 Server deployment
Step
1

Folder
EIDAS-Parent

Command line
mvn clean install –P
jBoss7[,NodeOnly],DemoToolsOnly
After the build has been done, deploy EidasNode.war,
IdP.war, SP.war, SpecificConnector.warand
SpecificProxyService.war .

Table 15: Module-based build for JBoss7 Server deployment
Step

Folder

1

EIDAS-Parent

2

EIDAS-Light-Commons

3

EIDAS-Commons

4

EIDASSpecificCommunicationDefinition

5

EIDAS-ConfigModule

6

EIDAS-Updater

7

SimpleProtocol

8

EIDAS-SpecificConnector

9

EIDAS-SpecificProxyService

10

EIDAS-SP

Command line
mvn clean install
mvn clean install
mvn clean install
mvn clean install
mvn clean install
mvn clean install
mvn clean install
mvn clean install
mvn clean install
a. mvn clean package –P jBoss7
b. copy target/SP.war $JBOSS_HOME/
standalone/deployments/SP.war

11

EIDAS-IdP-1.0

a. mvn clean package -P jBoss7
b. copy target/IdP.war $JBOSS_HOME/
standalone/deployments/IdP.war

11.3. WebLogic Server deployment
You must compile, install and deploy the projects, either by compiling the parent project
or by compiling each module separately in the order shown below. At a command
prompt, navigate to the folder shown below and enter the corresponding command line.

 Copyright European Commission — DIGIT

Page 26 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Table 16: Parent project build for WebLogic Server deployment
Step
1

Folder

Command line
mvn clean install –P
weblogic[,NodeOnly],DemoToolsOnly

EIDAS-Parent

After the build has been done, deploy EidasNode.war, IdP.war,
SP.war, SpecificConnector.warand
SpecificProxyService.war .

Table 17: Module-based build for WebLogic Server deployment
Step

Folder

Command line
mvn clean install

1

EIDAS-Parent

2

EIDAS-Light-Commons

mvn clean install

3

EIDAS-Commons

mvn clean install

4

EIDASmvn clean install
SpecificCommunicationDefinition

5

EIDAS-ConfigModule

mvn clean install

6

EIDAS-Updater

mvn clean install

7

SimpleProtocol

mvn clean install

8

EIDAS-SpecificConnector

mvn clean install –P weblogic

9

EIDAS-SpecificProxyService

mvn clean install –P weblogic

10

EIDAS-SP

a. mvn clean package –P weblogic
b. copy target/SP.war $WLS_HOME/DOMAIN/
autodeploy/SP.war

11

EIDAS-IdP-1.0

a. mvn clean package –P weblogic
b. copy target/IdP.war $WLS_HOME/DOMAIN/
autodeploy/IdP.war

11.4. WebSphere Server deployment
You must compile, install and deploy the projects, either by compiling the parent project
or by compiling each module separately in the order shown below using WebSphere's
Admin Console. At a command prompt, navigate to the folder shown below and enter the
corresponding command line:

 Copyright European Commission — DIGIT

Page 27 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Table 18: Parent project build for WebSphere Server deployment
Step

Folder
EIDAS-Parent

1

Command line
mvn clean install –P
websphere[,NodeOnly],DemoToolsOn
ly
After the build has been done, deploy
EidasNode.war, IdP.war and SP.war.

Table 19: Module-based build for WebSphere Server deployment
Step

Folder

Command line

1

EIDAS-Parent

mvn clean install

2

EIDAS-Light-Commons

mvn clean install

3

EIDAS-Commons

mvn clean install

4

EIDAS-SpecificCommunicationDefinition

mvn clean install

5

EIDAS-ConfigModule

mvn clean install

6

EIDAS-Updater

mvn clean install

7

SimpleProtocol

mvn clean install

8

EIDAS-SpecificConnector

mvn clean install

9

EIDAS-SpecificProxyService

mvn clean install

10

EIDAS-SP

mvn clean package –P websphere

11

EIDAS-IdP-1.0

mvn clean package –P websphere

11.5. Monolithic Deployment
Besides the ‘Basic Deployment’ described in this document, a ‘Monolithic Deployment’ is
possible. In this case the EidasNode.war will include SpecificConnector and
SpecificProxyService modules as JARs.
In this case add –D specificJar to the build commands for the following modules:


EIDAS-SpecificCommunicationDefinition



EIDAS-SpecificConnector



EIDAS-SpecificProxyService modules



EIDAS-SP



EIDAS-IdP-1.0

This also applies to EidasNode modules, so please check the Monolithic Deployment
section in the eIDAS-Node Installation and Configuration Guide for more details.

 Copyright European Commission — DIGIT

Page 28 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

12. Verifying the installation
This section shows the final structure of your application server relevant directories; so
that you can confirm that you have made the proper configurations. The structure of the
application’s 'war' files is also shown so you can verify that your applications were built
successfully.

12.1. Tomcat 7, 8
$TOMCAT_HOME/endorsed
resolver-2.9.1.jar
serializer-2.7.2.jar
xalan-2.7.2.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar
$TOMCAT_HOME/webapps/
IdP.war
SP.war
SpecificConnector.war
SpecificProxyService.war
(server specific directories were not included)

12.2. JBoss 7
1. Check modules directory for the presence of BouncyCastle and xml-apis modules.
2. Copy war files under $JBOSS_HOME/standalone/Deployments.

12.3. WildFly 11.0
1. Check modules directory for the presence of BouncyCastle and xml-apis modules;
2. Copy war files under $WILDFLY_HOME/standalone/Deployments.

12.4. GlassFish V4.1, V5
12.4.1. GlassFish V4
$GLASSFISH_DOMAIN/lib/ext/
resolver-2.9.1.jar
serializer-2.7.2.jar
xalan-2.7.2.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar
$GLASSFISH_DOMAIN/autodeploy/
IdP.war
SP.war
SpecificConnector.war
SpecificProxyService.war
(server specific directories were not included)

 Copyright European Commission — DIGIT

Page 29 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

12.4.2. GlassFish V5
$GLASSFISH_DOMAIN/domains/domain1/lib/ext
resolver-2.9.1.jar
serializer-2.7.2.jar
xalan-2.7.2.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar
$GLASSFISH_DOMAIN/autodeploy/
IdP.war
SP.war
SpecificConnector.war
SpecificProxyService.war
(server specific directories were not included)

12.5. WebLogic
$WLS_HOME/domain/autodeploy/
IdP.war
SP.war
SpecificConnector.war
SpecificProxyService.war
(server specific directories were not included)
$DOMAIN_HOME/lib/
xml-apis-1.4.01.jar

12.6. WebSphere Application Server
WebSphere Application Server 8.5.5 has no requirement to add/replace endorsed
libraries. The deployment of the WAR files may be done using the admin console.
In Enterprise Applications > EidasNode > ClassLoader choose:


Class loader order to: Classes loaded with local class loader first (parent last);



WAR class loader policy to: Single class loader for application.

Note: for WebSphere Liberty Profile deployment see Configuring WebSphere Liberty
Profile in the eIDAS-Node Installation and Configuration Guide.

12.7. Configuration files
The following configuration and keystore files are needed for the full installation with
Demo Tools. The layout itself can be different, depending on the environment variables,
so this is just an example of Basic Setup:
server/hazelcast.xml
server/idp/additional-attributes.xml
server/idp/idp.properties
server/idp/user.properties
server/sp/additional-attributes.xml
server/sp/sp.properties
server/specificConnector/additional-attributes.xml

 Copyright European Commission — DIGIT

Page 30 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

server/specificConnector/eidas-attributes.xml
server/specificConnector/specificCommunicationDefinitionConnector.xml
server/specificConnector/specificConnector.xml
server/specificProxyService/additional-attributes.xml
server/specificProxyService/eidas-attributes.xml
server/specificProxyService/specificCommunicationDefinitionProxyservice.xml
server/specificProxyService/specificProxyService.xml

 Copyright European Commission — DIGIT

Page 31 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

13. Simple protocol
Simple Protocol has been implemented for communication between SP and Specific
Connector, and Specific Proxy Service and IdP. The main goal is to show the concept of
integrating SPs, IdPs or similar entities with an eIDAS-Node. This is a simplified protocol
for demonstration purposes only. It does not include security features.
The Simple Protocol was not designed to be used ‘as is’ by Member States, only for
demonstration purposes. Some parts of it may evolve/be changed in future versions.

13.1. Original SAML EIDAS Request information items
Request
AuthnRequest
ID
Destination
ForceAuthn
IssueInstant
ProviderName
Version
AssertionConsumerServiceURL
SPType
RequestedAuthnContext
Comparison
AuthnContextClassRef
RequestedAttributes
RequestedAttribute
FriendlyName
isRequired
Value
LatinScript
Value

13.2. SimpleRequest example
SimpleRequest
{
"authentication_request" : {
"version" : "1",
"id" : "e7d5db08-0818-449f-bec2-d257bf9593d7",
"created_on" : "2012-04-23T20:25:43.511+02:00",
"destination" : "http://",
<-------------- TO BE DECOMISSIONED, NO
EIDINT yet
"force_authentication" : true,
"provider_name" : "DEMO-SP",
"sp_type" : "public",
"service_url" : "http://localhost:8088/idpResponse",
"name_id_policy" : "transient",
"citizen_country" : "CA",
"requested_authentication_context" : {

 Copyright European Commission — DIGIT

Page 32 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

"comparison" : "minimum",
"context_class" : [ "high" ]
},
"attribute_list" : [ {
"type" : "requested_attribute",
"name" : "gender",
"required" : true
}, {
"type" : "requested_attribute",
"name" : "birth_name",
"required" : true
}, {
"type" : "requested_attribute",
"name" : "date_of_birth",
"required" : true
}, {
"type" : "requested_attribute",
"name" : "current_address",
"required" : false
} ]
}
}

Note: If an attribute value is supplied in the Request, that will be a valueattribute, so
"type" will change from "requested_attribute" to a certain type.
Simple Protocol

LightRequest

Mandatory
Yes/No

Nature

authentication_request LightRequest

No

abstract

version

Yes

always "1"

Yes

UUID generated

created_on

Yes

timestamp, local time in json "de facto" format

force_authentication

No

always "true"

No

string

Yes

URL for the Response

No

"public" | "private" | omitted

id

ID to map

provider_name

ProviderName

service_url
sp_type

SPType

Context_class

context_class

citizen_country

LevelOfAssurance

CitizenCountryCode

 Copyright European Commission — DIGIT

No

No

LevelOfAssurance

"A" | "B"

"http://eidas.europa.eu/L
oA/low "

"C" | "D"

"http://eidas.europa.eu/
LoA/substantial"

"E"

"http://eidas.europa.eu/L
oA/high"

This was an HTTP parameter with SAML, now it is the
part of the message body.
Value: ISO Country Code e.g. "CA"

Page 33 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Simple Protocol

LightRequest

Mandatory
Yes/No

Version 2.1

Nature
Can be omitted OR any of these values: “persistent”
| “transient” | “unspecified”

name_id_policy

NameIDPolicy

No

To map:
persistent => urn:oasis:names:tc:SAML:2.0:nameidformat:persistent
transient => urn:oasis:names:tc:SAML:2.0:nameidformat:transient

attribute_list

ImmutableAttributeMap
(please check example
above)

No

unspecified => urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
Abstract, the idea is to use the FriendlyName
attribute of eIDAS attributes here, then the
AttributeRegistry.getByFriendlyName can be used in
the mapping. It is possible to add a prefix such as
“sp_”

Attribute type is always ‘requested_attribute’ for Request.

13.3. Original SAML EIDAS Response information items
Response
Response
Destination
ID
InResponseTo
IssueInstant
Version
Issuer
Status
StatusCode
StatusCode
StatusMessage
Assertion
Issuer
Subject
NameID
NameQualifier
Value
SubjectConfirmation
Method
SubjectConfirmationData
Address
InResponseTo
NotOnOrAfter
Recipient
Conditions
NotBefore

 Copyright European Commission — DIGIT

Page 34 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

NotOnOrAfter
AudienceRestriction
Audience
AuthnStatement
AuthnInstant
AuthnContext
AuthnContextClassRef
AuthnContextDecl
AttributeStatement
Attribute
FriendlyName
Name
NameFormat
AttributeValue
LatinScript

13.4. SimpleResponse example
SimpleResponse
Success:
{
"response" : {
"version" : "1",
"id" : "0a88c46e-24a7-4194-90f1-35485977bb18",
"destination" : "http://",
BE DECOMISSIONED, NO EIDINT yet
"inresponse_to" : "e7d5db08-0818-449f-bec2-d257bf9593d7",
"created_on" : "2012-04-23T20:28:43.511+02:00",
"authentication_context_class" : "high",
"client_ip_address" : "123.0.0.2",
"issuer" : "DEMO-IDP",
"subject" : "ES/BE/0123456",
"name_id_format" : "transient",
"status" : {
"status_code" : "success",
},
"attribute_list" : [ {
"type" : "string",
"name" : "gender",
"value" : "Male"
}, {
"type" : "string_list",
"name" : "birth_name",
"values" : [ {
"latin_script" : false,
"value" : "Árvíztűrő Tükörfúrógép"
}, {
"value" : "Arvizturo Tukorfurogep"
} ]
}, {

 Copyright European Commission — DIGIT

<-------------- TO

Page 35 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

"type" : "date",
"name" : "date_of_birth",
"value" : "1905-04-20"
}, {
"type" : "address",
"name" : "current_address",
"value" : {
"address_id" : "http://address.example/id/be/eh11aa",
"po_box" : "1234",
"locator_designator" : "28",
"locator_name" : "DIGIT building",
"cv_address_area" : "Etterbeek",
"thoroughfare" : "Rue Belliard",
"post_name" : "ETTERBEEK CHASSE",
"admin_unit_first_line" : "BE",
"admin_unit_second_line" : "ETTERBEEK",
"post_code" : "1040",
"full_cvaddress" : "Rue Belliard 28\nBE-1040 Etterbeek"
}
} ]
}
}
Error:
{
"response" : {
"version" : "1",
"id" : "0a88c46e-24a7-4194-90f1-35485977bb18",
"inresponse_to" : "e7d5db08-0818-449f-bec2-d257bf9593d7",
"created_on" : "2012-04-23T20:28:43.511+02:00",
"issuer" : "DEMO-IDP",
"status" : {
"status_code" : "failure",
"sub_status_code" : "AuthnFailed",
"status_message" : "all hands on deck"
}
}

Simple Protocol
response

Mandatory
Yes/No

LightResponse
LightResponse

version

No

Nature
abstract

Yes

always "1"

id

ID to map

Yes

UUID generated

inresponse_to

Original req ID to map

Yes

Mandatory

subject

Subject

No

New field for the user.properties (eg.: xavi.subject)
Only if message is SUCCESS!

name_id_format

NameIdFormat

No

At the IDP, copy the value of NameIDPolicy from the
Request
Only if message is SUCCESS!

client_ip_address

IPAddress

No

 Copyright European Commission — DIGIT

optional address of the client browser

Page 36 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Simple Protocol

LightResponse

Mandatory
Yes/No

Version 2.1

Nature

created_on

Yes

timestamp, local time in json "de facto" format

authentication_context_
LevelOfAssurance
class

No

"high" | "substantial" | "low"

issuer

Issuer

No

string

status

Status

No

abstract structure

No

mandatory, allowed values: success | failure
To be mapped as full SAML2Core URN (see
SAML2Core):
success =>
"urn:oasis:names:tc:SAML:2.0:status:Success"
failure =>
"urn:oasis:names:tc:SAML:2.0:status:Responder"
(not covered:
"urn:oasis:names:tc:SAML:2.0:status:Requester" and
"urn:oasis:names:tc:SAML:2.0:status:VersionMismat
ch" because it is for the Proxy Node in our simple
implementation)

status_code

StatusCode

To be mapped as SAML:Core secondary status code
like AuthnFailed, attach this string to the URN (see
SAML2Core), optional: only in case of failure.

sub_status_code

SubStatusCode

No

Possible values:
AuthnFailed | InvalidAttrNameOrValue |
InvalidNameIDPolicy | NoAuthnContext |
NoAvailableIDP | NoPassive | NoSupportedIDP |
PartialLogout | ProxyCountExceeded |
RequestDenied | RequestUnsupported |
RequestVersionDeprecated |
RequestVersionTooHigh | RequestVersionTooLow |
ResourceNotRecognized | TooManyResponses |
UnknownAttrProfile | UnknownPrincipal |
UnsupportedBinding
The strategy here is just to append
"urn:oasis:names:tc:SAML:2.0:status:" in Specific
Proxy, and remove it in the Specific Connector. The
IDP should implement some of these (as appropriate)
but not all e.g.: AuthnFailed should be the failure
case when the credentials entered in the IDP are
wrong.
Only in case of failure.

status_message

StatusMessage

No

ImmutableAttributeMap
attribute_list

(please check example
above)

No

IDP should be able to produce some example text
(e.g. "failed to authenticate because of bad
credentials" for the "AuthnFailed" code)
Abstract, the idea is to use the FriendlyName
attribute of EIDAS attributes here, then the
AttributeRegistry.getByFriendlyName can be used in
the mapping. It is possible to add a prefix such as
“idp_”.
Only if message is SUCCESS!

 Copyright European Commission — DIGIT

Page 37 of 38

eIDAS-Node Demo Tools Installation and Configuration Guide

Version 2.1

Possible attribute types are: string, string_list, date and address. Add JAXB
implementing class if more required.

 Copyright European Commission — DIGIT

Page 38 of 38



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 38
Language                        : en-GB
Tagged PDF                      : Yes
Create Date                     : 2018:07:16 15:08:00+02:00
Modify Date                     : 2018:07:16 15:08:00+02:00
EXIF Metadata provided by EXIF.tools

Navigation menu