From e4fa532f93f10115e1f39c97cc96e5950a048884 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 11 Dec 2019 16:01:38 +0100 Subject: update to EAAF-Components 1.0.13.1 Enforce E-ID authentication based on Service-Provider configuration --- id/server/doc/handbook/protocol/protocol.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'id/server/doc/handbook') diff --git a/id/server/doc/handbook/protocol/protocol.html b/id/server/doc/handbook/protocol/protocol.html index 2b3dbff98..dc55dda3b 100644 --- a/id/server/doc/handbook/protocol/protocol.html +++ b/id/server/doc/handbook/protocol/protocol.html @@ -123,12 +123,12 @@ Redirect Binding OpenID Connect Authentifizierungsrequest
(AuthCode-Request) - https://<host>:<port>/moa-id-auth/oauth3/auth + https://<host>:<port>/moa-id-auth/oauth2/auth OpenID Connect

AccessToken-Request

- https://<host>:<port>/moa-id-auth/oauth3/token + https://<host>:<port>/moa-id-auth/oauth2/token SAML 1 @@ -1320,8 +1320,8 @@ https://<host>:<port>/moa-id-auth/pvp2/metadata

3.2 Zugangspunkte

Zur Verwendung von OpenID Connect stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation zur Verfügung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden OpenID Connect Nachrichten entgegennimmt.

3.3 Beschreibung der Nachrichten

Dieser Abschnitt beschreibt die einzelnen OpenID Connect spezifischen Nachrichten, welche zwischen der Online-Applikation und dem Modul MOA-ID-Auth während eines Authentifizierungsvorgangs ausgetauscht werden. Hierbei wird auch auf das Sequenzdiagramm aus Abschnitt 3.1 Bezug genommen.

@@ -1376,7 +1376,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobe

 

Nachfolgend ein Beispiel für einen OpenID Connect Authentifizierungsrequest an das Modul MOA-ID-Auth.

-
<form method="get" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/auth">
+
<form method="get" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/auth">
   <input type="hidden" value="code" name="response_type">
   <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo" name="client_id">
   <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action" name="redirect_uri">
@@ -1442,7 +1442,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobe
 
 

 

Nachfolgend ein Beispiel für einen AccessToken Request

-
<form method="POST" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/token">
+
<form method="POST" action="https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/token">
   <input type="hidden" value="authorization_code" name="grant_type">
   <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo" name="client_id">
   <input type="hidden" value="https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action" name="redirect_uri">
-- 
cgit v1.2.3


From 6bcda4bc120c743bab2296c72b22d1db0ba4ccfc Mon Sep 17 00:00:00 2001
From: Thomas Lenz 
Date: Fri, 13 Dec 2019 09:04:58 +0100
Subject: update configuration examples activate MOA-ID mode in configuration
 module as default

---
 .../config/ConfigurationProvider.java              |   2 +-
 .../webapp/jsp/snippets/OA/targetConfiguration.jsp |   4 +-
 .../data/deploy/conf/moa-id/moa-id.properties      | 137 ++++++++++++++++++++-
 id/server/doc/handbook/config/config.html          |  99 +++++++++++----
 4 files changed, 216 insertions(+), 26 deletions(-)

(limited to 'id/server/doc/handbook')

diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
index 656c9cc83..ef6c951c2 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
@@ -327,7 +327,7 @@ public class ConfigurationProvider {
 	}
 	
 	public boolean isMOAIDMode() {
-		String result = props.getProperty("general.moaidmode.active", "false");
+		String result = props.getProperty("general.moaidmode.active", "true");
 		return Boolean.parseBoolean(result);
 	}
 	
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp
index 2436b1051..db79cb7d7 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp
@@ -123,7 +123,7 @@
 								cssClass="checkbox">
 						
 						
-						
+						
 					
 					
 					
diff --git a/id/server/data/deploy/conf/moa-id/moa-id.properties b/id/server/data/deploy/conf/moa-id/moa-id.properties
index 414293350..926f6153b 100644
--- a/id/server/data/deploy/conf/moa-id/moa-id.properties
+++ b/id/server/data/deploy/conf/moa-id/moa-id.properties
@@ -18,7 +18,7 @@ configuration.moasession.key=SessionEncryptionKey
 configuration.moaconfig.key=ConfigurationEncryptionKey
 configuration.ssl.validation.revocation.method.order=ocsp,crl
 #configuration.ssl.validation.hostname=false
-#configuration.validate.authblock.targetfriendlyname=true
+#configuration.validate.authblock.targetfriendlyname=true<
 
 
 #MOA-ID 3.x Monitoring Servlet
@@ -31,6 +31,25 @@ configuration.advancedlogging.active=false
 
 ######################## Externe Services ############################################
 
+######## Online mandates webservice (MIS) ######## 
+service.onlinemandates.acceptedServerCertificates=
+service.onlinemandates.clientKeyStore=keys/....
+service.onlinemandates.clientKeyStorePassword=
+
+######## central eIDAS-node connector module ##########
+modules.eidascentralauth.keystore.path=file:$PATH_TO_CONFIG$/conf/moa-id/keys/moa_idp[password].p12
+modules.eidascentralauth.keystore.password=password
+modules.eidascentralauth.metadata.sign.alias=pvp_metadata
+modules.eidascentralauth.metadata.sign.password=password
+modules.eidascentralauth.request.sign.alias=pvp_assertion 
+modules.eidascentralauth.request.sign.password=password
+modules.eidascentralauth.response.encryption.alias=pvp_assertion 
+modules.eidascentralauth.response.encryption.password=password 
+modules.eidascentralauth.node.trustprofileID=centralnode_metadata
+
+#modules.eidascentralauth.semper.mandates.active=false
+#modules.eidascentralauth.semper.msproxy.list=
+
 ######## central E-ID System connector module ##########
 modules.eidproxyauth.keystore.path=file:$PATH_TO_CONFIG$/conf/moa-id/keys/moa_idp[password].p12
 modules.eidproxyauth.keystore.password=password
@@ -45,6 +64,26 @@ modules.eidproxyauth.EID.trustprofileID=eid_metadata
 #modules.eidproxyauth.EID.entityId=https://eid.egiz.gv.at/idp/shibboleth
 #modules.eidproxyauth.EID.metadataUrl=
 
+######################## Protokolle am IDP ############################################
+
+##Protocol configuration##
+#PVP2
+protocols.pvp2.idp.ks.file=file:$PATH_TO_CONFIG$/conf/moa-id/keys/moa_idp[password].p12
+protocols.pvp2.idp.ks.kspassword=password
+protocols.pvp2.idp.ks.metadata.alias=pvp_metadata
+protocols.pvp2.idp.ks.metadata.keypassword=password
+protocols.pvp2.idp.ks.assertion.sign.alias=pvp_assertion
+protocols.pvp2.idp.ks.assertion.sign.keypassword=password
+protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion
+protocols.pvp2.idp.ks.assertion.encryption.keypassword=password
+protocols.pvp2.metadata.entitycategories.active=false
+
+#OpenID connect (OAuth)
+protocols.oauth20.jwt.ks.file=file:$PATH_TO_CONFIG$/conf/moa-id/keys/moa_idp[password].p12
+protocols.oauth20.jwt.ks.password=password
+protocols.oauth20.jwt.ks.key.name=oauth
+protocols.oauth20.jwt.ks.key.password=password
+
 
 ######################## Datenbankkonfiguration ############################################
 configuration.database.byteBasedValues=false
@@ -134,6 +173,63 @@ advancedlogging.dbcp.validationQuery=select 1
 ##  The configuration of this modules is only needed if this modules are in use.  #
 ###################################################################################
 
+######## SL2.0 authentication module ######## 
+modules.sl20.vda.urls.qualeID.endpoint.default=https://www.handy-signatur.at/securitylayer2
+modules.sl20.vda.urls.qualeID.endpoint.1=https://hs-abnahme.a-trust.at/securitylayer2
+modules.sl20.vda.urls.qualeID.endpoint.2=https://test1.a-trust.at/securitylayer2
+modules.sl20.security.keystore.path=keys/sl20.jks
+modules.sl20.security.keystore.password=password
+modules.sl20.security.sign.alias=signing
+modules.sl20.security.sign.password=password
+modules.sl20.security.encryption.alias=encryption
+modules.sl20.security.encryption.password=password
+modules.sl20.vda.authblock.id=default
+modules.sl20.vda.authblock.transformation.id=SL20Authblock_v1.0,SL20Authblock_v1.0_SIC
+modules.sl20.security.eID.validation.disable=false
+modules.sl20.security.eID.signed.result.required=true
+modules.sl20.security.eID.encryption.enabled=true
+modules.sl20.security.eID.encryption.required=true
+
+######## user-restriction ##########
+configuration.restrictions.sp.entityIds=
+configuration.restrictions.sp.users.url=
+configuration.restrictions.sp.users.sector=
+
+####### Direkte Fremd-bPK Berechnung ######## 
+configuration.foreignsectors.pubkey.xxxxTargetxxx= xxx BASE64-Cert xxx
+
+######## eIDAS protocol configuration ########
+######## This is ONLY required, if MOA-ID operates as an eIDAS node!!! ########
+moa.id.protocols.eIDAS.samlengine.config.file=eIDAS/SamlEngine_basics.xml
+moa.id.protocols.eIDAS.samlengine.sign.config.file=eIDAS/SignModule.xml
+moa.id.protocols.eIDAS.samlengine.enc.config.file=eIDAS/EncryptModule.xml
+moa.id.protocols.eIDAS.metadata.validation.truststore=eIDAS_metadata
+moa.id.protocols.eIDAS.node.country=Austria
+moa.id.protocols.eIDAS.node.countrycode=AT
+moa.id.protocols.eIDAS.node.LoA=http://eidas.europa.eu/LoA/high
+
+######## HBV Mandate-Service client module ########
+modules.elga_mandate.nameID.target=urn:publicid:gv.at:cdid+GH
+modules.elga_mandate.service.metadata.trustprofileID=
+modules.elga_mandate.service.mandateprofiles=
+modules.elga_mandate.keystore.path=keys/moa_idp[password].p12
+modules.elga_mandate.keystore.password=password
+modules.elga_mandate.metadata.sign.alias=pvp_metadata
+modules.elga_mandate.metadata.sign.password=password
+modules.elga_mandate.request.sign.alias=pvp_assertion
+modules.elga_mandate.request.sign.password=password
+modules.elga_mandate.response.encryption.alias=pvp_assertion
+modules.elga_mandate.response.encryption.password=password
+
+######## SSO Interfederation client module ########
+modules.federatedAuth.keystore.path=keys/moa_idp[password].p12
+modules.federatedAuth.keystore.password=password
+modules.federatedAuth.metadata.sign.alias=pvp_metadata
+modules.federatedAuth.metadata.sign.password=password
+modules.federatedAuth.request.sign.alias=pvp_assertion
+modules.federatedAuth.request.sign.password=password
+modules.federatedAuth.response.encryption.alias=pvp_assertion
+modules.federatedAuth.response.encryption.password=password
 
 ######## Redis Settings, if Redis is used as a backend for session data.
 #        has to be enabled with the following parameter
@@ -141,3 +237,42 @@ advancedlogging.dbcp.validationQuery=select 1
 redis.use-pool=true
 redis.host-name=localhost
 redis.port=6379
+
+################SZR Client configuration####################################
+##  The SZR client is only required if MOA-ID-Auth should be 
+##  use as STORK <-> PVP Gateway. 
+########
+service.egovutil.szr.test=true
+service.egovutil.szr.test.url=https://pvawp.bmi.gv.at/bmi.gv.at/soap/SZ2Services-T/services/SZR
+service.egovutil.szr.prod.url=https://pvawp.bmi.gv.at/bmi.gv.at/soap/SZ2Services/services/SZR
+service.egovutil.szr.token.version=1.8
+service.egovutil.szr.token.participantid=
+service.egovutil.szr.token.gvoudomain=
+service.egovutil.szr.token.userid=
+service.egovutil.szr.token.cn=
+service.egovutil.szr.token.gvouid=
+service.egovutil.szr.token.ou=
+service.egovutil.szr.token.gvsecclass=
+service.egovutil.szr.token.gvfunction=
+service.egovutil.szr.token.gvgid=
+service.egovutil.szr.roles=
+service.egovutil.szr.ssl.keystore.file=
+service.egovutil.szr.ssl.keystore.password=
+service.egovutil.szr.ssl.keystore.type=
+service.egovutil.szr.ssl.truststore.file=
+service.egovutil.szr.ssl.truststore.password=
+service.egovutil.szr.ssl.truststore.type=
+service.egovutil.szr.ssl.trustall=false
+service.egovutil.szr.ssl.laxhostnameverification=false
+
+
+################ Encrypted foreign bPK generation ####################################
+##  This demo-extension enables encrypted bPK generation on MOA-ID-Auth side. 
+##  If you like to use this feature, the public key for encryption has to be added
+##  as X509 certificate in Base64 encoded from. The selection will be done on sector
+##  identifier, like 'wbpk+FN+195755b' for a private company (similar to ENC_BPK_LIST in   
+##  PVP Attribute Profie 2.1.2)    
+##  Additonal encryption keys can be added by add a ney configuration line, like
+##    configuration.foreignsectors.pubkey.BMI+T1=MIICuTCCAaG   (VKZ='BMI', Public Target='T1')    
+########
+#configuration.foreignsectors.pubkey.wbpk+FN+195755b=MIIF2TCCA8GgAw...
\ No newline at end of file
diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html
index 4fb57cb3a..0b9f7e614 100644
--- a/id/server/doc/handbook/config/config.html
+++ b/id/server/doc/handbook/config/config.html
@@ -60,6 +60,7 @@
     
  • MOA-SP
  • Online-Vollmachen
  • Zentraler eIDAS Knoten
  • +
  • E-ID Anbindung
  • Protokolle @@ -119,7 +120,7 @@
  • Privatwirtschaftlicher Bereich
  • -
  • Demo-Modus für E-ID
  • +
  • Aktivierung der E-ID Anbindung
  • BKU Konfiguration
  • Security Layer für mobile Authententifizierung
  • Test Credentials
  • @@ -563,6 +564,77 @@ https://<host>:<port>/moa-id-auth/MonitoringServlet

     

    +
    2.2.2.2.4 Anbindung an das E-ID System
    +

    Die Anbindung und Weiterleitung an das zentrale E-ID System erfolgt via PVP2 S-Profil (SAML2). Für das in MOA-ID 4.x integrierte E-ID Proxy Authentifizierungsmodul sind folgende Konfigurationsparameter erforderlich.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameBeispielwertBeschreibung
    modules.eidproxyauth.keystore.pathkeys/szrgw.p12Dateiname des Java Keystore oder PKCS12 Keystore zur Signierung von PVP 2.x spezifischen Inhalten. (PVP 2.x Metadaten, PVP 2.1 Assertion)
    modules.eidproxyauth.keystore.passwordpass1234Passwort zum Keystore
    modules.eidproxyauth.metadata.sign.alias Name des Schlüssels der zur Signierung der PVP 2.x Metadaten des E-ID Proxy Authentifizierungsmoduls
    modules.eidproxyauth.metadata.sign.password Passwort des Schlüssels der zur Signierung der PVP 2.x Metadaten des E-ID Proxy Authentifizierungsmoduls
    modules.eidproxyauth.request.sign.alias Name des Schlüssels mit dem der PVP 2.x Authn. Request durch MOA-ID unterschieben wird
    modules.eidproxyauth.request.sign.password Passwort des Schlüssels mit dem der PVP 2.x Authn. Request durch MOA-ID unterschieben wird
    modules.eidproxyauth.response.encryption.alias Name des Schlüssels mit dem die PVP 2.x Assertion für MOA-ID verschlüsselt werden soll
    modules.eidproxyauth.response.encryption.password Passwort des Schlüssels mit dem PVP 2.x Assertion für MOA-ID verschlüsselt werden soll
    modules.eidproxyauth.EID.trustprofileIDeid_metadataMOA-SP TrustProfil welches die vertrauenswürdigen Zertifikate zur Validierung der Metadaten des zentralen E-ID Systemas beinhaltet
    modules.eidproxyauth.EID.entityId Optional: EntityID des IDPs im zentralen E-ID System
    modules.eidproxyauth.EID.metadataUrl Optional: URL auf die SAML2 Metadaten des zentralen E-ID System, sofern diese nicht über die EntityID geladen werden können
    modules.eidproxyauth.required.additional.attributes.x 

    Optional: zusätzliche Attribute welche vom zentralen E-ID System angefordert werden

    +

    Attribute werden entspechend PVP2 Attribute-Profil angegeben. Beispiele für die Konfiguration finden Sie in der Beispielkonfiguration

    +

     

    2.2.2.3 Protokolle

    MOA-ID-Auth unterstützt mehrere Authentifizierungsprotokolle. Manche dieser Protokolle benötigen Schlüssel zur Signierung von Authentifizierungsdaten oder Metadaten. In diesem Abschnitt erfolgt die Konfiguration des zu verwendeten Schlüsselmaterials.

    2.2.2.3.1 PVP 2.1
    @@ -1569,8 +1641,8 @@ Soll die Bürgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der

     

    -

    3.2.2 Demo-Modus für E-ID

    -

    Dieser Abschnitt behandelt den Demo-Modus für die kommende E-ID welcher mit der MOA-ID Version 3.4.2 eingeführt wurde. Ist der Demo-Modus aktiviert ändert sich das mögliche Attribut-Set welches Online Applikation zur Verfügung gestellt wird. Als Attributbezeichner in der nachfolgenden Liste werden die Attributebezeichnungen aus dem PVP Attribute-Profil verwendet. Ein Mapping auf OpenID-Connect Scopes oder SAML1 Attribute finden Sie in Kapitel Protokolle. Als weitere Anpassung wird mit hoher Wahrscheinlichkeit die iFrame Integration der Handy-Signatur nicht mehr zur Verfügung stehen und es erfolgt eine vollformat Weiterleitung an den E-ID. Diese Anpassung ist in der MOA-ID Version 3.4.2 noch nicht berücksichtig.

    +

    3.2.2 Aktivierung der E-ID Anbindung

    +

    Dieser Abschnitt behandelt den E-ID Proxy Mode von MOA-ID welcher mit der Version 4.0 eingeführt wurde. Ist der E-ID Proxy Mode aktiviert ändert sich das mögliche Attribut-Set welches Online Applikation zur Verfügung gestellt wird, da der Benutzer an das E-ID System zur Authentifizierung weitergeleitet wird. Als Attributbezeichner in der nachfolgenden Liste werden die Attributebezeichnungen aus dem PVP Attribute-Profil verwendet. Ein Mapping auf OpenID-Connect Scopes oder SAML1 Attribute finden Sie in Kapitel Protokolle.

    Folgende Attribute stehen nicht mehr zur Verfügung:

    • EID-SOURCE-PIN (urn:oid:1.2.40.0.10.2.1.1.261.36)
    • @@ -1598,28 +1670,11 @@ Soll die Bürgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der Beschreibung - Demo-Modus aktivieren + E-ID aktivieren

       

        X - Aktiviert den Demo-Modus für die E-ID in dieser Online Applikation. - - - Sektoren für Fremd-bPKs - wbpk+FN+468924i,BMI+T1 -   - X -

      Eine CSV Liste von Bereichen für welche die Online Applikation verschlüsselte Fremd-bPKs benötigt.

      -

      Hinweis: Da es sich hierbei nur um eine Demo handelt muss das Schlüsselmaterial für die Verschlüsselung in MOA-ID hinterlegt werden.

      - - - Sektoren für weitere bPKs -

      urn:publicid:gv.at:cdid+T1,

      -

      urn:publicid:gv.at:wbpk+FN+468924i

      -   - X -

      Eine CSV Liste von Bereichen für welche die Online Applikation bPKs aus anderen Bereichen benötogt.

      -

      Hinweis: Die Angabe der Bereiche erfolgt mit dem vollständigen Bereichsidentifier inkl. Prefix.

      + Aktiviert die Weiterleitung an den E-ID für diese Online Applikation.

       

      -- cgit v1.2.3