aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore12
-rw-r--r--common/pom.xml13
-rw-r--r--id/ConfigWebTool/pom.xml4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java3
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java8
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java48
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java25
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java3
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java2
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java6
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java21
-rw-r--r--id/server/auth/src/main/webapp/common/MOA.css617
-rw-r--r--id/server/auth/src/main/webapp/common/logo_digAT.pngbin0 -> 22964 bytes
-rw-r--r--id/server/auth/src/main/webapp/common/main.css253
-rw-r--r--id/server/auth/src/main/webapp/index.html193
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml1
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml6
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml6
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml4
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cerbin0 -> 1159 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--id/server/doc/handbook/additional/additional.html261
-rw-r--r--id/server/doc/handbook/application/application.html74
-rw-r--r--id/server/doc/handbook/common/LogoBKA.pngbin8062 -> 0 bytes
-rw-r--r--id/server/doc/handbook/common/MOA.css611
-rw-r--r--id/server/doc/handbook/common/logo_digAT.pngbin0 -> 22964 bytes
-rw-r--r--id/server/doc/handbook/config/config.html764
-rw-r--r--id/server/doc/handbook/index.html29
-rw-r--r--id/server/doc/handbook/install/install.html94
-rw-r--r--id/server/doc/handbook/interfederation/interfederation.html136
-rw-r--r--id/server/doc/handbook/intro/intro.html94
-rw-r--r--id/server/doc/handbook/protocol/protocol.html330
-rw-r--r--id/server/idserverlib/.gitignore1
-rw-r--r--id/server/idserverlib/pom.xml2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java79
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java17
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java28
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java35
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java7
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java66
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java21
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java52
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java14
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java86
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java1
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java110
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java4
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java31
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java10
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java55
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java31
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java4
-rw-r--r--id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties28
-rw-r--r--id/server/idserverlib/src/test/java/test/tlenz/simpletest.java22
-rw-r--r--id/server/moa-id-commons/pom.xml14
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java2
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java61
-rw-r--r--id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java11
-rw-r--r--id/server/stork2-saml-engine/pom.xml2
-rw-r--r--pom.xml15
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cerbin0 -> 1167 bytes
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crtbin0 -> 1185 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cerbin0 -> 996 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crtbin0 -> 1167 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crtbin0 -> 1167 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crtbin0 -> 1167 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cerbin0 -> 1159 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cerbin0 -> 1029 bytes
-rw-r--r--spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer23
98 files changed, 2423 insertions, 2193 deletions
diff --git a/.gitignore b/.gitignore
index bb7e57f31..80cf5e7da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,11 @@
-/target
-/bin
+bin
+gen
+target
+*~
+*.orig
+*.log
.settings
.project
-.classpath \ No newline at end of file
+.classpath
+.directory
+.checkstyle
diff --git a/common/pom.xml b/common/pom.xml
index 3d790d29b..e702c5e66 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -67,12 +67,12 @@
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
- <version>2.4</version>
+ <version>2.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.7</version>
+ <version>1.7.10</version>
</dependency>
<!-- <dependency>
<groupId>org.slf4j</groupId>
@@ -82,12 +82,12 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.7</version>
+ <version>1.7.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.7</version>
+ <version>1.7.10</version>
</dependency>
<!-- <dependency>
<groupId>org.slf4j</groupId>
@@ -97,17 +97,16 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.7.7</version>
+ <version>1.7.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
- <version>1.7.7</version>
+ <version>1.7.10</version>
</dependency>
</dependencies>
diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml
index 18bd1306b..961b58c8b 100644
--- a/id/ConfigWebTool/pom.xml
+++ b/id/ConfigWebTool/pom.xml
@@ -150,12 +150,12 @@
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
- <version>2.3.16.3</version>
+ <version>2.3.20</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
- <version>2.3.16.3</version>
+ <version>2.3.20</version>
</dependency>
<dependency>
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
index 332adaa80..7bf2cf93f 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/MetaDataVerificationFilter.java
@@ -46,7 +46,6 @@ public class MetaDataVerificationFilter implements MetadataFilter {
public void doFilter(XMLObject metadata) throws FilterException {
if (metadata instanceof EntitiesDescriptor) {
EntitiesDescriptor entitiesDescriptor = (EntitiesDescriptor) metadata;
-
if(entitiesDescriptor.getSignature() == null) {
throw new FilterException("Root element of metadata file has to be signed", null);
}
@@ -57,7 +56,7 @@ public class MetaDataVerificationFilter implements MetadataFilter {
throw new FilterException("Invalid Metadata file Root element is no EntitiesDescriptor", null);
}
- } if (metadata instanceof EntityDescriptor) {
+ } if (metadata instanceof EntityDescriptor) {
try {
EntityDescriptor entity = (EntityDescriptor) metadata;
if (entity.getSignature() != null)
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 957479b29..e6000319e 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
@@ -437,23 +437,23 @@ public class ConfigurationProvider {
return parseVersionFromManifest();
}
- public String getCertStoreDirectory() throws CertificateException {
+ public String getCertStoreDirectory() throws ConfigurationException {
String dir = props.getProperty("general.ssl.certstore");
if (MiscUtil.isNotEmpty(dir))
return FileUtils.makeAbsoluteURL(dir, configRootDir);
else
- throw new CertificateException("No SSLCertStore configured use default JAVA TrustStore.");
+ throw new ConfigurationException("No SSLCertStore configured use default JAVA TrustStore.");
}
- public String getTrustStoreDirectory() throws CertificateException {
+ public String getTrustStoreDirectory() throws ConfigurationException {
String dir = props.getProperty("general.ssl.truststore");
if (MiscUtil.isNotEmpty(dir))
return FileUtils.makeAbsoluteURL(dir, configRootDir);
else
- throw new CertificateException("No SSLTrustStore configured use default JAVA TrustStore.");
+ throw new ConfigurationException("No SSLTrustStore configured use default JAVA TrustStore.");
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
index 0e65b7dca..a9c914f74 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java
@@ -30,6 +30,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
+import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;
import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
@@ -40,6 +41,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentials;
+import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentialsCredentialOIDItem;
import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
@@ -207,8 +209,9 @@ public class OAAuthenticationData implements IOnlineApplicationData {
}
if (oaauth.getTestCredentials() != null) {
- enableTestCredentials = oaauth.getTestCredentials().isEnableTestCredentials();
- testCredentialOIDs = oaauth.getTestCredentials().getCredentialOID();
+ enableTestCredentials = oaauth.getTestCredentials().isEnableTestCredentials();
+ testCredentialOIDs = new ArrayList<String>();
+ testCredentialOIDs.addAll(oaauth.getTestCredentials().getCredentialOID());
}
@@ -315,12 +318,20 @@ public class OAAuthenticationData implements IOnlineApplicationData {
if (enableTestCredentials) {
TestCredentials testing = authoa.getTestCredentials();
- if (testing == null)
- testing = new TestCredentials();
-
- testing.setEnableTestCredentials(enableTestCredentials);
+ if (testing != null)
+ ConfigurationDBUtils.delete(testing);
+
+ testing = new TestCredentials();
+ authoa.setTestCredentials(testing);
+ testing.setEnableTestCredentials(enableTestCredentials);
testing.setCredentialOID(testCredentialOIDs);
+ } else {
+ TestCredentials testing = authoa.getTestCredentials();
+ if (testing != null) {
+ testing.setEnableTestCredentials(false);
+ }
+
}
return null;
@@ -576,12 +587,14 @@ public class OAAuthenticationData implements IOnlineApplicationData {
*/
public String getTestCredentialOIDs() {
String value = null;
- for (String el : testCredentialOIDs) {
- if (value == null)
- value = el;
- else
- value += "," + el;
+ if (testCredentialOIDs != null) {
+ for (String el : testCredentialOIDs) {
+ if (value == null)
+ value = el;
+ else
+ value += "," + el;
+ }
}
return value;
@@ -595,12 +608,13 @@ public class OAAuthenticationData implements IOnlineApplicationData {
* @param testCredentialOIDs the testCredentialOIDs to set
*/
public void setTestCredentialOIDs(String testCredentialOIDs) {
- String[] oidList = testCredentialOIDs.split(",");
+ if (MiscUtil.isNotEmpty(testCredentialOIDs)) {
+ String[] oidList = testCredentialOIDs.split(",");
- this.testCredentialOIDs = new ArrayList<String>();
- for (int i=0; i<oidList.length; i++)
- this.testCredentialOIDs.add(oidList[i].trim());
+ this.testCredentialOIDs = new ArrayList<String>();
+ for (int i=0; i<oidList.length; i++)
+ this.testCredentialOIDs.add(oidList[i].trim());
+ }
}
-
-
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
index 150cd959e..bb7bac4f8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java
@@ -82,7 +82,7 @@ public class OATargetConfiguration implements IOnlineApplicationData {
*/
@Override
public List<String> parse(OnlineApplication dbOA,
- AuthenticatedUser authUser, HttpServletRequest request) {
+ AuthenticatedUser authUser, HttpServletRequest request) {
String target_full = dbOA.getTarget();
if (MiscUtil.isNotEmpty(target_full)) {
if (TargetValidator.isValidTarget(target_full)) {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
index 150483dd8..e5ee5ac09 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/FormDataHelper.java
@@ -60,10 +60,12 @@ public class FormDataHelper {
for (OnlineApplication dboa : dbOAs) {
- if ( !((dboa.isIsInterfederationIDP() != null && dboa.isIsInterfederationIDP()) ||
+ if ( !((dboa.isIsInterfederationIDP() != null && dboa.isIsInterfederationIDP()) ||
+ (dboa.isIsInterfederationGateway() != null && dboa.isIsInterfederationGateway()) ||
(dboa.getAuthComponentOA().getOASTORK() != null
&& dboa.getAuthComponentOA().getOASTORK().isVidpEnabled() != null
- && dboa.getAuthComponentOA().getOASTORK().isVidpEnabled()))) {
+ && dboa.getAuthComponentOA().getOASTORK().isVidpEnabled()) ||
+ (dboa.isIsInterfederationGateway() != null && dboa.isIsInterfederationGateway() ))) {
formOAs.add(addOAFormListElement(dboa, ServiceType.OA));
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
index 5a9787069..26d97484b 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java
@@ -291,8 +291,17 @@ public class BasicOAAction extends BasicAction {
} else {
- if (oaid == -1) {
- onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+ if (oaid == -1) {
+ List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+ for (OnlineApplication el : oaList) {
+ if (el.getPublicURLPrefix().startsWith(oaidentifier) )
+ onlineapplication = el;
+
+ }
+ if (onlineapplication == null) {
+ onlineapplication = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+
+ }
setNewOA(true);
if (onlineapplication != null) {
log.info("The OAIdentifier is not unique");
@@ -306,7 +315,17 @@ public class BasicOAAction extends BasicAction {
onlineapplication = ConfigurationDBRead.getOnlineApplication(oaid);
if (!oaidentifier.equals(onlineapplication.getPublicURLPrefix())) {
- if (ConfigurationDBRead.getOnlineApplication(oaidentifier) != null) {
+ OnlineApplication dbOA = null;
+ List<OnlineApplication> oaList = ConfigurationDBRead.getAllOnlineApplications();
+ for (OnlineApplication el : oaList) {
+ if (el.getPublicURLPrefix().startsWith(oaidentifier) )
+ dbOA = el;
+
+ }
+ if (dbOA == null)
+ dbOA = ConfigurationDBRead.getOnlineApplication(oaidentifier);
+
+ if ( (dbOA != null && !dbOA.getHjid().equals(oaid))) {
log.info("The OAIdentifier is not unique");
throw new BasicOAActionException(
LanguageHelper.getErrorString("validation.general.oaidentifier.notunique", request),
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
index 31c29aef0..4236c0d13 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
@@ -241,6 +241,9 @@ public class EditGeneralConfigAction extends BasicAction {
}
MOAIDConfiguration dbconfig = ConfigurationDBRead.getMOAIDConfiguration();
+ if (dbconfig == null)
+ dbconfig = new MOAIDConfiguration();
+
AuthComponentGeneral dbauth = dbconfig.getAuthComponentGeneral();
if (dbauth == null) {
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
index 7f7f083c9..335dbc91e 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/ListOAsAction.java
@@ -133,7 +133,7 @@ public class ListOAsAction extends BasicAction {
} else {
if (ValidationHelper.containsPotentialCSSCharacter(friendlyname, false)) {
log.warn("SearchOA textfield contains potential XSS characters");
- addActionError(LanguageHelper.getErrorString("validation.general.oafriendlyname",
+ addActionError(LanguageHelper.getErrorString("validation.general.oafriendlyname.valid",
new Object[] {ValidationHelper.getPotentialCSSCharacter(false)}, request));
return Constants.STRUTS_SUCCESS;
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
index fd40bd447..fd4226c5b 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java
@@ -147,12 +147,14 @@ public class OAAuthenticationDataValidation {
}
}
- if (form.isEnableTestCredentials()) {
+ if (form.isEnableTestCredentials()
+ && form.getTestCredialOIDList() != null && !form.getTestCredialOIDList().isEmpty()) {
for (String el : form.getTestCredialOIDList()) {
- if (!el.startsWith(MOAIDAuthConstants.TESTCREDENTIALROOTOID))
+ if (!el.startsWith(MOAIDAuthConstants.TESTCREDENTIALROOTOID)) {
log.warn("Test credential OID does not start with test credential root OID");
errors.add(LanguageHelper.getErrorString("validation.general.testcredentials.oid.valid",
new Object[] {el}, request ));
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
index 40e243d0b..8e1dd6e64 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java
@@ -36,8 +36,10 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.httpclient.MOAHttpClient;
import org.apache.log4j.Logger;
import org.opensaml.Configuration;
+import org.opensaml.common.xml.SAMLSchemaBuilder;
import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider;
import org.opensaml.saml2.metadata.provider.MetadataFilter;
+import org.opensaml.saml2.metadata.provider.MetadataFilterChain;
import org.opensaml.saml2.metadata.provider.MetadataProviderException;
import org.opensaml.xml.io.Marshaller;
import org.opensaml.xml.io.MarshallerFactory;
@@ -58,6 +60,7 @@ import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.data.oa.OAPVP2Config;
import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
+import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter;
import at.gv.egovernment.moa.util.MiscUtil;
public class OAPVP2ConfigValidation {
@@ -126,17 +129,29 @@ public class OAPVP2ConfigValidation {
} catch (ConfigurationException e) {
log.info("No MOA specific SSL-TrustStore configured. Use default Java TrustStore.", e);
- }
+ }
+
+ List<MetadataFilter> filterList = new ArrayList<MetadataFilter>();
+ filterList.add(new MetaDataVerificationFilter(credential));
+ filterList.add(new SchemaValidationFilter());
+ MetadataFilterChain filter = new MetadataFilterChain();
+ filter.setFilters(filterList);
httpProvider =
new HTTPMetadataProvider(timer, httpClient, form.getMetaDataURL());
httpProvider.setParserPool(new BasicParserPool());
httpProvider.setRequireValidMetadata(true);
- httpProvider.setMetadataFilter(new MetaDataVerificationFilter(credential));
+ httpProvider.setMetadataFilter(filter);
httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes
httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours
+
+ httpProvider.setRequireValidMetadata(true);
+
httpProvider.initialize();
+
+
+
if (httpProvider.getMetadata() == null) {
log.info("Metadata could be received but validation FAILED.");
errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.validation", request));
@@ -157,6 +172,8 @@ public class OAPVP2ConfigValidation {
} catch (MetadataProviderException e) {
+
+ //TODO: check exception handling
if (e.getCause() != null && e.getCause().getCause() instanceof SSLHandshakeException) {
log.info("SSL Server certificate not trusted.", e);
errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.ssl", request));
diff --git a/id/server/auth/src/main/webapp/common/MOA.css b/id/server/auth/src/main/webapp/common/MOA.css
deleted file mode 100644
index b7a2b9280..000000000
--- a/id/server/auth/src/main/webapp/common/MOA.css
+++ /dev/null
@@ -1,617 +0,0 @@
-body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
- background-color: white;
- text: #000000;
- link: #990000;
- vlink: #666666;
- alink: #cc9966;
-}
-
-
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000000;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h2
-{
- color: #000000;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h3
-{
- color: #000000;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h4
-{
- color: #000000;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h5
-{
- color: #000000;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h6
-{
- color: #000000;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 200%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em;
- background-color:#999;
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
-}
-
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.logoTitle
-{
- text-align: center;
- font-size: 200%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
-}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
-{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
-}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
-}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
-}
-
-
-/*body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
-}
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000080;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h2
-{
- color: #000080;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h3
-{
- color: #000080;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h4
-{
- color: #000080;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h5
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-h6
-{
- color: #000080;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 167%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
-}
-
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
-}
-
-.logoTitle
-{
- text-align: center;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
-}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
-{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
-}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
-}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
-}
-*/ \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/common/logo_digAT.png b/id/server/auth/src/main/webapp/common/logo_digAT.png
new file mode 100644
index 000000000..4f36681e2
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/logo_digAT.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/common/main.css b/id/server/auth/src/main/webapp/common/main.css
new file mode 100644
index 000000000..6bd964346
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/main.css
@@ -0,0 +1,253 @@
+html {
+ font-family: "Roboto", sans-serif;
+ color: #000;
+ font-weight:300;
+}
+
+.container {
+ margin: auto;
+ max-width: 1000px;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+body {
+ margin: 0;
+ padding: 0;
+ letter-spacing: 0.05em;
+}
+
+h1
+{
+font-family: "Roboto", sans-serif;
+}
+
+#headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+}
+
+#headline br {
+ clear: both;
+}
+
+#headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.3em;
+ margin-bottom: 0;
+ float: right;
+ font-size: 220%;
+ font-weight: 400;
+ }
+#headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+
+#description {
+ text-align: justify;
+}
+
+#maincontent {
+ height: 13em;
+}
+
+#demologin p {
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: justify;
+ font-size: 100%;
+ color: #000;
+ padding-top:20px;
+
+}
+
+#demologin a{
+
+}
+
+.button {
+ border-radius: 5px;
+ /*background-color: rgb(41,127,184); */
+ background-color: #E10319;
+ text-decoration: none;
+ text-transform: uppercase;
+ padding: 10px 80px 10px 80px;
+ letter-spacing: 1.5px;
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.3);
+ color: WHITE;
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
+ margin-left: 10px;
+}
+
+.button:hover {
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.8);
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.9);
+}
+
+#singlelogout {
+ clear: both;
+ width: 100%;
+ box-sizing: border-box;
+
+}
+a{
+ text-decoration: none;
+ font-size:100%;
+ color: #666;
+}
+a:hover{
+ text-decoration: none;
+ font-size:100%;
+ color: #E10319;
+}
+
+/*****************************/
+@media ( max-width :599px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ }
+
+ #headline img {
+ width: 150px;
+ padding-left: 0;
+ padding-top: 0.5em;
+ padding-bottom:0.5em;
+ }
+ #headline br {
+ clear: both;
+ }
+ #headline h1 {font-family: "Roboto", sans-serif;
+ color: #404040;
+ padding: 0;
+ margin-bottom: 0;
+ margin-top: 0;
+ text-align: center;
+ }
+ nav {
+ display: block;
+ width: 100%;
+ text-align: center;
+ box-sizing: border-box;
+ color: WHITE;
+ margin: 0px 0px 0px 0px;
+ overflow: hidden;
+
+ }
+ nav ul {
+ margin: 0;
+ padding: 0;
+ }
+ nav ul li {
+ list-style-type: none;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+ nav>ul>li>a {
+ color: #666;
+ display: block;
+ text-decoration: none;
+ }
+ nav>ul>li:hover {
+ color: #404040;
+ }
+ nav>ul>li:hover>a {
+ color: #404040;
+ }
+ nav>ul>li:active>a {
+ color: #404040;
+ }
+ #demologin {
+ width: 100%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 182px;
+ width: 242px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+}
+/*****************************/
+@media ( min-width :600px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+
+ }
+ #headline br {
+ clear: both;
+ }
+
+ #headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.15em;
+ margin-bottom: 0;
+ float: right;
+ }
+ #headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+ nav {
+ display: block;
+ float: left;
+ width: 30%;
+ box-sizing: border-box;
+ background-color: #fff;
+ color: #888;
+ margin: 8px 0px 8px 0px;
+ overflow: hidden;
+ }
+ nav ul {
+ margin: 0;
+ padding: 0;
+ }
+ nav ul li {
+ list-style-type: none;
+ padding-top: 15px;
+ }
+ nav>ul>li>a {
+ color: #666;
+ display: block;
+ text-decoration: none;
+ }
+ nav>ul>li:hover {
+ color: #E10319;
+ }
+ nav>ul>li:hover>a {
+ color: #E10319;
+ }
+ nav>ul>li:active>a {
+ color: #E10319;
+ }
+ #demologin {
+ float: right;
+ width: 50%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 282px;
+ width: 342px;
+ margin-right: 150px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+ #demologin a:hover{
+ color:white;
+ }
+} \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/index.html b/id/server/auth/src/main/webapp/index.html
index 391195def..381d8d82d 100644
--- a/id/server/auth/src/main/webapp/index.html
+++ b/id/server/auth/src/main/webapp/index.html
@@ -1,102 +1,91 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
- <title>MOA-ID 2.1.x</title>
- <link rel="stylesheet" href="./common/MOA.css" type="text/css">
-</head>
-<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="./common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">&nbsp;</td>
- <td align="center" class="logoTitle" width="123"><img src="./common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title">MOA-ID 2.1.2</p>
-<hr/>
- <h1>Inhalt</h1>
- <ol>
- <li><a href="#allgemeines">Allgemeines</a>
- <ol>
- <li><a href="#allgemeines_service">Externe Services</a></li>
- </ol>
- </li>
- <li><a href="#ss">MOA-ID-Auth </a>
- <ol>
- <li><a href="#ablauf">Ablauf einer Anmeldung</a></li>
- </ol>
- </li>
- <li><a href="#sp">MOA-ID-Configuration</a></li>
- </ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p> Das Module MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
- <p>Das nachfolgende Blockdiagramm zeigt Struktur von MOA-ID und gibt eine kurze Beschreibung der einzelnen Komponenten.</p>
- <p><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="1000" height="678"></p>
- <p>&nbsp;</p>
-<p>MOA-ID besteht aus folgenden Kernkomponenten:</p>
- <ol>
- <li><u>CORE LOGIC</u>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
- <li><u>Protocol Adapter</u>: Stellt die in MOA-ID 2.x unterst&uuml;tzten Authentifizierungsprotokolle f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
- <li><u>Auth Sources</u>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
- <li><u>Template Generator</u>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
- <li><u>SSO Module</u>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
- <li><u>Statistic Module</u>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
- <li><u>Monitoring &amp; Testing Module</u>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
- <li><u>Configuration</u><u> Modul</u>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
- <li><u>Konfigurationstool</u>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
- </ol>
- <h2><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h2>
-<p>F&uuml;r die Anmeldung in Vertretung und die Anmeldung ausl&auml;ndischer Personen werden zus&auml;tzliche externe Services verwendet.</p>
- <h3><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h3>
-<p>Ab der MOA-ID Release 1.5.0 werden Online-Vollmachten (f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich) unterst&uuml;tzt. Hierzu werden diese Vollmachten &uuml;ber eine Online-Vollmachten-Service ausgew&auml;hlt. Der Zugang zu diesem Online-Vollmachten Service ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
- <h3><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h3>
- <p> Ab der MOA-ID Release 1.4.7 ist es m&ouml;glich, dass sich auch ausl&auml;ndische B&uuml;rger mittels MOA-ID einloggen k&ouml;nnen. Hierzu wird eine Verbindung zu einem sogenannten Stammzahlenregister-Gateway aufgebaut, dass basierend auf den Zertifikatsdaten des ausl&auml;ndischen B&uuml;rgers eine Eintragung im Erg&auml;nzungsregister f&uuml;r nat&uuml;rliche Personen gem&auml;&szlig; E-Government Gesetz &sect;6(5) vornimmt. Somit ist es m&ouml;glich, dass eine Personenbindung ausgestellt werden kann, die in weitere Folge an MOA-ID weitergeleitet wird. Der Zugang zu diesem Stammzahlenregister-Gateway ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
-<h1><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h1>
-<p>Das Modul MOA-ID-Auth dient der Identifizierung und Authentifizierung im Rahmen eines Anmeldevorgangs an einer Online-Applikation. Die Identifizierung und Authentifizierung erfolgt mit B&uuml;rgerkartem, Handy-Signatur oder f&uuml;r aus&auml;ndische Personen mittels STORK.</p>
-<p>Die Funktionalit&auml;t und der Aufbau der Schnittstellen des Modules MOA-ID-Auth in Richtung Online-Applikation wird im Kapitel Protokolle beschriebe.
-<p>F&uuml;r den Betrieb von MOA-ID-Auth ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.</p>
-<h2><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h2>
-<p>Die nachfolgende Grafik beschreibt den Ablauf eines Abmeldevorgangs an einer Online-Applikation mit Hilfe von MOA-ID-Auth unter Verwendung der B&uuml;rgerkarte oder der Handy-Signatur.</p>
-<p><img src="anmeldeablauf.png" width="947" height="881" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth"></p>
-<p>&nbsp;</p>
-<ol>
- <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichtbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
- <li>Der Benutzer wird zur Identifizierung und Authentifizierung an MOA-ID-Auth weitergeleitet. </li>
- <li>MOA-ID-Auth validiert die Authentifizierungsanfrage des Service Providers</li>
- <li>MOA-ID-Auth bietet dem Benutzer eine Auswahl von verf&uuml;gbaren Authentifizierungsmethoden (B&uuml;rgerkarte, Handy-Signatur, STORK) an.</li>
- <li>Der Benutzer w&auml;hlt die gew&uuml;nschte Authentifizierungsmethode und sendet diese an MOA-ID-Auth.</li>
- <li>MOA-ID-AUTH erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
- <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
- <li>MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-AUTH, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
- <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-AUTH zur&uuml;ckgesendet.</li>
- <li>MOA-ID-Auth &uuml;berpr&uuml;ft den signierten AUTH-Block und generiert Information f&uuml;r weitere Anmeldungen mittels Single Sign-On.</li>
- <li>MOA-ID-Auth generiert die Anmeldedaten (Assertion) welche folgende Information enthalten:
- <ul>
- <li>die bereichsspezifischen Personenkennzeichen (bPK / wbPK)</li>
- <li>Vorname, Nachname und Geburtsdatum (optional)</li>
- <li>den signierten AUTH-Block (optional)</li>
- <li>die Personenbindung (optional)</li>
- <li>das Zertifikat mit dem die Signatur erzeugt wurde (optional)</li>
- <li>informationen zum Vertreten im Falle einer Anmeldung in Vertretung (optional)</li>
- <li>die elektronische Vollmacht im Falle einer Anmeldung in Vertretung (optional)</li>
- <li>informationen aus dem STORK Protokoll im Falle einer Anmeldung mittels STORK (optional)</li>
- </ul>
- </li>
- <li> MOA-ID-Auth sendet die Anmeldedaten an den Service-Provider und setzt im Browser des Benutzers ein SSO Session-Tokken welches f&uuml;r weitere Anmeldevorg&auml;nge verwendet werden kann.</li>
- <li>Die Anmeldedaten werden vom Service-Provider verarbeitet und der Benutzer wird vom Service-Provider an die Online-Applikation weitergeleitet. </li>
-</ol>
-<h1><a name="config" id="config"></a>3 MOA-ID-Configuration </h1>
-<p>Das Modul MOA-ID-Configuration stellt eine web-basierte Benutzerschnittstelle zur Konfiguration des Moduls MOA-ID-Auth zur Verf&uuml;gung, wobei sich die Konfiguration in zwei Teilbereiche unterteilt ist. Eine detailierte Aufstellung der einzelnen Konfigurationspunkte befindet sich im Kapitel <a href="../config/config.html">Konfiguration</a>.</p>
-<ol>
- <li>Allgemeine Konfiguration<br>
- In diesem Bereich sind alle Basiseinstellungen der MOA-ID-Auth Instanz hinterlegt. Beispiele hierf&uuml;r sind Single Sign-On, unterst&uuml;tze Authentifizierungsprotokolle, Informationen zu MOA-ID-Auth, URLs zu externen Services, ... Eine &Auml;nderung der Basiseinstellung erfordert besondere Benutzerrechte am Konfigurationstool.</li>
- <li>Online-Applikationen<br>
- In diesem Abschnitt erfolgt die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Service-Provider. Hierbei handelt es sich um authentifizierungsprotkollspezifische Einstellungen, Bereich des Service-Providers (&ouml;ffentlich / Privatwirtschaftlich), Konfiguration der BKU Auswahl, .... Wobei sich die Konfigurationsm&ouml;glichkeiten je nachdem welche Benutzerrechten vergeben sind, unterscheiden k&ouml;nnen.</li>
-</ol>
-<p>Zus&auml;tzlich unterst&uuml;tzt das Module MOA-ID-Configuration auch eine einfache Bentzerverwaltung mit Rechtevergabe mit deren Hilfe die Verwaltung von Online-Applikatioen an den jeweiligen Service-Provider ausgelagert werden kann. Die Anmeldung am Konfigurationstool erfolgt mittels B&uuml;rgerkarte, Handy-Signature oder STORK, wobei optional auch eine Anmeldung mittels Benutzername und Passwort zur Verf&uuml;gung steht.</p>
-<p>&nbsp;</p>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf8" >
+ <title>MOA-ID 2.1.x</title>
+ <link rel="stylesheet" href="./common/main.css" type="text/css">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
+ <script language="JavaScript" type="text/javascript">
+
+ function PVP2LoginIframe(url) {
+ var el = document.getElementById("demologin");
+ var iframe = document.createElement("iframe");
+ iframe.setAttribute("src", url);
+ iframe.setAttribute("width", "240");
+ iframe.setAttribute("height", "180");
+ iframe.setAttribute("frameborder", "0");
+ iframe.setAttribute("scrolling", "no");
+ iframe.setAttribute("title", "Login");
+ //iframe.setAttribute("scrolling", "yes");
+
+ iframe.setAttribute("name", "iframelogin");
+ iframe.setAttribute("id", "iframelogin");
+
+
+ iframe.setAttribute("onload","iframeLoaded()");
+
+ var divdemologin = document.getElementById("demologin");
+ divdemologin.innerHTML="";
+
+ el.appendChild(iframe, el);
+ }
+
+ function iframeLoaded(){
+ //console.log(document.title);
+ var ifr=document.getElementById("iframelogin");
+
+ //only works on same origin
+
+ /*
+ var iframedoc=(ifr.contentWindow||ifr.contentDocument);
+
+ //var iframedoc=ifr.contentDocument||iframe.contentWindow.document;
+ console.log(iframedoc.title);
+ if(iframedoc.title=="Demo Applikation"){
+ ifr.setAttribute("width",480);
+ ifr.setAttribute("height",240);
+
+ var demologin=document.getElementById("demologin");
+ demologin.style.marginRight="250px";
+ }
+ */
+ }
+
+ </script>
+ </head>
+ <body>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="./common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div id="description" class="container">
+ <p>Bei MOA-ID-AUTH handelt es sich um ein Modul für die Identifizierung und Authentifizierung bei Onlineapplikationen unter Verwendung der Bürgerkarte.
+ Hier kann sowohl die Smartcard-Variante (e-Card) als auch die Handysignatur verwendet werden.
+ Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verfügung stellt.</p>
+ </div>
+ <div id="maincontent" class="container">
+ <nav>
+ <ul>
+ <!--li><a href="_index.html">Allgemein</a></li-->
+ <!--li><a href="http://joinup.ec.europa.eu/site/moa-idspss/">Dokumentation</a></li-->
+ <li><a href="http://joinup.ec.europa.eu/site/moa-idspss/moa-id-2.0.0/doc/handbook">Dokumentation</a></li>
+ <!--Link zu den Demo-Clients-->
+ <li><a href=#>Demo Clients</a></li>
+ <!--Link zum Konfigtool-->
+ <li><a href="https://localhost:8443/moa-id-configuration">Konfiguration GUI</a></li>
+
+ </ul>
+ </nav>
+ <div id="demologin" class="container">
+ <br/>
+ <a href="#" id="loginButton" class="button" onclick="PVP2LoginIframe('https://menja.iaik.tugraz.at:8443/moa-id-oa/servlet/pvp2login')">Login</a>
+ <p id="loginText">Über den Login-Button können Sie sich anschließend bei Ihrer Online-Applikation mit der Bürgerkarte oder der Handysignatur anmelden. Dazu müssen Sie allerdings zuvor die Applikation gemäß <a href="http://joinup.ec.europa.eu/site/moa-idspss/moa-id-2.0.0/doc/handbook/application/application.html#DemoApp_pvp21">Beschreibung</a> konfigurieren.</p>
+ </div>
+ </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
index ee4c636ce..b45b69054 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_VIDP.xml
@@ -119,5 +119,6 @@
<!-- ISA 1.18 attributes-->
<entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
index 83e69ac23..3370978b3 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming.xml
@@ -90,5 +90,9 @@
<entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
-
+
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
index 83e69ac23..33437c110 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_incoming_attr.xml
@@ -90,5 +90,9 @@
<entry key="mandateContent">http://www.stork.gov.eu/1.0/mandateContent</entry>
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
-
+
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
</properties>
diff --git a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
index b095b9e7e..2b0c05b88 100644
--- a/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
+++ b/id/server/data/deploy/conf/moa-id/stork/StorkSamlEngine_outgoing.xml
@@ -91,4 +91,8 @@
<entry key="representative">http://www.stork.gov.eu/1.0/representative</entry>
<entry key="represented">http://www.stork.gov.eu/1.0/represented</entry>
+ <!-- ISA 1.18 attributes-->
+ <entry key="ECApplicationRole">http://www.stork.gov.eu/1.1/ECApplicationRole</entry>
+ <entry key="MSOrganization">http://www.stork.gov.eu/1.1/MSOrganization</entry>
+
</properties> \ No newline at end of file
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
new file mode 100644
index 000000000..6c0c042b4
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
new file mode 100644
index 000000000..74c4ce3b8
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
new file mode 100644
index 000000000..6c50ec079
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungMitTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkartePersonenbindungOhneTestkarten/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/id/server/doc/handbook/additional/additional.html b/id/server/doc/handbook/additional/additional.html
index fb4e76733..d26447748 100644
--- a/id/server/doc/handbook/additional/additional.html
+++ b/id/server/doc/handbook/additional/additional.html
@@ -2,23 +2,24 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Zusatzinformationen</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Zusatzinformationen</p>
-<hr/>
- <h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div class="container">
+<h1 align="center">Zusatzinformationen</h1>
+
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Datenmanagement</a>
<ol>
<li><a href="#sessiondata">Sessiondaten</a>
@@ -32,149 +33,148 @@
</li>
<li><a href="#networkconnections">Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</a></li>
</ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Datenmanagement</h1>
+ <h2><a name="allgemeines"></a>1 Datenmanagement</h2>
<p>Dieser Abschnitt spezifiziert jene Datens&auml;tze die w&auml;hrend eines Anmeldevorgangs durch das Modul MOA-ID-Auth tempor&auml;r oder permanent gespeichert werden. Hierbei handelt es sich sowohl um tempor&auml;re Sessiondaten als auch um dauerhaft gespeicherte Statistikdaten.</p>
- <h2><a name="sessiondata" id="sessiondata"></a>1.1 Sessiondaten</h2>
+ <h3><a name="sessiondata" id="sessiondata"></a>1.1 Sessiondaten</h3>
<p>Dieser Abschnitt behandelt jene Informationen die das Modul MOA-ID-Auth w&auml;hrend eines Authentifizierungsvorgangs oder w&auml;hrend einer aktiven Single Sign-On Session im Speicher h&auml;lt. Diese Datens&auml;tze werden nach Beendigung des Anmeldevorgangs, bei einfacher Anmeldung, oder nach Beendigung der Single Sign-On Session gel&ouml;scht. Die nachfolgenden Unterkapitel geben eine Aufstellung jener Daten die von MOA-ID im jeweiligen Falle gespeichert werden.</p>
- <h3><a name="sessiondata_general" id="sessiondata2"></a>1.1.1 Allgemein</h3>
+ <h4><a name="sessiondata_general" id="sessiondata2"></a>1.1.1 Allgemein</h4>
<p>Folgende Daten m&uuml;ssen mindestens von MOA-ID gecached werden um einen korrekten Anmeldevorgang zu erm&ouml;glichen.</p>
- <table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="160" valign="top"><p><strong>Element</strong></p></td>
- <td width="764" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Authentication Request</p></td>
- <td width="764" valign="top"><p>Dieser wird von der Online-Applikation als Start des Anmeldevorgangs &uuml;bertragen.</p></td>
+ <td><p>Authentication Request</p></td>
+ <td><p>Dieser wird von der Online-Applikation als Start des Anmeldevorgangs &uuml;bertragen.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Session ID</p></td>
- <td width="764" valign="top"><p>Wird von MOA-ID generiert und dient zur Identifikation von Datens&auml;tzen.</p></td>
+ <td><p>Session ID</p></td>
+ <td><p>Wird von MOA-ID generiert und dient zur Identifikation von Datens&auml;tzen.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Personenbindung</p></td>
- <td width="764" valign="top"><p>Die Personenbindung der Benutzerin oder des Benutzers.</p></td>
+ <td><p>Personenbindung</p></td>
+ <td><p>Die Personenbindung der Benutzerin oder des Benutzers.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>AuthBlock</p></td>
- <td width="764" valign="top"><p>Der Authentifizierungsblock, welcher im Rahmen des Anmeldevorgangs vom der Benutzerin oder dem Benutzer signiert wird.</p></td>
+ <td><p>AuthBlock</p></td>
+ <td><p>Der Authentifizierungsblock, welcher im Rahmen des Anmeldevorgangs vom der Benutzerin oder dem Benutzer signiert wird.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Signaturzertifikat</p></td>
- <td width="764" valign="top"><p>Das Signaturzertifikat, welches zur Signierung des Authentifizierungsblocks verwendet wurde.</p></td>
+ <td><p>Signaturzertifikat</p></td>
+ <td><p>Das Signaturzertifikat, welches zur Signierung des Authentifizierungsblocks verwendet wurde.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>Vollmacht</p></td>
- <td width="764" valign="top"><p>Die Online-Vollmacht, welche bei einer Anmeldung in Vertretung ausgew&auml;hlt wurde.</p></td>
+ <td><p>Vollmacht</p></td>
+ <td><p>Die Online-Vollmacht, welche bei einer Anmeldung in Vertretung ausgew&auml;hlt wurde.</p></td>
</tr>
<tr>
- <td width="160" valign="top"><p>STORK</p></td>
- <td width="764" valign="top"><p>Alle Attribute, welche bei einer Anmeldung mittels STORK &uuml;bertragen werden.</p></td>
+ <td><p>STORK</p></td>
+ <td><p>Alle Attribute, welche bei einer Anmeldung mittels STORK &uuml;bertragen werden.</p></td>
</tr>
<tr>
- <td valign="top">AuthTimeStamp</td>
- <td valign="top">Zeitpunkt an dem sich die Benutzerin oder der Benutzer an MOA-ID-Auth authentifiziert hat.</td>
+ <td>AuthTimeStamp</td>
+ <td>Zeitpunkt an dem sich die Benutzerin oder der Benutzer an MOA-ID-Auth authentifiziert hat.</td>
</tr>
</table>
-<h3><a name="sessiondata_sso" id="sessiondata3"></a>1.1.2 Single Sign-On</h3>
+<h4><a name="sessiondata_sso" id="sessiondata3"></a>1.1.2 Single Sign-On</h4>
<p>Im Falle einer Anmeldung mit Single Sign-In werden zus&auml;tzlich zu den oben genannten Elementen noch weitere Datens&auml;tze gecached.</p>
-<table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="159" valign="top"><p><strong>Element</strong></p></td>
- <td width="760" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="159" valign="top"><p>SSO Session Token</p></td>
- <td width="760" valign="top"><p>Das SSO Session Token dient zur Identifizierung einer aktuell bestehenden Single Sign-On Session.</p></td>
+ <td><p>SSO Session Token</p></td>
+ <td><p>Das SSO Session Token dient zur Identifizierung einer aktuell bestehenden Single Sign-On Session.</p></td>
</tr>
<tr>
- <td valign="top">UpdateTimeStamp</td>
- <td valign="top">Zeitpunkt des letzten Zugriffs der Benutzerin oder des Benutzers mittels SSO.</td>
+ <td>UpdateTimeStamp</td>
+ <td>Zeitpunkt des letzten Zugriffs der Benutzerin oder des Benutzers mittels SSO.</td>
</tr>
<tr>
- <td width="159" valign="top"><p>Liste: ung&uuml;ltige SSO Token</p></td>
- <td width="760" valign="top"><p>Eine Liste aller in dieser Single Sign-On Session bereits vergebenen und verwendeten SSO Session Token. </p></td>
+ <td><p>Liste: ung&uuml;ltige SSO Token</p></td>
+ <td><p>Eine Liste aller in dieser Single Sign-On Session bereits vergebenen und verwendeten SSO Session Token. </p></td>
</tr>
<tr>
- <td width="159" valign="top"><p>Liste:&nbsp; Online-Applikationen</p></td>
- <td width="760" valign="top"><p>Eine Liste aller Onlineapplikationen an denen im Rahmen dieser SSO Session eine Anmeldung stattgefunden hat.</p></td>
+ <td><p>Liste:&nbsp; Online-Applikationen</p></td>
+ <td><p>Eine Liste aller Onlineapplikationen an denen im Rahmen dieser SSO Session eine Anmeldung stattgefunden hat.</p></td>
</tr>
</table>
-<h2><a name="statisticdata" id="statisticdata"></a>1.2 Logging von Statistikdaten</h2>
+<h3><a name="statisticdata" id="statisticdata"></a>1.2 Logging von Statistikdaten</h3>
<p align="left">Zus&auml;tzlich zu den Daten aus den tempor&auml;ren Sessiondaten werden vom Modul MOA-ID-Auth auch Logging- und Statistikdaten generiert, welche nicht automatisiert gel&ouml;scht werden. Diese Daten dienen der Statuskontrolle und zur Protokollierung von Anmeldevorg&auml;ngen an MOA-ID-Auth. Von MOA-ID-Auth werden folgende <a href="./../config/config.html#basisconfig_moa_id_auth_param_database_info">Statistikdaten</a> je Anmeldevorgang gespeichert, wobei je nach Art der Anmeldung nicht alle Datenelemente gef&uuml;llt werden. Die nachstehende Tabelle beschreibt den maximalen Umfang der Loggingdaten, wobei keine Informationen zur anmeldenden Person gespeichert werden.</p>
-<table border="1" cellspacing="0" cellpadding="0">
+ <table class="configtable">
<tr>
- <td width="163" valign="top"><p><strong>Element</strong></p></td>
- <td width="757" valign="top"><p><strong>Beschreibung</strong></p></td>
+ <td><p><strong>Element</strong></p></td>
+ <td><p><strong>Beschreibung</strong></p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>timestamp</p></td>
- <td width="757" valign="top"><p>Datum und Uhrzeit des Eintrags.</p></td>
+ <td><p>timestamp</p></td>
+ <td><p>Datum und Uhrzeit des Eintrags.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAID</p></td>
- <td width="757" valign="top"><p>Eindeutige Datenbank ID der Online-Applikation.</p></td>
+ <td><p>OAID</p></td>
+ <td><p>Eindeutige Datenbank ID der Online-Applikation.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAURLPrefix</p></td>
- <td width="757" valign="top"><p>Publik URL Prefix der Online-Applikation</p></td>
+ <td><p>OAURLPrefix</p></td>
+ <td><p>Publik URL Prefix der Online-Applikation</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OAFriendlyName</p></td>
- <td width="757" valign="top"><p>Bezeichnung der Online-Applikation</p></td>
+ <td><p>OAFriendlyName</p></td>
+ <td><p>Bezeichnung der Online-Applikation</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isBusinessService</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Online-Applikation aus dem privatwirtschaftlichen Bereich stammt.</p></td>
+ <td><p>isBusinessService</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Online-Applikation aus dem privatwirtschaftlichen Bereich stammt.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>OATarget</p></td>
- <td width="757" valign="top"><p>Bereichskennzeichen der Online-Applikation (Target oder privatwirtschaftlicher Bereich)</p></td>
+ <td><p>OATarget</p></td>
+ <td><p>Bereichskennzeichen der Online-Applikation (Target oder privatwirtschaftlicher Bereich)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>BKUType</p></td>
- <td width="757" valign="top"><p>Art der B&uuml;rgerkartenumgebung die f&uuml;r den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td>
+ <td><p>BKUType</p></td>
+ <td><p>Art der B&uuml;rgerkartenumgebung die f&uuml;r den Anmeldevorgang verwendet wurde. (online, local, handy)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>BKUURL</p></td>
- <td width="757" valign="top"><p>URL der verwendeten B&uuml;rgerkartenumgebung</p></td>
+ <td><p>BKUURL</p></td>
+ <td><p>URL der verwendeten B&uuml;rgerkartenumgebung</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isSSOLogin</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td>
+ <td><p>isSSOLogin</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die die Anmeldung als Teil einer SSO Anmeldung erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isMandateLogin</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung erfolgt ist.</p></td>
+ <td><p>isMandateLogin</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>MandateType</p></td>
- <td width="757" valign="top"><p>Art der verwendeten Vollmacht (Einzelprofile des Vollmachtenservice oder OID des Organwalters / berufsm&auml;&szlig;igen Parteienvertreters)</p></td>
+ <td><p>MandateType</p></td>
+ <td><p>Art der verwendeten Vollmacht (Einzelprofile des Vollmachtenservice oder OID des Organwalters / berufsm&auml;&szlig;igen Parteienvertreters)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>MandatorType</p></td>
- <td width="757" valign="top"><p>&bdquo;jur&ldquo; / &bdquo;nat&ldquo; je nach Art der vertretenen juristischen oder nat&uuml;rlichen Person</p></td>
+ <td><p>MandatorType</p></td>
+ <td><p>&bdquo;jur&ldquo; / &bdquo;nat&ldquo; je nach Art der vertretenen juristischen oder nat&uuml;rlichen Person</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>isPV</p></td>
- <td width="757" valign="top"><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter erfolgt ist.</p></td>
+ <td><p>isPV</p></td>
+ <td><p>&bdquo;True&ldquo; wenn die Anmeldung in Vertretung durch einen Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter erfolgt ist.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>PVOID</p></td>
- <td width="757" valign="top"><p>OID des Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter</p></td>
+ <td><p>PVOID</p></td>
+ <td><p>OID des Organwalter oder berufsm&auml;&szlig;igen Parteienvertreter</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ProtocolType</p></td>
- <td width="757" valign="top"><p>Type des f&uuml;r die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td>
+ <td><p>ProtocolType</p></td>
+ <td><p>Type des f&uuml;r die Anmeldung verwendeten Authentifizierungsprotokolls. (PVP21, OpenID, SAML1)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ProtocolSubType</p></td>
- <td width="757" valign="top"><p>N&auml;here Spezifizierung des Protokolltyps. (Im Falle von PVP 2.1: POST oder Redirect)</p></td>
+ <td><p>ProtocolSubType</p></td>
+ <td><p>N&auml;here Spezifizierung des Protokolltyps. (Im Falle von PVP 2.1: POST oder Redirect)</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionType</p></td>
- <td width="757" valign="top"><p>Typ des Fehlers der w&auml;hrend des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p>
+ <td><p>ExceptionType</p></td>
+ <td><p>Typ des Fehlers der w&auml;hrend des Anmeldevorgangs aufgetreten ist. Aktuell werden folgende Typen unterschieden:</p>
<ul>
<li><strong>bku</strong>: Fehler w&auml;hrend der Kommunikation mit der B&uuml;rgerkartenumgebung.</li>
<li> <strong>moa-sp</strong>: Fehler bei der Kommunikation mit MOA-SP oder der Signaturpr&uuml;fung.</li>
@@ -184,74 +184,71 @@
</ul> </td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionCode</p></td>
- <td width="757" valign="top"><p>Fehlercode des aufgetretenen Fehlers falls vorhanden.</p></td>
+ <td><p>ExceptionCode</p></td>
+ <td><p>Fehlercode des aufgetretenen Fehlers falls vorhanden.</p></td>
</tr>
<tr>
- <td width="163" valign="top"><p>ExceptionMessage</p></td>
- <td width="757" valign="top"><p>Fehlermeldung in textueller Form (max. 255 Zeichen lang)</p></td>
+ <td><p>ExceptionMessage</p></td>
+ <td><p>Fehlermeldung in textueller Form (max. 255 Zeichen lang)</p></td>
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="networkconnections" id="networkconnections"></a>2 Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</h1>
+<h2><a name="networkconnections" id="networkconnections"></a>2 Ben&ouml;tigte Netzwerkverbindungen (incoming / outgoing)</h2>
<p>F&uuml;r die Betrieb des Modules MOA-ID-Auth werden Netzwerkverbindungen zu externen Service ben&ouml;tigt. Die nachfolgende Tabelle gibt eine Aufstellung der ben&ouml;tigten Verbindungen und eine kurze Beschreibung &uuml;ber deren Funktion.</p>
-<table border="1" cellpadding="0" cellspacing="0">
+ <table class="configtable">
<tr>
- <td width="105" height="34" valign="middle"><strong>Service</strong></td>
- <td width="275" valign="middle"><strong>URL</strong></td>
- <td width="63" valign="middle"><strong>Port</strong></td>
- <td width="87" valign="middle"><strong>Richtung</strong></td>
- <td width="702" valign="middle"><strong>Beschreibung</strong></td>
+ <td><strong>Service</strong></td>
+ <td><strong>URL</strong></td>
+ <td><strong>Port</strong></td>
+ <td><strong>Richtung</strong></td>
+ <td><strong>Beschreibung</strong></td>
</tr>
<tr>
- <td valign="middle"><p>MOA-ID-Auth</p></td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">80, 443</td>
- <td align="center" valign="middle">eingehend</td>
- <td valign="middle"><p>Front-Channel und Back-Channel Verbinding zum IDP</p></td>
+ <td><p>MOA-ID-Auth</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>eingehend</td>
+ <td><p>Front-Channel und Back-Channel Verbinding zum IDP</p></td>
</tr>
<tr>
- <td valign="middle"><p>MOA-ID-Auth</p></td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">80, 443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Abholen von Template oder PVP 2.1 Metadaten</td>
+ <td><p>MOA-ID-Auth</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>ausgehend</td>
+ <td>Abholen von Template oder PVP 2.1 Metadaten</td>
</tr>
<tr>
- <td height="26" valign="middle">LDAP</td>
- <td align="center" valign="middle">*</td>
- <td align="center" valign="middle">389, 636</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Zertifikatspr&uuml;fung</td>
+ <td>LDAP</td>
+ <td>*</td>
+ <td>389, 636</td>
+ <td>ausgehend</td>
+ <td>Zertifikatspr&uuml;fung</td>
</tr>
<tr>
- <td width="105" valign="middle"><p>OSCP / CRL</p></td>
- <td width="275" align="center" valign="middle">*</td>
- <td width="63" align="center" valign="middle">80, 443</td>
- <td width="87" align="center" valign="middle">ausgehend</td>
- <td width="702" valign="middle"><p>Zertifikatspr&uuml;fung</p></td>
+ <td><p>OSCP / CRL</p></td>
+ <td>*</td>
+ <td>80, 443</td>
+ <td>ausgehend</td>
+ <td><p>Zertifikatspr&uuml;fung</p></td>
</tr>
<tr>
- <td valign="middle">OVS</td>
- <td align="center" valign="middle"><p><strong>Prod:</strong> <a href="https://vollmachten.stammzahlenregister.gv.at/mis/">vollmachten.stammzahlenregister.gv.at</a><br>
+ <td>OVS</td>
+ <td>vollmachten.stammzahlenregister.gv.at</a><br>
<strong>Test:</strong> <a href="https://vollmachten.egiz.gv.at/mis-test/">vollmachten.egiz.gv.at</a></p></td>
- <td align="center" valign="middle">443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Online-Vollmachten Service (MIS) via SOAP Service</td>
+ <td>443</td>
+ <td>ausgehend</td>
+ <td>Online-Vollmachten Service (MIS) via SOAP Service</td>
</tr>
<tr>
- <td height="46" valign="middle">SZR-Gateway</td>
- <td align="left" valign="middle"><strong>Prod: </strong><a href="https://gateway.stammzahlenregister.gv.at/">gateway.stammzahlenregister.gv.at</a><br>
+ <td>SZR-Gateway</td>
+ <td>gateway.stammzahlenregister.gv.at</a><br>
<strong>Test:</strong> <a href="http://szrgw.egiz.gv.at/">szrgw.egiz.gv.at</a></td>
- <td align="center" valign="middle">443</td>
- <td align="center" valign="middle">ausgehend</td>
- <td valign="middle">Stammzahlenregister Gateway via SOAP Service</td>
+ <td>443</td>
+ <td>ausgehend</td>
+ <td>Stammzahlenregister Gateway via SOAP Service</td>
</tr>
</table>
-<p>&nbsp;</p>
-<p align="left">&nbsp;</p>
-<p>&nbsp;</p>
- <p>&nbsp;</p>
-<p>&nbsp;</p>
+
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/application/application.html b/id/server/doc/handbook/application/application.html
index 8dbae87ed..5fadafd9a 100644
--- a/id/server/doc/handbook/application/application.html
+++ b/id/server/doc/handbook/application/application.html
@@ -2,23 +2,24 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Anwendungen</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Anwendungen</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+ <div class="container">
+<h1 align="center">Anwendungen</h1>
+
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Allgemeines</a></li>
<li><a href="#bkuselection">Integration in bestehende Online-Applikationen</a>
<ol>
@@ -44,36 +45,36 @@
</ol>
</li>
</ol>
- <hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
+
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
<p>Das erste Kapitel behandelt die Integration der von MOA-ID-Auth generierten B&uuml;rgerkartenauswahl in bestehende Online-Applikationen. Zus&auml;tzlich zur Beschreibung ist MOA-ID auch eine PVP 2.1 Demo Applikation beigelegt. Die Konfiguration und Verwendung dieser Demo Applikation ist Inhalt des letzten Kapitels.</p>
-<h1><a name="bkuselection" id="allgemeines_zugangspunkte2"></a>2 Integration in bestehende Online-Applikationen</h1>
+<h2><a name="bkuselection" id="allgemeines_zugangspunkte2"></a>2 Integration in bestehende Online-Applikationen</h2>
<p>Ab MOA-ID 2.0 wird die B&uuml;rgerkartenauswahl und die Single Sign-On Anmeldeabfrage standardm&auml;&szlig;ig vom Modul MOA-ID-Auth bereitgestellt und muss nicht mehr durch den Service Provider implementiert werden.</p>
<p>Die im Modul MOA-ID-Auth hinterlegten Standard Templates (<a href="./../config/config.html#import_template_bku">B&uuml;rgerkartenauswahl</a>, <a href="./../config/config.html#import_template_sso">Single Sign-On Anmeldeabfrage</a>) unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an, wodurch eine individuelle Integration der von MOA-ID-Auth erzeugten Formulare m&ouml;glich ist. Zus&auml;tzlich bietet das Konfigurationstool die M&ouml;glichkeit der <a href="./../config/config.html#konfigurationsparameter_oa_additional_formular">online-applikationsspezifischen Anpassung der Standard Templates</a>. Mit dieser Funktion k&ouml;nnen einzelne Parameter der Standard Templates an die Online-Applikation individualisiert werden um die Integration weiter zu verfeinern.</p>
<p><strong>Hinweis:</strong> Es besteht jedoch auch die M&ouml;glichkeit der Hinterlegung von vollst&auml;ndig benutzerdefinierten online-applikationsspezifischen Templates f&uuml;r die B&uuml;rgerkartenauswahl und die Single Sign-On Anmeldeabfrage (siehe <a href="./../config/config.html#konfigurationsparameter_oa_bku">hier</a>).</p>
-<h2><a name="bkuselection" id="allgemeines_zugangspunkte6"></a>2.1 B&uuml;rgerkartenauswahl</h2>
+<h3><a name="bkuselection" id="allgemeines_zugangspunkte6"></a>2.1 B&uuml;rgerkartenauswahl</h3>
<p>Die B&uuml;rgerkartenauswahl wird ab MOA-ID 2.0 standardm&auml;&szlig;ig von MOA-ID-Auth, als Antwort auf einen eingehenden Authentifizierungsrequest, bereitgestellt. Dem zu Folge m&uuml;ssen die aus MOA-ID 1.5.1 bekannten Parameter (target, bkuURL, template, usemandate) nicht mehr im Authentifizierungsrequest an MOA-ID-Auth &uuml;bergeben werden und es kann ein standardkonformer Protokollrequest verwendet werden. Die aus MOA-ID 1.5.1 bekannte Variante der B&uuml;rgerkartenauswahl in der Online-Applikation des Service Providers steht jedoch weiterhin als <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Variante</a> zur Verf&uuml;gung.</p>
<p>Die Integration der von MOA-ID-Auth bereitgestellten B&uuml;rgerkartenauswahl in eine bestehende Online-Applikation kann auf zwei Arten erfolgen. Bei beiden Varianten erfolgt der Login Vorgang (senden des Authentifizierungsrequests an MOA-ID-Auth) durch den Klick auf einen Login Button. Die Auswahl der B&uuml;rgerkartenumgebung erfolgt somit erst im zweiten Schritt. Das Sequenzdiagramm eines solchen Anmeldevorgangs finden Sie <a href="./../intro/intro.html#ablauf">hier</a> und die nachfolgende Grafik zeigt ein Beispiel zur Integration eines Login Buttons.</p>
-<p><img src="login_button.PNG" width="853" height="683" alt="Integration Login Button"></p>
-<h3><a name="bkuselection_iframe" id="allgemeines_zugangspunkte5"></a>2.1.1 Request aus einem iFrame</h3>
+<div class="largeImgDiv"><img src="login_button.PNG" alt="Integration Login Button"></div>
+<h4><a name="bkuselection_iframe" id="allgemeines_zugangspunkte5"></a>2.1.1 Request aus einem iFrame</h4>
<p>Bei dieser Variante wird der Authentifizierungsrequests aus einem iFrame, welcher in die Online-Applikation eingebunden ist, abgesetzt. MOA-ID-Auth antwortet auf diesen Request mit der konfigurierten B&uuml;rgerkartenauswahl welche durch Verwendung des iFrame in die Online-Applikation eingebunden werden kann. Die nachfolgende Grafik zeigt ein Beispiel f&uuml;r die von MOA-ID-Auth bereitgestellte B&uuml;rgerkartenauswahl, welche nach Bet&auml;tigung des Login Buttons im iFrame dargestellt wird. </p>
-<p><img src="iframe.png" width="752" height="764" alt="B&uuml;rgerkartenauswahl im iFrame"></p>
+<div class="largeImgDiv"><img src="iframe.png" alt="B&uuml;rgerkartenauswahl im iFrame"></div>
<p><strong>Hinweis:</strong> Bei dieser Variante wird die Assertion ebenfalls an den iFrame ausgeliefert wodurch der authentifizierte Bereich der Online-Applikation im iFrame dargestellt wird. Dieses Verhalten kann durch eine <a href="./../config/config.html#konfigurationsparameter_oa_additional_formular">online-applikationsspezifischen Anpassung der Standard Templates</a> und dem Parameter <em>Targetparameter</em> unterbunden werden.</p>
-<h3><a name="bkuselection_mainframe" id="allgemeines_zugangspunkte7"></a>2.1.2 Request aus dem Hauptframe</h3>
+<h4><a name="bkuselection_mainframe" id="allgemeines_zugangspunkte7"></a>2.1.2 Request aus dem Hauptframe</h4>
<p>Bei dieser Variante wird der Authentifizierungsrequests direkt aus dem aktuell offenen Browserfenster an MOA-ID-Auth gesendet. In diesem Fall wird die B&uuml;rgerkartenauswahl fensterf&uuml;llend im Browser dargestellt und die Benutzerin oder der Benutzer befindet sich nicht mehr in der Domain der Online-Applikation (Service Provider). Nach erfolgreicher Authentifizierung wird die Benutzerin oder der Benutzer an die Online-Applikation zur&uuml;ckgeleitet. Die nachfolgende Grafik zeigt die B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout.</p>
-<p><img src="mainframe.PNG" width="1330" height="822" alt="B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout"></p>
-<h2><a name="ssoquestion" id="allgemeines_zugangspunkte3"></a> 2.2 Single Sign-On Anmeldeabfrage</h2>
+<div class="largeImgDiv"><img src="mainframe.PNG" alt="B&uuml;rgerkartenauswahl im seitenf&uuml;llenden Layout"></div>
+<h3><a name="ssoquestion" id="allgemeines_zugangspunkte3"></a> 2.2 Single Sign-On Anmeldeabfrage</h3>
<p>Wird f&uuml;r die Integration in die Online-Applikation die Variante mit dem Login Button und der von MOA-ID-Auth bereitgestellten B&uuml;rgerkartenauswahl verwendet (<a href="#bkuselection_iframe">iFrame</a> oder <a href="#bkuselection_mainframe">Hauptframe</a>), ergeben sich f&uuml;r die Single Sign-On Anmeldeabfrage keine zus&auml;tzlichen Anforderungen. Im Falle einer aktiven Single Sign-On Session, w&uuml;rde MOA-ID-Auth mit der Single Sign-On Anmeldeabfrage anstatt der B&uuml;rgerkartenauswahl antworten. Auch in diesem Fall stehen beide M&ouml;glichkeiten der Integration, identisch zum Kapitel B&uuml;rgerkartenauswahl, zur Verf&uuml;gung. Die nachfolgende Grafik zeigt eine Single Sign-On Abfrage welche je nach verwendeter Variante die B&uuml;rgerkartenauswahl, in den zuvor gezeigten Beispielen, ersetzen w&uuml;rde.</p>
-<p><img src="sso_sendassertion.PNG" width="383" height="240" alt="Single Sign-On Anmeldeabfrage"></p>
+<div class="largeImgDiv"><img src="sso_sendassertion.PNG" alt="Single Sign-On Anmeldeabfrage"></div>
<p><strong>Hinweis:</strong> Wird f&uuml;r die Integration der B&uuml;rgerkartenauswahl jedoch die <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Variante</a> verwendet (direkte Integration der B&uuml;rgerkartenauswahl in die Online-Applikation) kann es zu Inkompatibilit&auml;ten mit der Single Sign-On Anmeldeabfrage kommen, da diese Abfrage von MOA-ID-Auth generiert werden muss und eine direkte Integration in eine Online-Applikation nicht m&ouml;glich ist. </p>
-<h2><a name="DemoApp" id="allgemeines_zugangspunkte4"></a>3 Demo Applikationen</h2>
+<h3><a name="DemoApp" id="allgemeines_zugangspunkte4"></a>3 Demo Applikationen</h3>
<p>Dieser Abschnitt behandelt die Konfiguration und Verwendung der bei MOA-ID beigelegten Demo Applikationen.</p>
-<h2><a name="DemoApp_pvp21" id="allgemeines_zugangspunkte"></a>3.1 PVP 2.1 Demo</h2>
+<h3><a name="DemoApp_pvp21" id="allgemeines_zugangspunkte"></a>3.1 PVP 2.1 Demo</h3>
<p>Die PVP 2.1 Demo stellt das Minimalbeispiel einer Online-Applikation dar, welche zur Authentifizierung das Protokoll PVP 2.1 verwendet. Die nachfolgenden Abschnitte beschreiben die Installation, Konfiguration und Verwendung der PVP 2.1 Demo Applikation.</p>
<p><strong>Hinweis:</strong> Der Source Code der PVP 2.1 Demo Applikation ist im Order <code>$MOA_ID_AUTH_INST/source/moa-id-oa</code> verf&uuml;gbar. Jedoch ist die Validierung der PVP 2.1 Assertion in dieser Version nicht vollst&auml;ndig implementiert und m&uuml;sste bei Verwendung in einem Produktivsystem noch erweitert werden.</p>
-<h3><a name="DemoApp_pvp21_install" id="allgemeines_zugangspunkte9"></a>3.1.1 Installation</h3>
+<h4><a name="DemoApp_pvp21_install" id="allgemeines_zugangspunkte9"></a>3.1.1 Installation</h4>
<p>F&uuml;r die Installation der Demo Applikation wird ein Apache Tomcat ben&ouml;tigt. Die Konfiguration dieser Tomcat Instanz ist identisch zur <a href="./../install/install.html#webservice_basisinstallation">Konfiguration der Tomcat Instanz</a> der Module MOA-ID-Auth und MOA-ID-Configuration.</p>
-<h5><a name="DemoApp_pvp21_install_demooa" id="allgemeines_zugangspunkte10"></a>3.1.1.1 Einsatz der Demo Applikation in Tomcat</h5>
+<h6><a name="DemoApp_pvp21_install_demooa" id="allgemeines_zugangspunkte10"></a>3.1.1.1 Einsatz der Demo Applikation in Tomcat</h6>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_oa.war</code> enth&auml;lt das einsatzfertige Webarchiv der Demo Applikation und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-oa</code> entpackt. </li>
<li>Die Konfigurationsdatei mit der Basiskonfiguration f&uuml;r die Demo Applikation und die zugeh&ouml;rigen Verzeichnisse m&uuml;ssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-id-oa</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Basiskonfiguration der Demo Applikation dienen kann, finden Sie <a href="../../../conf/moa-id-oa/oa.properties">hier</a>. <br>
@@ -89,7 +90,7 @@
</ul>
</li>
</ul>
-<h4><a name="DemoApp_pvp21_install_start" id="allgemeines_zugangspunkte11"></a>3.1.1.2 Einsatz der Demo Applikation in Tomcat</h4>
+<h5><a name="DemoApp_pvp21_install_start" id="allgemeines_zugangspunkte11"></a>3.1.1.2 Einsatz der Demo Applikation in Tomcat</h5>
<p>Das starten und stoppen der Demo Applikation erfolgt identisch zur Beschreibung f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration.</p>
<p>Ein erfolgreicher Start der Demo Applikation ist an folgender Log-Meldung ersichtlich:</p>
<pre>INFO at.gv.egovernment.moa.id.demoOA.Configuration - Demo Application initializaten finished.</pre>
@@ -99,15 +100,15 @@
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/
</pre>
-<h3><a name="DemoApp_pvp21_config" id="allgemeines_zugangspunkte8"></a>3.1.2 Konfiguration Demo Applikation</h3>
+<h4><a name="DemoApp_pvp21_config" id="allgemeines_zugangspunkte8"></a>3.1.2 Konfiguration Demo Applikation</h4>
<p>Die zentrale Konfigurationsdatei f&uuml;r die Demo Applikation wird der <span class="term">Java Virtual Machine</span>, in der die Demo Applikation l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.demoOA</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.demoOA=C:/Programme/apache/tomcat-4.1.30/conf/moa-id-oa/oa.properties</pre>
<p>Diese Konfigurationsdatei beinhaltet folgende Parameter. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.publicURLContext</td>
@@ -200,9 +201,9 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-oa/servlet/metadata</pre>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/servlet/metadata</pre>
<p>Nach erfolgreicher Konfiguration muss die Tomcat Instanz neu gestartet werden.</p>
-<h3><a name="DemoApp_pvp21_config_moaidauth" id="allgemeines_zugangspunkte13"></a>3.1.3 Konfiguration von MOA-ID-Auth</h3>
+<h4><a name="DemoApp_pvp21_config_moaidauth" id="allgemeines_zugangspunkte13"></a>3.1.3 Konfiguration von MOA-ID-Auth</h4>
<p>Bevor ein Anmeldevorgang gestartet werden kann muss die Demo Applikation auch als Online-Applikation f&uuml;r das Modul MOA-ID-Auth konfiguriert werden. Hierf&uuml;r kann das Konfigurationstool (Modul MOA-ID-Configuration) verwendet werden. Tragen Sie die Demo Applikation als Online-Applikation bei Ihrer MOA-ID-Auth Instanz ein. Eine Beschreibung der einzelnen Konfigurationsparameter finden Sie <a href="./../config/config.html#konfigurationsparameter_oa">hier</a>.</p>
-<h3><a name="DemoApp_pvp21_use" id="allgemeines_zugangspunkte12"></a>3.1.4 Anwendung</h3>
+<h4><a name="DemoApp_pvp21_use" id="allgemeines_zugangspunkte12"></a>3.1.4 Anwendung</h4>
<p>Nach dem Starten von Tomcat steht die Demo Applikation zur Verf&uuml;gung.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-oa/</pre>
<p>bzw. </p>
@@ -214,5 +215,6 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-oa/
<p>Nach erfolgreicher Authentifizierung werden Sie an die Demo Applikation zur&uuml;ckgeleite. Diese extrahiert einige Basisdaten aus der PVP 2.1 Assertion und stellt diese im Browser dar. Zus&auml;tzlich kann die gesamte &uuml;bertragene PVP 2.1 Assertion angezeigt werden.</p>
<p>Wurde der Anmeldevorgang durch einen Fehler abgebrochen werden Sie ebenfalls an die Demo Applikation zur&uuml;ckgeleitet. In diesem Fall wird eine kurze Fehlerbeschreibung dargestellt. Eine ausf&uuml;hrliche Fehlerbeschreibung kann der PVP 2.1 Assertion entnommen werden.</p>
<p>&nbsp;</p>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/common/LogoBKA.png b/id/server/doc/handbook/common/LogoBKA.png
deleted file mode 100644
index 6a92647fd..000000000
--- a/id/server/doc/handbook/common/LogoBKA.png
+++ /dev/null
Binary files differ
diff --git a/id/server/doc/handbook/common/MOA.css b/id/server/doc/handbook/common/MOA.css
index f76ea53d4..f8fd01d8c 100644
--- a/id/server/doc/handbook/common/MOA.css
+++ b/id/server/doc/handbook/common/MOA.css
@@ -1,353 +1,77 @@
+.container {
+ margin: auto;
+ max-width: 1000px;
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
body
{
- font-family: "Times New Roman", Times, serif;
+ font-family: "Roboto", sans-serif;
+
+ color: #000;
font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
+ font-weight: 300;
+ margin-left: 0px;
+ margin-right: 0px;
+ margin-top: 0px;
background-color: white;
- text: #000000;
- link: #990000;
- vlink: #666666;
- alink: #cc9966;
-}
+ letter-spacing: 0.05em;
+}
+b{
+ font-weight: 500;
+}
p
{
margin-top: 0pt;
margin-bottom: 0.5em;
- text-align: justify
-}
-
-pre
-{
- font-family: "Courier New", monospace;
- font-size: 90%;
- background-color: #cccccc;
- color: #000000;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
- border: #008000 none;
-}
-
-hr
-{
- color: #000080;
- background-color: #000080;
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-table.fixedWidth
-{
- width: 97%;
- margin-left:1.5%;
- margin-right:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-
-table.varWidth
-{
- margin-left:1.5%;
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-th
-{
- text-align: left;
-}
-
-h1
-{
- color: #000000;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h2
-{
- color: #000000;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h3
-{
- color: #000000;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h4
-{
- color: #000000;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h5
-{
- color: #000000;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-h6
-{
- color: #000000;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- background-color:#999;
-}
-
-code
-{
- font-family: "Courier New", Courier, monospace;
- font-size: 90%;
- color: #000000
-}
-
-dd
-{
- margin-top: 0.8em;
- margin-bottom: 0.8em;
- text-align: justify
-
-}
-
-dt
-{
- margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
-}
-
-ol
-{
- margin-top: 0.5em;
- margin-bottom: 0.5em
-}
-
-ol.alpha
-{
- list-style-type: lower-alpha
-}
-
-li
-{
- margin-top: 0.25em;
- margin-bottom: 0.25em;
- text-align: justify
-}
-
-a:hover
-{
- color: #990000
-}
-
-
-.title
-{
- text-align: left;
- font-size: 200%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em;
- background-color:#999;
-}
-
-.subtitle
-{
- text-align: left;
- font-size: 133%;
- color: #000000;
- font-family: Arial, Helvetica, sans-serif;
- margin-top: 0.4em;
- margin-bottom: 0.4em
-}
-
-.glossaryTerm
-{
- font-style: italic;
- color: #006699
-}
-
-.example
-{
- font-family: "Courier New", monospace;
- background-color: #CCFFFF;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
-
-.schema
-{
- font-family: "Courier New", monospace;
- background-color: #FFFFCC;
- color: #000000;
- margin: 0pt 0pt;
- border: #008000 none
-}
+ text-align: justify;
-.documentinfo
-{
- font-family: Arial, Helvetica, sans-serif;
- font-size: 100%;
}
-.ol-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
+.centeredimage{
+ text-align: center;
+ width:100%;
}
-.li-contents
-{
- font-size: 100%;
- margin-top: 0.0em;
- margin-bottom: 0.0em;
+.index{
+ padding-left: 0;
}
-
-.logoTitle
-{
- text-align: center;
- font-size: 200%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+.index a{
+ color: #666;
}
-
-.logoTable
-{
- margin-bottom: 0px;
- margin-left: 0px
-}
-
-.superscript
-{
- vertical-align: super;
- font-size: 66%;
-}
-
-.term
-{
- font-style: italic;
-}
-
-.strongerterm
-{
- font-style: italic;
- font-weight: 600;
-}
-
-
-.comment
-{
- color: #000000;
- background: #ffff00;
- font-style: italic
-}
-
-.addedErrata12
-{
- color: #FF0000;
- background-color: #FFEEEE;
- text-decoration: underline
-}
-
-.deletedErrata12
-{
- color: #999999;
- background-color: #EEEEEE;
- text-decoration: line-through
-}
-
-.added12
-{
- color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
-}
-
-.deleted12
+.index a:hover
{
- color: #999999;
- text-decoration: line-through
-; background-color: #f8f0ff
+ color:#E10319;
}
-
-.rfc2119Keyword
-{
- font-variant: small-caps;
- font-style: normal;
+.index ul{
+ list-style-type: none;
}
-
-.remark { font-style: italic}
-
-li.faq
-{
- margin-top: 1.5em;
- margin-bottom: 1.5em;
+.index li{
+ list-style-type: none;
}
-.faq-question
-{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
- margin-bottom: 0.4em;
+td{
+ font-weight: 300;
}
-/*body
-{
- font-family: "Times New Roman", Times, serif;
- font-size: medium;
- font-weight: normal;
- margin-left: 2.5em;
- margin-right: 2.5em;
-}
-
-p
-{
- margin-top: 0pt;
- margin-bottom: 0.5em;
- text-align: justify
-}
pre
{
font-family: "Courier New", monospace;
font-size: 90%;
- background-color: #cccccc;
+ background-color: #DDD;
color: #000000;
margin-left:1.5%;
margin-right:1.5%;
margin-top: 1em;
margin-bottom: 1em;
border: #008000 none;
+ white-space: pre-wrap;
}
hr
@@ -365,9 +89,8 @@ table.fixedWidth
margin-right:1.5%;
margin-top: 1em;
margin-bottom: 1em;
+ color:#404040;
}
-
-
table.varWidth
{
margin-left:1.5%;
@@ -375,86 +98,114 @@ table.varWidth
margin-bottom: 1em;
}
+table.configtable{
+ width:100%;
+ border-collapse: collapse;
+ border-style:solid;
+ border-color: #404040;
+ border-width: 2px;
+ font-family: "Roboto",sans-serif
+}
+table.configtable th{
+ border-style:solid;
+ border-color: #404040;
+ border-width: 2px;
+ padding:3px;
+}
+table.configtable th{
+ font-weight: 300;
+ font-size: 120%;
+}
+table.configtable td{
+ border-style:solid;
+ border-color: #404040;
+ border-width: 1px;
+ border-left-width: 2px;
+ border-right-width: 2px;
+ padding:3px;
+ font-weight: 300;
+}
+
+
th
{
text-align: left;
+
}
h1
-{
- color: #000080;
- text-align: left;
- font-size: 167%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+{
+ font-size: 220%;
+ font-weight: 400;
}
h2
{
- color: #000080;
- font-size: 150%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 170%;
+ font-weight: 300;
+
}
h3
{
- color: #000080;
- font-size: 133%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 160%;
+ font-weight: 300;
}
h4
{
- color: #000080;
- font-size: 116%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 150%;
+ font-weight: 300;
+
}
h5
{
- color: #000080;
- font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 140%;
+ font-weight: 300;
}
h6
{
- color: #000080;
- font-size: 83%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal
+ letter-spacing: 1px;
+ font-size: 130%;
+ font-weight: 300;
}
code
{
- font-family: "Courier New", Courier, monospace;
+ font-family: "Roboto","Courier New", Courier, monospace;
font-size: 90%;
- color: #000000
+ font-weight: 400;
+ color: #000000;
}
dd
{
margin-top: 0.8em;
margin-bottom: 0.8em;
- text-align: justify
+ text-align: justify;
}
dt
{
margin-top: 0.8em;
- font-family: Arial, Helvetica, sans-serif;
- color: #000080
+ color: #E10319;
+}
+dt a{
+ text-decoration:none;
}
ol
{
margin-top: 0.5em;
- margin-bottom: 0.5em
+ margin-bottom: 0.5em;
+ padding-left:0.8em;
}
ol.alpha
@@ -466,31 +217,35 @@ li
{
margin-top: 0.25em;
margin-bottom: 0.25em;
- text-align: justify
+ text-align: justify;
}
a:hover
{
- color: #990000
+ color: #E10319;
+}
+a{
+ color: #666;
+ text-decoration: none;
}
.title
{
text-align: left;
- font-size: 167%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ font-size: 200%;
+ color: #000000;
+ font-family: "Roboto", sans-serif;
margin-top: 0.4em;
- margin-bottom: 0.4em
+ margin-bottom: 0.4em;
}
.subtitle
{
text-align: left;
font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ color: #000000;
+ font-family: "Roboto", sans-serif;
margin-top: 0.4em;
margin-bottom: 0.4em
}
@@ -503,7 +258,7 @@ a:hover
.example
{
- font-family: "Courier New", monospace;
+ font-family: "Roboto", sans-serif;
background-color: #CCFFFF;
color: #000000;
margin: 0pt 0pt;
@@ -521,7 +276,7 @@ a:hover
.documentinfo
{
- font-family: Arial, Helvetica, sans-serif;
+ font-family: "Roboto", sans-serif;
font-size: 100%;
}
@@ -542,19 +297,21 @@ a:hover
.logoTitle
{
text-align: center;
- font-size: 133%;
- color: #000080;
- font-family: Arial, Helvetica, sans-serif;
+ font-size: 200%;
}
.logoTable
{
margin-bottom: 0px;
- margin-left: 0px
+ margin-left: 0px;
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ border-color: #818286;
+
}
.superscript
-{
+{
vertical-align: super;
font-size: 66%;
}
@@ -564,6 +321,13 @@ a:hover
font-style: italic;
}
+.strongerterm
+{
+ font-style: italic;
+ font-weight: 500;
+}
+
+
.comment
{
color: #000000;
@@ -588,8 +352,8 @@ a:hover
.added12
{
color: #FF0000;
- text-decoration: underline
-; background-color: #F8F0FF
+ text-decoration: underline;
+ background-color: #F8F0FF;
}
.deleted12
@@ -617,8 +381,121 @@ li.faq
{
color: #000080;
font-size: 100%;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: normal;
+ font-family: "Roboto", sans-serif;
+ font-weight: 300;
margin-bottom: 0.4em;
}
-*/
+/*********************************/
+@media ( min-width :600px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+
+ }
+ #headline br {
+ clear: both;
+ }
+
+ #headline h1 {
+ color: #404040;
+ padding-right: 1em;
+ padding-top: 0.15em;
+ margin-bottom: 0;
+ float: right;
+ }
+ #headline img {
+ width: 300px;
+ padding-left: 0;
+ padding-top: 35px;
+ padding-bottom:20px;
+ }
+
+ .smallImgDiv{
+ width:50%;
+ margin:auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .smallImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+ .largeImgDiv{
+ width:100%;
+ margin: auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .largeImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+}
+/*****************************/
+@media ( max-width :599px) {
+ #headline {
+ /*background: linear-gradient(center top , #FAFAFA, #F5F5F5) repeat scroll 0% 0% transparent;*/
+ background: linear-gradient(#FAFAFA, #F5F5F5);
+ border-bottom: 1px solid #EEE;
+ }
+
+ #headline img {
+ width: 150px;
+ padding-left: 0;
+ padding-top: 0.5em;
+ padding-bottom:0.5em;
+ }
+ #headline br {
+ clear: both;
+ }
+ #demologin {
+ width: 100%;
+ box-sizing: border-box;
+ border: 1px solid;
+ border-radius: 1px;
+ border-color: #818286;
+ background: #F5F5F5;
+ height: 182px;
+ width: 242px;
+ margin-top: 18px;
+ padding-left:0;
+ }
+ #headline h1 {
+ color: #404040;
+ padding: 0;
+ margin-bottom: 0;
+ margin-top: 0;
+ text-align: center;
+ }
+ .smallImgDiv{
+ width:100%;
+ margin:auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .smallImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+ .largeImgDiv{
+ width:100%;
+ margin: auto;
+ margin-bottom:40px;
+ margin-top:20px;
+ }
+ .largeImgDiv img{
+ max-width: 100%;
+ max-height: 100%;
+ margin:auto;
+ display: block;
+ }
+}
+
+
diff --git a/id/server/doc/handbook/common/logo_digAT.png b/id/server/doc/handbook/common/logo_digAT.png
new file mode 100644
index 000000000..4f36681e2
--- /dev/null
+++ b/id/server/doc/handbook/common/logo_digAT.png
Binary files differ
diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html
index 9b4190035..1a584e0b3 100644
--- a/id/server/doc/handbook/config/config.html
+++ b/id/server/doc/handbook/config/config.html
@@ -2,23 +2,25 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Konfiguration</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
-<table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Konfiguration</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Konfiguration<h1>
+
+<h2>Inhalt</h2>
+ <ol class="index">
<li>
<p><a href="#uebersicht">&Uuml;bersicht</a></p>
<ol>
@@ -152,14 +154,14 @@
<li><a href="#sp-config">Konfiguration von MOA-SP</a></li>
<li><a href="#security">Tomcat Security Manager</a></li>
</ol>
-<ol type="A">
+<ol type="A" class="index">
<li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li>
</ol>
-<hr/>
- <h1><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht </h1>
+
+ <h2><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht </h2>
<p>Dieses Handbuch beschreibt detailliert die Konfigurationsm&ouml;glichkeiten f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration. Wobei das zentrale Einsatzgebiet des Modules MOA-ID-Configuration die Konfiguration des Modules MOA-ID-Auth darstellt.</p>
<p>Die Konfiguration der beiden Module MOA-ID-Auth und MOA-ID-Configuration kann in zwei Teilbereiche unterteilt werden. Der erste Abschnitt behandelt die Basiskonfiguration der beiden Module, welche in textueller Form mit Hilfe von properties-Konfigurationsdateien erfolgt. Der zweite Abschnitt behandelt die Konfiguration des Modules MOA-ID-Auth unter Zuhilfenahme des Modules MOA-ID-Configuration.</p>
- <h2><a name="uebersicht_ablauf" id="uebersicht2"></a>1.1 Empfohlener Konfigurationsablauf</h2>
+ <h3><a name="uebersicht_ablauf" id="uebersicht2"></a>1.1 Empfohlener Konfigurationsablauf</h3>
<ol>
<li><a href="#moa_id_config_parameters">Basiskonfiguration des Modules MOA-ID-Configuration</a></li>
<li><a href="#moa_id_config_init">Initialisierung des Modules MOA-ID-Configuration</a></li>
@@ -168,24 +170,24 @@
<li><a href="#konfigurationsparameter_oa">Konfiguration von Online-Applikationen</a></li>
</ol>
<p>Optional kann nach dem Schritt 3 Basiskonfiguration des Modules MOA-ID-Auth eine <a href="#import_export_legacy">bestehende MOA-ID 1.5.1 Konfiguration importiert</a> werden. F&uuml;r bestehende Konfigurationen &lt; 1.5.1 wird eine vollst&auml;ndige Neukonfiguration empfohlen.</p>
-<h1><a name="uebersicht_zentraledatei" id="uebersicht_zentraledatei"></a>2 Basiskonfiguration</h1>
+<h2><a name="uebersicht_zentraledatei" id="uebersicht_zentraledatei"></a>2 Basiskonfiguration</h2>
<p>Die Basiskonfiguration f&uuml;r die Module MOA-ID-Auth und MOA-ID-Configuration erfolgt mit Hilfe textueller properties-Dateien. Diese properties-Dateien beinhalten alle Konfigurationsparameter welche f&uuml;r den Start der Module erforderlich sind und m&uuml;ssen der Java Virtual Machine durch eine System Property mitgeteilt werden. Alle &Auml;nderungen die an der Basiskonfiguration vorgenommen werden erfordern einen Neustart der jeweiligen Java Virtual Machine.</p>
<p><strong>Hinweis:</strong> Alle URL Konfigurationsparameter auf Dateien ohne den Prefix <em>file:/</em> werden als relative Pfadangaben zum Konfigurationsbasisverzeichnis des jeweiligen Modules interpretiert.</p>
-<h2><a name="uebersicht_zentraledatei_aktualisierung" id="uebersicht_zentraledatei_aktualisierung"></a>2.1 MOA-ID-Configuration</h2>
+<h3><a name="uebersicht_zentraledatei_aktualisierung" id="uebersicht_zentraledatei_aktualisierung"></a>2.1 MOA-ID-Configuration</h3>
<p>Dieser Abschnitt behandelt die Basiskonfiguration des Modules MOA-ID-Configuration. Der erste Teilabschnitt behandelt die Bekanntmachung der Konfigurationsdatei mittels einer System Property und der zweite Teilabschnitt beschreibt die einzelnen Konfigurationsparameter im Detail. Eine Konfiguration die als Ausgangspunkt f&uuml;r die individuelle Konfiguration verwendet werden kann finden Sie <a href="../../conf/moa-id-configuration/moa-id-configtool.properties">hier</a>.</p>
-<h3><a name="moa_id_config_property" id="uebersicht_zentraledatei_aktualisierung7"></a>2.1.1 Bekanntmachung der Konfigurationsdatei</h3>
+<h4><a name="moa_id_config_property" id="uebersicht_zentraledatei_aktualisierung7"></a>2.1.1 Bekanntmachung der Konfigurationsdatei</h4>
<p>Die zentrale Konfigurationsdatei von MOA-ID-Configuration wird der <span class="term">Java Virtual Machine</span>, in der MOA-ID-Configuration l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.webconfig</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.webconfig=C:/Programme/apache/tomcat-4.1.30/conf/moa-id-configuration/moa-id-configuration.properties</pre>
<p>Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei f&uuml;r MOA-ID-Configuration erhalten Sie in <a href="../install/install.html#moa_id_configuration_deploy">Abschnitt 2.1.2.4</a> des Installationshandbuchs.</p>
-<h3><a name="moa_id_config_parameters" id="uebersicht_zentraledatei_aktualisierung8"></a>2.1.2 Konfigurationsparameter</h3>
+<h4><a name="moa_id_config_parameters" id="uebersicht_zentraledatei_aktualisierung8"></a>2.1.2 Konfigurationsparameter</h4>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit werden die einzelnen Konfigurationsparameter in logisch zusammenh&auml;ngende Bl&ouml;cke unterteilt. Die Konfiguration der Bl&ouml;cke <a href="#moa_id_config_parameters_generel">Allgemeine Konfigurationsparameter</a> und <a href="#moa_id_config_parameters_database">Datenbankzugriff</a> sind nicht optional und m&uuml;ssen f&uuml;r den Betrieb angepasst werden. </p>
-<h4><a name="moa_id_config_parameters_generel" id="uebersicht_zentraledatei_aktualisierung9"></a>2.1.2.1 Allgemeine Konfigurationsparameter</h4>
+<h5><a name="moa_id_config_parameters_generel" id="uebersicht_zentraledatei_aktualisierung9"></a>2.1.2.1 Allgemeine Konfigurationsparameter</h5>
<p>Die folgenden Konfigurationsparameter sind nicht optional und m&uuml;ssen in der Konfigurationsdatei enthalten sein und individuell angepasst werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="176" scope="col">Name</th>
- <th width="222" scope="col">Beispielwert</th>
- <th width="827" scope="col">Beschreibung</th>
+ <th scope="col">Name</th>
+ <th scope="col">Beispielwert</th>
+ <th scope="col">Beschreibung</th>
</tr>
<tr>
<td>general.login.deaktivate</td>
@@ -230,13 +232,13 @@
<td>Innerhalb dieses Zeitraums muss ein neuer Benutzer die im Benutzerprofil hinterlegte eMail Adresse validieren. </td>
</tr>
</table>
-<h4>2.1.2.3 Datenbankzugriff</h4>
+<h5>2.1.2.3 Datenbankzugriff</h5>
<p>Diese Konfigurationsparameter sind nicht optional und m&uuml;ssen in der Konfigurationsdatei enthalten sein und individuell angepasst werden. F&uuml;r die Beispielkonfiguration wurde mySQL als Datenbank verwendet wodurch sich die Konfigurationsparameter auf mySQL beziehen. Das Modul MOA-ID-Configuration kann jedoch auch mit Datenbanken anderer Hersteller betrieben werden. Hierf&uuml;r wird jedoch auf die <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> verwiesen, welches im Module MOA-ID-Configuration f&uuml;r den Datenbankzugriff verwendet wird. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="209" scope="col">Name</th>
- <th width="223" scope="col">Beispielwert</th>
- <th width="793" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>hibernate.dialect</td>
@@ -266,13 +268,13 @@
</table>
<p>&nbsp;</p>
<p>Die Beispielkonfiguration beinhaltet noch zus&auml;tzliche Konfigurationsparameter f&uuml;r den Datenbankzugriff welche direkt aus der Beispielkonfiguration &uuml;bernommen werden k&ouml;nnen. Eine detaillierte Beschreibung der einzelnen Einstellungsparameter kann der <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> entnommen werden.</p>
-<h4><a name="moa_id_config_parameters_pvp2" id="uebersicht_zentraledatei_aktualisierung11"></a>2.1.2.4 B&uuml;rgerkarten LogIn</h4>
+<h5><a name="moa_id_config_parameters_pvp2" id="uebersicht_zentraledatei_aktualisierung11"></a>2.1.2.4 B&uuml;rgerkarten LogIn</h5>
<p>Zus&auml;tzlich zur Authentifizierung mittels Benutzername und Passwort unterst&uuml;tzt das Modul MOA-ID-Configuration auch eine Authentifizierung mittels B&uuml;rgerkarte oder Handy-Signatur unter Verwendung des <a href="./protocol/protocol.html">Authentifizierungsprotokolls PVP2.1</a>. Wenn eine Authentifizierung mittels B&uuml;rgerkarte oder Handy-Signatur gew&uuml;nscht wird m&uuml;ssen die nachfolgen Parameter konfiguriert werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.login.pvp2.isactive</td>
@@ -363,13 +365,13 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
<p>bzw. </p>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
-<h4><a name="moa_id_config_parameters_mail" id="uebersicht_zentraledatei_aktualisierung12"></a>2.1.2.5 Mailversand</h4>
+<h5><a name="moa_id_config_parameters_mail" id="uebersicht_zentraledatei_aktualisierung12"></a>2.1.2.5 Mailversand</h5>
<p>Das Modul MOA-ID-Configuration bietet die M&ouml;glichkeit zur Generierung von automatischen Statusmeldungen welche via eMail versendet werden. Diese Statusmeldungen betreffen die Aktivierung neuer Online-Applikationen oder Benutzeraccounts und die Verifikation von eMail Adressen welche einem Benutzeraccount zugeordnet sind. Detailinformationen hierzu finden Sie im Abschnitt <a href="#moa_id_config_user">Benutzerverwaltung</a>.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="395" scope="col">Name</th>
- <th width="271" scope="col">Beispielwert</th>
- <th width="559" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>general.mail.host</td>
@@ -453,7 +455,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h3><a name="moa_id_config_init" id="uebersicht_zentraledatei_aktualisierung13"></a>2.1.3 Initialisierung des Modules MOA-ID-Configuration</h3>
+<h4><a name="moa_id_config_init" id="uebersicht_zentraledatei_aktualisierung13"></a>2.1.3 Initialisierung des Modules MOA-ID-Configuration</h4>
<p>F&uuml;r den ersten Start muss die Authentifizierung deaktiviert werden (siehe <em>general.login.deaktivate</em> <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.2.1</a>). Anschlie&szlig;end kann die Benutzerverwaltung des Modules MOA-ID-Configuration unter der folgenden Adresse aufgerufen werden.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit.action</pre>
<p>bzw. </p>
@@ -461,16 +463,16 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/servlet/metadata</pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit.action</pre>
<p>Mit Hilfe dieser Benutzerverwaltung kann ein neuer Benutzeraccount am Konfigurationstool angelegt und ein Kennwort f&uuml;r den Benutzer vergeben werden. Zus&auml;tzlich m&uuml;ssen dem neu erstellten Benutzer die Eigenschaften <em>aktiv</em> und <em>admin</em> zugewiesen werden. Nach dem speichern wird der neu angelegte Benutzer in der Liste aller vorhandenen Benutzern dargestellt.</p>
<p>Hiermit ist die Initialisierung des Moduls MOA-ID-Configuration abgeschlossen und die Authentifizierung kann wieder aktiviert werden (siehe <em>general.login.deaktivate</em> <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.2.1</a>). Anschlie&szlig;end muss die Java Virtual Machine, in welchem das Modul MOA-ID-Configuration betrieben wird, neu gestartet werden.</p>
-<p><b>Hinweis:</b> Ein Betrieb des Moduls MOA-ID-Configuration ohne Authentifizierung ist ebenfalls möglich. In diesem Fall wird jedoch empfohlen den Zugriff auf das Konfigurationstool mit anderen Mitteln einzuschränken.</b></p>
-<h3><a name="moa_id_config_user" id="uebersicht_zentraledatei_aktualisierung14"></a>2.1.4 Benutzerverwaltung</h3>
+<p><b>Hinweis:</b> Ein Betrieb des Moduls MOA-ID-Configuration ohne Authentifizierung ist ebenfalls m\F6glich. In diesem Fall wird jedoch empfohlen den Zugriff auf das Konfigurationstool mit anderen Mitteln einzuschr\E4nken.</b></p>
+<h4><a name="moa_id_config_user" id="uebersicht_zentraledatei_aktualisierung14"></a>2.1.4 Benutzerverwaltung</h4>
<p>Das Modul MOA-ID-Configuration unterst&uuml;tzt die Ben&uuml;tzung und Verwaltung unterschiedlicher Benutzeraccounts. Hierf&uuml;r stellt die Web-Oberfl&auml;che des Modules MOA-ID-Configuration ein spezielles Interface zur Benutzerverwaltung zur Verf&uuml;gung. </p>
-<h4><a name="moa_id_config_user_add" id="uebersicht_zentraledatei_aktualisierung15"></a>2.1.4.1 Einen neuen Benutzer erstellen</h4>
+<h5><a name="moa_id_config_user_add" id="uebersicht_zentraledatei_aktualisierung15"></a>2.1.4.1 Einen neuen Benutzer erstellen</h5>
<p>F&uuml;r die Registrierung eins neuen Benutzeraccounts werden folgende Informationen ben&ouml;tigt.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="215" scope="col">Name</th>
- <th width="930" scope="col">Beschreibung</th>
- <th width="80" align="center" scope="col">optional</th>
+ <th >Name</th>
+ <th >Beschreibung</th>
+ <th align="center">Optional</th>
</tr>
<tr>
<td>Vorname</td>
@@ -536,8 +538,8 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<li><strong>Durch PVP 2.1 Login:</strong> Bei dieser Variante wird die Generierung eines neues Benutzeraccounts durch einen Loginversuch mittels B&uuml;rgerkarte oder Handy-Signatur ausgel&ouml;st. Nach erfolgreicher Authentifizierung wird die Benutzerin / der Benutzer an das Konfigurationstool weitergeleitet. Hierbei wird gepr&uuml;ft ob aktuell ein Benutzeraccount f&uuml;r diese Person existiert. Wenn kein Account existiert wird die Benutzerin / der Benutzer aufgefordert die fehlenden Informationen f&uuml;r die Registrierung eines neuen Benutzeraccounts einzutragen. In diesem Fall muss die eMail Adresse durch die Benutzerin / den Benutzer zwingend validiert werden wof&uuml;r der <a href="#moa_id_config_parameters_mail">Mailversand</a> am Module MOA-ID-Configuration konfiguriert sein muss. Nach erfolgreicher Validierung der eMail Adresse ist der Benutzeraccount als nicht aktiv registriert und muss anschlie&szlig;end durch einen Administrator aktiviert werden. Erst nach erfolgreicher Aktivierung ist eine g&uuml;ltige Anmeldung m&ouml;glich.<br>
Sollte die Validierung der eMail Adresse nicht innerhalb des in <a href="#moa_id_config_parameters_generel">Abschnitt 2.2.1.1</a> konfigurierten Zeitraums erfolgen, wird die Benutzeranforderung automatisch gel&ouml;scht und die Benutzerin / der Benutzer muss sich erneut am Konfigurationstool registrieren.</li>
</ol>
-<h4><a name="moa_id_config_user_role" id="uebersicht_zentraledatei_aktualisierung16"></a>2.1.4.2 Benutzerrechte</h4>
-<p>Alle Benutzer die Admin&ndash;Rechte (Eigenschaft <em>admin</em>) besitzen haben vollen Zugriff auf die gesamte Konfiguration der verwalteten MOA-ID-Auth Instanz. Benutzer ohne Admin-Rechten stehen nur folgende Operationen zur Verfügung wobei diese auch besondere Einschränkungen aufweisen können.</p>
+<h5><a name="moa_id_config_user_role" id="uebersicht_zentraledatei_aktualisierung16"></a>2.1.4.2 Benutzerrechte</h5>
+<p>Alle Benutzer die Admin&ndash;Rechte (Eigenschaft <em>admin</em>) besitzen haben vollen Zugriff auf die gesamte Konfiguration der verwalteten MOA-ID-Auth Instanz. Benutzer ohne Admin-Rechten stehen nur folgende Operationen zur Verf\FCgung wobei diese auch besondere Einschr\E4nkungen aufweisen k\F6nnen.</p>
<ul>
<li><strong>Online-Applikationen bearbeiten:</strong> Ein Benutzer ohne Admin-Rechte kann nur jene Online-Applikationen bearbeiten die von ihm erstellt wurden. Das bearbeiten fremder Online-Applikationen ist nicht m&ouml;glich. Folgende Parameter k&ouml;nnen durch diesen Benutzer bearbeitet werden.
<ul>
@@ -557,21 +559,21 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<li><strong>Online Applikation anlegen:</strong> Ein Benutzer ohne Admin-Rechte kann neue Online-Applikationen anlegen. Die Funktionen &bdquo;Online-Applikation aktivieren&ldquo; (siehe <a href="#konfigurationsparameter_oa">Kapitel 3.2</a>: ) steht jedoch nicht zur Verf&uuml;gung. Somit muss die Online-Applikation von einem Benutzer mit Admin-Rechten aktiv geschalten werden. </li>
<li><strong>Benutzerverwaltung:</strong> Ein Benutzer ohne Admin-Rechte kann keine neuen Benutzer erstellen. Dieser kann jedoch seinen Benutzeraccount bearbeiten und gegeben falls l&ouml;schen. Beim L&ouml;schen eines Benutzeraccounts werden Online-Applikationen die von diesem erstellt wurden jedoch nicht automatisch gel&ouml;scht. </li>
</ul>
-<h2><a name="basisconfig_moa_id_auth" id="uebersicht_zentraledatei_aktualisierung2"></a>2.2 MOA-ID-Auth</h2>
+<h3><a name="basisconfig_moa_id_auth" id="uebersicht_zentraledatei_aktualisierung2"></a>2.2 MOA-ID-Auth</h3>
<p>Dieser Abschnitt behandelt die Basiskonfiguration des Modules MOA-ID-Auth. Der erste Teilabschnitt behandelt die Bekanntmachung der Konfigurationsdatei mittels einer System Property und der zweite Teilabschnitt beschreibt die einzelnen Konfigurationsparameter im Detail. Eine Konfiguration die als Ausgangspunkt f&uuml;r die individuelle Konfiguration verwendet werden kann finden Sie <a href="../../conf/moa-id/moa-id.properties">hier</a>.</p>
-<h3><a name="uebersicht_bekanntmachung" id="uebersicht_bekanntmachung"></a>2.2.1 Bekanntmachung der Konfigurationsdatei</h3>
+<h4><a name="uebersicht_bekanntmachung" id="uebersicht_bekanntmachung"></a>2.2.1 Bekanntmachung der Konfigurationsdatei</h4>
<p>Die zentrale Konfigurationsdatei von MOA-ID-Configuration wird der <span class="term">Java Virtual Machine</span>, in der MOA-ID-Configuration l&auml;uft, durch eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.id.webconfig</code> als Wert der <span class="term">System Property</span> ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p>
<pre>moa.id.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-id/moa-id.properties</pre>
<p>Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei f&uuml;r MOA-ID-Auth erhalten Sie in <a href="../install/install.html#webservice_basisinstallation_installation_spssdeploy">Abschnitt 2.1.2.3</a> des Installationshandbuchs.</p>
- <h3><a name="basisconfig_moa_id_auth_param" id="uebersicht_bekanntmachung2"></a>2.2.2 Konfigurationsparameter</h3>
+ <h4><a name="basisconfig_moa_id_auth_param" id="uebersicht_bekanntmachung2"></a>2.2.2 Konfigurationsparameter</h4>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit werden die einzelnen Konfigurationsparameter in logisch zusammenh&auml;ngende Bl&ouml;cke unterteilt.</p>
-<h4><a name="basisconfig_moa_id_auth_param_general" id="uebersicht_bekanntmachung4"></a>2.2.2.1 Allgemeine Konfigurationsparameter</h4>
+<h5><a name="basisconfig_moa_id_auth_param_general" id="uebersicht_bekanntmachung4"></a>2.2.2.1 Allgemeine Konfigurationsparameter</h5>
<p>Die folgenden Konfigurationsparameter sind optional und m&uuml;ssen nicht zwingend angegeben werden. Im Falle eines produktiven Betriebs von MOA-ID-Auth wird jedoch die Angabe eines Schl&uuml;ssels zur verschl&uuml;sselten Speicherung der Session Daten in der Datenbank dringend empfohlen. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="126" scope="col">Beispielwert</th>
- <th width="827" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.moasession.key</td>
@@ -620,15 +622,15 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p>Nach einem erfolgreichen Testdurchlauf Antwortet das Monitoring mit einen http Statuscode 200 und der oben definierten Statusmeldung aus dem Parameter <em>configuration.monitoring.message.success</em>. Im Falle eines Fehlers antwortet das Monitoring mit einem http Statuscode 500 und die Statusmeldung enth&auml;lt eine Beschreibung des aufgetretenen Fehlers.</p>
-<h4><a name="basisconfig_moa_id_auth_param_services" id="uebersicht_bekanntmachung5"></a>2.2.2.2 Externe Services</h4>
+<h5><a name="basisconfig_moa_id_auth_param_services" id="uebersicht_bekanntmachung5"></a>2.2.2.2 Externe Services</h5>
<p>F&uuml;r den Aufbau von Verbindungen zu anderen Komponenten werden in manchen F&auml;llen spezielle Client-Zertifikate oder Sicherheitseinstellungen ben&ouml;tigt. In diesem Abschnitt erfolgt die Konfiguration der f&uuml;r den Verbindungsaufbau ben&ouml;tigten Parameter. Die Konfiguration der URL zum jeweiligen Service wird jedoch &uuml;ber die Web-Oberfl&auml;che des Modules MOA-ID-Configuration vorgenommen (siehe <a href="#konfigurationsparameter_allgemein_services">Kapitel 3.1.7</a>).</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_moasp" id="uebersicht_bekanntmachung6"></a>2.2.2.2.1 MOA-SP</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_moasp" id="uebersicht_bekanntmachung6"></a>2.2.2.2.1 MOA-SP</h6>
<p>Wird MOA-SP &uuml;ber ein Web-Service, welches Client Authentifizierung voraussetzt, angesprochen m&uuml;ssen in diesem Abschnitt die erforderlichen Schl&uuml;ssel hinterlegt werden.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.moasp.clientKeyStore</td>
@@ -647,13 +649,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_mandates" id="uebersicht_bekanntmachung7"></a>2.2.2.2.2 Online-Vollmachen</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_mandates" id="uebersicht_bekanntmachung7"></a>2.2.2.2.2 Online-Vollmachen</h6>
<p>MOA-ID-Auth bietet die M&ouml;glichkeit der Nutzung von Online-Vollmachten f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich. Hierf&uuml;r ist ein Online-Vollmachten-Service n&ouml;tig, wobei die Zugangsdaten zum Online-Vollmachten-Service konfiguriert werden m&uuml;ssen. Der Zugang zum Online-Vollmachten-Service ein Client-Zertifikat f&uuml;r die SSL-Verbindung zum Service. Voraussetzung daf&uuml;r ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID-Auth Zertifikat diese Voraussetzung erf&uuml;llt, k&ouml;nnen Sie dieses hier angeben. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.onlinemandates.clientKeyStore</td>
@@ -672,13 +674,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_services_foreign" id="uebersicht_bekanntmachung8"></a>2.2.2.2.3 Foreign Identities</h5>
+<h6><a name="basisconfig_moa_id_auth_param_services_foreign" id="uebersicht_bekanntmachung8"></a>2.2.2.2.3 Foreign Identities</h6>
<p>MOA-ID-Auth bietet die M&ouml;glichkeit der Nutzung von ausl&auml;ndischen Karten oder die Anmeldung ausl&auml;ndischer Personen mittels STORK. Hierf&uuml;r ist eine Verbindung zum Stammzahlenregister-Gateway n&ouml;tig, das einen entsprechenden Zugang zum Stammzahlenregister bereitstellt. F&uuml;r diesen Zugriff muss das Client-Zertifikat f&uuml;r die SSL-Verbindung zum Gateway angegeben werden. Voraussetzung daf&uuml;r ist ein Zertifikat von A-Trust bzw. A-CERT mit Verwaltungseigenschaft oder Dienstleistereigenschaft. Wenn ihr MOA-ID-Auth Zertifikat diese Voraussetzung erf&uuml;llt, k&ouml;nnen Sie dieses hier angeben.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.foreignidentities.clientKeyStore</td>
@@ -697,14 +699,14 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h4><a name="basisconfig_moa_id_auth_param_protocol" id="uebersicht_bekanntmachung9"></a>2.2.2.3 Protokolle</h4>
+<h5><a name="basisconfig_moa_id_auth_param_protocol" id="uebersicht_bekanntmachung9"></a>2.2.2.3 Protokolle</h5>
<p>MOA-ID-Auth unterst&uuml;tzt mehrere Authentifizierungsprotokolle. Manche dieser Protokolle ben&ouml;tigen Schl&uuml;ssel zur Signierung von Authentifizierungsdaten oder Metadaten. In diesem Abschnitt erfolgt die Konfiguration des zu verwendeten Schl&uuml;sselmaterials. </p>
-<h5><a name="basisconfig_moa_id_auth_param_protocol_pvp21" id="uebersicht_bekanntmachung10"></a>2.2.2.3.1 PVP 2.1</h5>
-<table width="1247" border="1">
+<h6><a name="basisconfig_moa_id_auth_param_protocol_pvp21" id="uebersicht_bekanntmachung10"></a>2.2.2.3.1 PVP 2.1</h6>
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>protocols.pvp2.idp.ks.file</td>
@@ -748,44 +750,44 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
-<h5><a name="basisconfig_moa_id_auth_param_protocol_openid" id="uebersicht_bekanntmachung11"></a>2.2.2.3.2 OpenID Connect</h5>
-<table width="1247" border="1">
+<h6><a name="basisconfig_moa_id_auth_param_protocol_openid" id="uebersicht_bekanntmachung11"></a>2.2.2.3.2 OpenID Connect</h6>
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.file</td>
+ <td>protocols.oauth30.jwt.ks.file</td>
<td>keys/moa_idp[password].p12</td>
<td>Dateiname des Java Keystore oder PKCS12 Keystore zur Signierung des OpenID Connect <em>id_token</em></td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.password=</td>
+ <td>protocols.oauth30.jwt.ks.password=</td>
<td>passsword</td>
<td>Passwort zum Keystore</td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.key.name</td>
+ <td>protocols.oauth30.jwt.ks.key.name</td>
<td>pvp_assertion</td>
<td>Name des Schl&uuml;ssels der zum Signieren des <em>id_tokens</em> verwendet wird</td>
</tr>
<tr>
- <td>protocols.oauth20.jwt.ks.key.password</td>
+ <td>protocols.oauth30.jwt.ks.key.password</td>
<td>pasword</td>
<td>Password des Schl&uuml;ssels der zum Signieren des <em>id_tokens</em> verwendet wird</td>
</tr>
</table>
<p>&nbsp;</p>
- <h4><a name="basisconfig_moa_id_auth_param_database" id="uebersicht_bekanntmachung3"></a>2.2.2.4 Datenbank </h4>
+ <h5><a name="basisconfig_moa_id_auth_param_database" id="uebersicht_bekanntmachung3"></a>2.2.2.4 Datenbank </h5>
<p>Das Modul MOA-ID-Auth ben&ouml;tigt f&uuml;r den Betrieb zwei (optional drei) separate Datenbank Schema, welche in der Basiskonfiguration konfiguriert werden. F&uuml;r Beispielkonfiguration wurde mySQL als Datenbank verwendet wodurch sich die Konfigurationsparameter auf mySQL beziehen. Das Modul MOA-ID-Auth kann jedoch auch mit Datenbanken anderer Hersteller oder einer InMemory Datenbank betrieben werden. Hierf&uuml;r wird jedoch auf die <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> verwiesen. </p>
-<h5><a name="basisconfig_moa_id_auth_param_database_conf" id="uebersicht_bekanntmachung12"></a>2.2.2.4.1 Konfiguration</h5>
+<h6><a name="basisconfig_moa_id_auth_param_database_conf" id="uebersicht_bekanntmachung12"></a>2.2.2.4.1 Konfiguration</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>configuration.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema welches die Konfiguration von MOA-ID-Auth beinhaltet. Eine Konfiguration dieser Parameter ist nicht optional.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.hibernate.dialect</td>
@@ -814,13 +816,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
</table>
<p>&nbsp;</p>
- <h5><a name="basisconfig_moa_id_auth_param_database_session" id="uebersicht_bekanntmachung13"></a>2.2.2.4.2 Session Informationen</h5>
+ <h6><a name="basisconfig_moa_id_auth_param_database_session" id="uebersicht_bekanntmachung13"></a>2.2.2.4.2 Session Informationen</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>moasession.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema in welchem MOA-ID-Auth die Session Informationen tempor&auml;r ablegt. Eine Konfiguration dieser Parameter ist nicht optional.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>moasession.hibernate.dialect</td>
@@ -848,13 +850,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>Passwort f&uuml;r den Zugriff auf das Datenbank Schema</td>
</tr>
</table>
-<h5><a name="basisconfig_moa_id_auth_param_database_info" id="uebersicht_bekanntmachung14"></a>2.2.2.4.3 Statistikdaten</h5>
+<h6><a name="basisconfig_moa_id_auth_param_database_info" id="uebersicht_bekanntmachung14"></a>2.2.2.4.3 Statistikdaten</h6>
<p>Alle Parameter aus der Basiskonfiguration welche als Prefix <em>advancedlogging.hibernate</em>. im Parameternamen aufweisen konfigurieren den Zugriff auf das Datenbank Schema welches die Konfiguration von MOA-ID-Auth beinhaltet. Eine Konfiguration dieser Parameter ist nur erforderlich wenn <em>configuration.advancedlogging.active</em> auf <em>true</em> gesetzt wird. (siehe <a href="#basisconfig_moa_id_auth_param_general">Kapitel 2.2.2.1</a>)</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>advancedlogging.hibernate.dialect</td>
@@ -884,13 +886,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</table>
<p>&nbsp;</p>
<p>Die Beispielkonfiguration beinhaltet noch zus&auml;tzliche Konfigurationsparameter f&uuml;r den Datenbankzugriff der einzelnen Schema welche direkt aus der Beispielkonfiguration &uuml;bernommen werden k&ouml;nnen. Eine detaillierte Beschreibung der einzelnen Einstellungsparameter kann der <a href="http://docs.jboss.org/hibernate/core/4.2/manual/en-US/html/">Hibernate Dokumention</a> entnommen werden.</p>
-<h4><a name="basisconfig_moa_id_auth_param_testing" id="uebersicht_bekanntmachung15"></a>2.2.2.5 Testing</h4>
+<h5><a name="basisconfig_moa_id_auth_param_testing" id="uebersicht_bekanntmachung15"></a>2.2.2.5 Testing</h5>
<p>Diese Parameter dienen auf Testsystemen zur Deaktivierung einzelner Verarbeitungs- oder Pr&uuml;fschritte. Standardm&auml;&szlig;ig ist jeweils die sichere Variante aktiviert.</p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>configuration.validation.certificate.QC.ignore</td>
@@ -905,14 +907,14 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p><strong>Defaultwert:</strong> true</p></td>
</tr>
</table>
- <h4><a name="basisconfig_moa_id_auth_szrclient" id="uebersicht_bekanntmachung16"></a>2.2.2.6 SZR Client f&uuml;r STORK &lt;-&gt; PVP Gateway Betrieb</h4>
+ <h5><a name="basisconfig_moa_id_auth_szrclient" id="uebersicht_bekanntmachung16"></a>2.2.2.6 SZR Client f&uuml;r STORK &lt;-&gt; PVP Gateway Betrieb</h5>
<p>Die Konfiguration des Stammzahlenregister (SZR) Clients ist nur erforderlich wenn das Modul MOA-ID-Auth als STORK &lt;-&gt; PVP Gateway betrieben wird. Da in diesem Fall die Benutzerin oder der Benutzer &uuml;ber ein PVP Stammportal authentifiziert wird ist eine direkte Generierung der STORK eID w&auml;hrend des Anmeldevorgangs nicht m&ouml;glich. Somit erfolgt f&uuml;r diese Personen einen Stammzahlenregisterabfrage zur Bestimmung der STORK eID.</p>
<p>F&uuml;r den in MOA-ID-Auth verwendeten SZR Client sind folgende Konfigurationsparameter erforderlich.</p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="281" scope="col">Name</th>
- <th width="261" scope="col">Beispielwert</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>service.egovutil.szr.test</td>
@@ -1029,19 +1031,19 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Detaillierte Informationen zu den einzelnen PVP spezifischen Konfigurationsparametern finden Sie in der entsprechenden PVP Spezifikation.</p>
-<h2><a name="uebersicht_logging" id="uebersicht_logging"></a>2.3 Konfiguration des Loggings</h2>
+<h3><a name="uebersicht_logging" id="uebersicht_logging"></a>2.3 Konfiguration des Loggings</h3>
<p>Die Module MOA-ID-Auth und MOA-ID-Configuration verwendet als Framework f&uuml;r Logging-Information die Open Source Software <code>log4j</code>. Die Konfiguration der Logging-Information erfolgt nicht direkt durch die einzelnen Module, sondern &uuml;ber eine eigene Konfigurationsdatei, die der <span class="term">Java Virtual Machine</span> durch eine <span class="term">System Property </span> mitgeteilt wird. Der Name der <span class="term">System Property </span> lautet <code>log4j.configuration</code>; als Wert der <span class="term">System Property </span> ist eine URL anzugeben, die auf die <code>log4j</code>-Konfigurationsdatei verweist, z.B. </p>
<pre>log4j.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id/log4j.properties</pre>
Weitere Informationen zur Konfiguration des Loggings erhalten Sie in <a href="../install/install.html#webservice_basisinstallation_logging">Abschnitt 2.1.3</a> des Installationshandbuchs.
<p></p>
-<h2><a name="uebersicht_samlengine" id="uebersicht_samlengine"></a>2.4 Konfiguration des SamlEngines</h2>
-<p>Für die Untestützung des STORK2 Protokols verwendet MOA-ID eine zusätzliche Bibliothek, die über gesonderte Dateien konfiguriert wird. Diese Dateien sind unter einem Verzeichnis gespeichert, das sich üblicherweise im MOA-ID-Auth Konfigurationsverzeichnis befindet. Der Name der <span class="term">System Property </span> lautet <code>eu.stork.samlengine.config.location</code>; als Wert der <span class="term">System Property </span> ist das Verzeichnis anzugeben, wo die entsprechende SamlEngine Konfigurationsdateien gespeichert werden, z.B. </p>
+<h3><a name="uebersicht_samlengine" id="uebersicht_samlengine"></a>2.4 Konfiguration des SamlEngines</h3>
+<p>F\FCr die Untest\FCtzung des STORK2 Protokols verwendet MOA-ID eine zus\E4tzliche Bibliothek, die \FCber gesonderte Dateien konfiguriert wird. Diese Dateien sind unter einem Verzeichnis gespeichert, das sich \FCblicherweise im MOA-ID-Auth Konfigurationsverzeichnis befindet. Der Name der <span class="term">System Property </span> lautet <code>eu.stork.samlengine.config.location</code>; als Wert der <span class="term">System Property </span> ist das Verzeichnis anzugeben, wo die entsprechende SamlEngine Konfigurationsdateien gespeichert werden, z.B. </p>
<pre>eu.stork.samlengine.config.location=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id/conf/moa-id/stork</pre>
<p>Dieses Verzeichnis muss mindestens folgende Dateien enthalten:</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="141" scope="col">Datei</th>
- <th width="583" scope="col">Beschreibung</th>
+ <th>Datei</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>SamlEngine.xml</td>
@@ -1049,10 +1051,10 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
<tr>
<td>StorkSamlEngine_<span class="term">XXX</span>.xml</td>
- <td>Enthält allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth\E4lt allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
</tr> <tr>
<td>SignModule_<span class="term">XXX</span>.xml</td>
- <td>Enthält Konfigurationsparametern für Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth\E4lt Konfigurationsparametern f\FCr Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
</tr>
</table>
<p></p>
@@ -1079,7 +1081,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
&lt;/instances&gt;
</pre>
<p>In diesem Beispiel ist nur eine Instanz <em>VIDP</em> definiert deren spezifischen Parametern in zwei Konfigurationsdateien aufgeteilt werden.</p>
-<p>Die Datei <span class="strongerterm">StorkSamlEngine_VIDP.xml</span> enthält STORK-spezifische Parameter, die im Normalbetrieb nicht geändert werden m&uuml;ssen. Die zweite Datei, <span class="strongerterm">SignModule_VIDP.xml</span>, definiert den von der SamlEngine verwendeten Trust- und Keystore. Die Beispielkonfiguration dieser Datei sieht wie folgendes:</p>
+<p>Die Datei <span class="strongerterm">StorkSamlEngine_VIDP.xml</span> enth\E4lt STORK-spezifische Parameter, die im Normalbetrieb nicht ge\E4ndert werden m&uuml;ssen. Die zweite Datei, <span class="strongerterm">SignModule_VIDP.xml</span>, definiert den von der SamlEngine verwendeten Trust- und Keystore. Die Beispielkonfiguration dieser Datei sieht wie folgendes:</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE properties SYSTEM &quot;http://java.sun.com/dtd/properties.dtd&quot;&gt;
@@ -1094,52 +1096,53 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
&lt;entry key=&quot;keystoreType&quot;&gt;JKS&lt;/entry&gt;
&lt;/properties&gt;
</pre>
-<p>Diese Parameter m&uuml;ssen bei der Installation angepasst werden, um die Zugriff an Keystore und die Schlüssel zu ermöglichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p><table width="1247" border="1">
+<p>Diese Parameter m&uuml;ssen bei der Installation angepasst werden, um die Zugriff an Keystore und die Schl\FCssel zu erm\F6glichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p>
+<table class="configtable">
<tr>
- <th width="121" scope="col">Name</th>
- <th width="683" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>keystorePath</td>
- <td>Keystore mit Schlüssel und Zertifikaten welche für das Signieren und Verschlüsseln von STORK Nachrichten verwendet werden sollen. </td>
+ <td>Keystore mit Schl\FCssel und Zertifikaten welche f\FCr das Signieren und Verschl\FCsseln von STORK Nachrichten verwendet werden sollen. </td>
</tr>
<tr>
<td>keyStorePassword</td>
- <td>Passwort des Keystores. Keystore soll den Schlüssel für das Signieren von Nachrichten enthalten, ebenso wie die vertrauenswürdige Zertifikate von anderen Parteien, wie z.B. ausländische PEPSes. </td>
+ <td>Passwort des Keystores. Keystore soll den Schl\FCssel f\FCr das Signieren von Nachrichten enthalten, ebenso wie die vertrauensw\FCrdige Zertifikate von anderen Parteien, wie z.B. ausl\E4ndische PEPSes. </td>
</tr>
<tr>
<td>keyPassword</td>
- <td>Password des Schlüssels, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Password des Schl\FCssels, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>issuer</td>
- <td>Issuer des Keypairs, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Issuer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>serialNumber</td>
- <td>Nummer des Keypairs, der für das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Nummer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>keystoreType</td>
- <td>Typ und Format des Keystores. <span class="term">JKS</span> steht für <span class="term">Java Key Store</span>.</td>
+ <td>Typ und Format des Keystores. <span class="term">JKS</span> steht f\FCr <span class="term">Java Key Store</span>.</td>
</tr>
</table>
-<h1><a name="konfigurationsparameter"></a>3 Konfiguration MOA-ID-Auth</h1>
+<h2><a name="konfigurationsparameter"></a>3 Konfiguration MOA-ID-Auth</h2>
<p>Dieser Abschnitt beschreibt die Konfiguration des Modules MOA-ID-Auth mithilfe der durch das Modul MOA-ID-Configuration zur Verf&uuml;gung gestellten Web-Oberfl&auml;che. Hierzu muss das Konfigurationstool (Module MOA-ID-Konfiguration) bereits installiert und konfiguriert sein (siehe <a href="#uebersicht_zentraledatei_aktualisierung">Kapitel 2.1</a>). Nach erfolgreichem Login am Konfigurationstool kann das Modul MOA-ID-Auth &uuml;ber die Web-Oberfl&auml;che konfiguriert werden.</p>
<p>Die Konfiguration von MOA-ID-Auth ist in zwei Teilbereiche unterteilet. Diese behandeln die Allgemeine Konfiguration der MOA-ID-Auth Instanz und die Konfiguration von Online-Applikationen (Service Providern) welche dieser MOA-ID-Auth Instanz zugeordnet sind.</p>
-<h2><a name="konfigurationsparameter_allgemein" id="konfigurationsparameter_allgemein"></a>3.1
- Allgemeine Konfiguration</h2>
+<h3><a name="konfigurationsparameter_allgemein" id="konfigurationsparameter_allgemein"></a>3.1
+ Allgemeine Konfiguration</h3>
<p>Die Allgemeine Konfiguration des Modules MOA-ID-Auth umfasst alle nicht online-applikationsspezifischen Konfigurationsparameter. Die Konfiguration dieser Parameter erfolgt &uuml;ber eine Web-Oberfl&auml;che, welche Eingabefelder f&uuml;r jeden Konfigurationsparameter zur Verf&uuml;gung stellt. Jedes Eingabefeld wird validiert bevor der Konfigurationsparameter in der Datenbank gespeichert wird. Die Validierung erfolgt auf Basis des zu erwartenden Eingabewerts, wobei der erlaubte Zeichensatz f&uuml;r freidefinierbare textuelle Eingabefelder eingeschr&auml;nkt sein kann. Detailinformationen zum erlaubten Zeichen finden Sie bei der jeweiligen Beschreibung des Konfigurationsparameters. </p>
<p>Eine &Auml;nderung (Speicherung) an der allgemeinen Konfiguration wirkt sich nicht umgehend auf die zugeordnete MOA-ID-Auth Instanz aus, sondern erfolgt mit zeitlicher Verz&ouml;gerung. Die zeitliche Verz&ouml;gerung betr&auml;gt jedoch maximal eine Minute. Dass die ge&auml;nderte MOA-ID-Auth Konfiguration in der zugeordneten Instanz geladen wurde ist durch folgende Log Meldungen erkennbar.</p>
<pre>INFO | 19 10:25:23,179 | ConfigurationLoader | check for new config.<br>INFO | 19 10:25:23,189 | ConfigurationLoader | Read MOA-ID 2.0 configuration from database.<br>INFO | 19 10:25:23,192 | ConfigurationLoader | MOA-ID 2.0 is loaded.</pre>
<p>Nachfolgend finden Sie die Detailbeschreibung aller allgemeinen Konfigurationsparameter.</p>
-<h3><a name="konfigurationsparameter_allgemein_publicurlprefix" id="konfigurationsparameter_allgemein_bku17"></a>3.1.1 Public URL Prefix</h3>
+<h4><a name="konfigurationsparameter_allgemein_publicurlprefix" id="konfigurationsparameter_allgemein_bku17"></a>3.1.1 Public URL Prefix</h4>
<p>Dieser Parameter definiert den Public URL Prefix unter welchem die MOA-ID Instanz erreichbar ist. Die Konfiguration dieses Parameters ist verpflichtend.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="119" scope="col">Name</th>
- <th width="263" scope="col">Beispielwerte</th>
- <th width="843" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadGeneralConfig_moaconfig_ssoPublicUrl2">Public URL Prefix</span></td>
@@ -1147,13 +1150,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>URL-Prefix der MOA-ID Instanz. Diese URL wird f&uuml;r die automatische Generierung von Formularen und Informationen verwendet und MUSS konfiguriert werden.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_bku" id="konfigurationsparameter_allgemein_bku"></a>3.1.2 Default BKUs</h3>
+<h4><a name="konfigurationsparameter_allgemein_bku" id="konfigurationsparameter_allgemein_bku"></a>3.1.2 Default BKUs</h4>
<p>Hiermit werden die URLs zu den Default B&uuml;rgerkartenumgebungen (BKUs) definiert die von MOA-ID-Auth f&uuml;r einen Anmeldevorgang verwendet werden, wenn die B&uuml;rgerkartenauswahl nicht bereits auf Seiten der Online-Applikation erfolgt ist (siehe <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Request</a>) oder in der Online-Applikationskonfiguration keine BKU URLs konfiguriert wurden (siehe <a href="#konfigurationsparameter_oa_bku">Kapitel 3.2.2</a>).</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online BKU</td>
@@ -1171,15 +1174,15 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>URL auf die lokale BKU Instanz</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sl-templates" id="konfigurationsparameter_allgemein_bku2"></a>3.1.3 Security-Layer Request Templates</h3>
+<h4><a name="konfigurationsparameter_allgemein_sl-templates" id="konfigurationsparameter_allgemein_bku2"></a>3.1.3 Security-Layer Request Templates</h4>
<p>Security-Layer (SL) Templates dienen der Kommunikation mit der gew&auml;hlten B&uuml;rgerkartenumgebung. Die hier hinterlegen SL-Templates werden f&uuml;r die Kommunikation mit der jeweiligen BKU verwendet. N&auml;here Details zum Aufbau dieser SL-Templates finden Sie im <a href="#import_template_sltemplate">Kapitel 4.3</a>. </p>
<p>Die Lage der Templates wird in Form einer URL beschrieben, wobei sowohl lokale Referenzen als der Bezug &uuml;ber http(s) m&ouml;glich sind. Relative Pfadangaben werden dabei relativ zum Verzeichnis, in dem sich die MOA-ID-Auth Basiskonfigurationsdatei befindet, interpretiert. Bei Templates die &uuml;ber das Protokoll https referenziert werden, muss vor dem Start des Tomcat ein Truststore angegeben werden, das die notwendigen vertrauensw&uuml;rdigen Zertifikate enth&auml;lt.</p>
<p><strong>Hinweis:</strong> Diese hier definierten Templates dienen als zus&auml;tzliche WhiteList f&uuml;r Templates welche im &bdquo;StartAuthentication&ldquo; Request mit dem Parameter &bdquo;template&ldquo; &uuml;bergeben werden. Sollte im &bdquo;StartAuthentication&ldquo; Request der Parameter &bdquo;template&ldquo; fehlen, es wurde jedoch eine &bdquo;bkuURL&ldquo; &uuml;bergeben, dann wird f&uuml;r den Authentifizierungsvorgang ein bei der <a href="#konfigurationsparameter_oa_bku">Online Applikation konfiguriertes Tempalte</a> oder als Backup das erste Template in dieser Liste verwendet. Detailinformationen zum <a href="./../protocol/protocol.html#allgemeines_legacy">Legacy Request</a> finden Sie im Kapitel Protokolle.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online BKU</td>
@@ -1197,13 +1200,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<td>SL Template zur Kommunikation mit einer lokalen BKU Instanz</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_certvalidation" id="konfigurationsparameter_allgemein_bku3"></a>3.1.4 Zertifikatspr&uuml;fung</h3>
+<h4><a name="konfigurationsparameter_allgemein_certvalidation" id="konfigurationsparameter_allgemein_bku3"></a>3.1.4 Zertifikatspr&uuml;fung</h4>
<p>Dieser Bereich behandelt die allgemeine Einstellungen zur Zertifikatspr&uuml;fung und die Konfiguration von vertrauensw&uuml;rdigen Zertifikaten.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="89" scope="col">Name</th>
- <th width="314" scope="col">Beispielwert</th>
- <th width="822" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>CertStoreDirecorty</td>
@@ -1227,12 +1230,12 @@ Checking</td>
<td>ChainingMode definiert, ob bei der Zertifikatspfad-&uuml;berpr&uuml;fung das Kettenmodell (&quot;chaining&quot;) oder das Modell nach PKIX RFC 3280 (&quot;pkix&quot;) verwendet werden soll. </td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_timeouts" id="konfigurationsparameter_allgemein_bku4"></a>3.1.5 Session TimeOuts</h3>
-<table width="1247" border="1">
+<h4><a name="konfigurationsparameter_allgemein_timeouts" id="konfigurationsparameter_allgemein_bku4"></a>3.1.5 Session TimeOuts</h4>
+<table class="configtable">
<tr>
- <th width="174" scope="col">Name</th>
- <th width="130" scope="col">Beispielwert [sec]</th>
- <th width="921" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert [sec]</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Anmeldedaten</td>
@@ -1255,14 +1258,14 @@ Checking</td>
<td>Gibt die Zeitspanne in Sekunden an, die eine Single Sign-On (SSO) Session seit dem letzten Zugriff (Anmeldevorgang) ausgehend g&uuml;ltig ist. Nach Ablauf dieser Zeitspanne muss sich die Benutzerin oder der Benutzer bei einer erneuten Anmeldung neu authentifizieren.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_moasp" id="konfigurationsparameter_allgemein_bku5"></a>3.1.6 MOA-SP</h3>
+<h4><a name="konfigurationsparameter_allgemein_moasp" id="konfigurationsparameter_allgemein_bku5"></a>3.1.6 MOA-SP</h4>
<p>Der Abschnitt MOA-SP Konfiguration enth&auml;lt Parameter zur Nutzung von MOA-SP. MOA-SP wird f&uuml;r die &Uuml;berpr&uuml;fung der Signatur der Personenbindung und des AUTH-Blocks verwendet.</p>
<p>MOA-SP muss entsprechend konfiguriert werden - siehe hierzu Abschnitt <a href="#sp-config"> Konfiguration von MOA-SP</a>. Alle Details zur Konfiguration von MOA-SP finden sie in der Distribution von MOA-SP/SS beiliegenden Dokumentation im Abschnitt 'Konfiguration'. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="164" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="893" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Personenbindung Trustprofil</td>
@@ -1286,13 +1289,13 @@ Checking</td>
<strong>Hinweis:</strong> Wird kein <em>MOA-SP Service URL</em> angegeben so wird eine MOA-ID beiliegende Version von MOA-SP direkt &uuml;ber das Java-API angesprochen. In diesem Fall muss das System-Property auf die verwendete Konfigurationsdatei von MOA-SP gesetzt werden. Eine beispielhafte MOA-SP Konfigurationsdatei ist in <em>$MOA_ID_INST_AUTH/conf/moa-spss/SampleMOASPSSConfiguration.xml </em>enthalten. </td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_services" id="konfigurationsparameter_allgemein_bku6"></a>3.1.7 Externe Services</h3>
+<h4><a name="konfigurationsparameter_allgemein_services" id="konfigurationsparameter_allgemein_bku6"></a>3.1.7 Externe Services</h4>
<p>Hiermit werden die URLs zum Online-Vollmachten Service und zum SZR-Gateway konfiguriert. Die Konfiguration der f&uuml;r den Zugriff ben&ouml;tigen Client-Zertifikate wurden bereits im Abschnitt <a href="#basisconfig_moa_id_auth_param_services">2.2.2.2</a> behandelt.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="147" scope="col">Name</th>
- <th width="360" scope="col">Beispielwert</th>
- <th width="718" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadGeneralConfig_moaconfig_mandateURL">Online-Vollmachten Service</span></td>
@@ -1314,7 +1317,7 @@ Checking</td>
</ul></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sso" id="konfigurationsparameter_allgemein_bku7"></a>3.1.8 Single-Sign On (SSO)</h3>
+<h4><a name="konfigurationsparameter_allgemein_sso" id="konfigurationsparameter_allgemein_bku7"></a>3.1.8 Single-Sign On (SSO)</h4>
<p>In der SSO Konfiguration muss angegeben werden in welchem Bereich (&ouml;ffentlicher oder privatwirtschaftlicher Bereich) die MOA-ID-Auth Instanz betrieben wird. Je nach dem zu welchem Bereich die Instanz zugeordnet ist ergibt sich ein unterschiedlicher Funktionsumfang der SSO Funktionalit&auml;t.</p>
<ol>
<li><strong>&Ouml;ffentlicher Bereich:</strong> Die MOA-ID-Auth Instanz ist einem &ouml;ffentlichen Bereich f&uuml;r SSO zugeordnet. In diesem Fall k&ouml;nnen sowohl &ouml;ffentlichen als auch privatwirtschaftliche Applikationen diese MOA-ID-Auth Instanz f&uuml;r eine Anmeldung mittels SSO Nutzen. Eine Zuordnung in den &ouml;ffentlichen Bereich ist jedoch nur dann M&ouml;glich wenn mindestens eine der folgenden Anforderungen erf&uuml;llt ist.
@@ -1331,11 +1334,11 @@ Checking</td>
<li><strong>Privatwirtschaftlicher Bereich:</strong><strong></strong> Die MOA-ID-Auth Instanz ist einem privatwirtschaftlichen Bereich f&uuml;r SSO zugeordnet, steht SSO nur eingeschr&auml;nkt zur Verf&uuml;gung. Da laut E-Governmentgesetz die Errechnung eines wbPK aus der Stammzahl nicht beim Auftraggeber eines privaten Bereichs durchgef&uuml;hrt werden darf (vgl. E-Government Gesetz &sect;12(1).4), und deshalb an die B&uuml;rgerkartenumgebung ausgelagert werden muss. In diesem Fall sind Anmeldungen mittels SSO nur f&uuml;r jenen privatwirtschaftlichen Bereich m&ouml;glich dem auch der SSO Bereich zugeordnet wurde. </li>
</ol>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="101" scope="col">Name</th>
- <th width="281" scope="col">Beispielwerte</th>
- <th width="843" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p><span id="wwlbl_loadGeneralConfig_moaconfig_ssoFriendlyName">SSO Service Name</span></p></td>
@@ -1371,13 +1374,13 @@ Checking</td>
<p><em>Ich Max Mustermann, geboren am 01.01.1978 stimme am 05.02.2014 um 10:35 einer Anmeldung mittels Single Sign-On zu.</em></p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_stork" id="konfigurationsparameter_allgemein_bku8"></a>3.1.8 Secure idenTity acrOss boRders linKed (STORK)</h3>
-<p>Hierbei werden allgemeine Parameter für STORK Protokoll konfiguriert.</p>
-<table width="1247" border="1">
+<h4><a name="konfigurationsparameter_allgemein_stork" id="konfigurationsparameter_allgemein_bku8"></a>3.1.8 Secure idenTity acrOss boRders linKed (STORK)</h4>
+<p>Hierbei werden allgemeine Parameter f\FCr STORK Protokoll konfiguriert.</p>
+<table class="configtable">
<tr>
- <th width="201" scope="col">Name</th>
- <th width="460" scope="col">Beispielwerte</th>
- <th width="944" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Standard QAA-Level</td>
@@ -1387,26 +1390,26 @@ Checking</td>
<tr>
<td>Country Code</td>
<td>ES</td>
- <td>Der zweistelligen Code vom unterstützten PEPS-Staat.</td>
+ <td>Der zweistelligen Code vom unterst\FCtzten PEPS-Staat.</td>
</tr>
<tr>
<td>PEPS URL</td>
<td>https://prespanishpeps.redsara.es/PEPS/ColleagueRequest</td>
- <td>Die Adresse von PEPS eines unterstützten PEPS-Staat.</td>
+ <td>Die Adresse von PEPS eines unterst\FCtzten PEPS-Staat.</td>
</tr>
<tr>
<td>Attributname</td>
<td>eIdentifier</td>
- <td>Der Name des unterstützten Attributes. Die als <span class="term">zwingend</span> markierte Attribute müssen im Response von dem gegenstehendem PEPS enthalten sein. Jedes Attribut wird gesondert eingetragen. <br/>Die Liste von vorhandenen und unterstützen Attributes ist in Konfigurationsdatei von SamlEngine <span class="term">(StorkSamlEngine_XXX.xml)</span> vorhanden. </td>
+ <td>Der Name des unterst\FCtzten Attributes. Die als <span class="term">zwingend</span> markierte Attribute m\FCssen im Response von dem gegenstehendem PEPS enthalten sein. Jedes Attribut wird gesondert eingetragen. <br/>Die Liste von vorhandenen und unterst\FCtzen Attributes ist in Konfigurationsdatei von SamlEngine <span class="term">(StorkSamlEngine_XXX.xml)</span> vorhanden. </td>
</tr>
</table>
<p>&nbsp;</p>
<p>Folgende PEPS URLs stehen aktuell zur Verf&uuml;gung:</p>
-<table width="1243" border="1">
+<table class="configtable">
<tr>
- <th width="133" scope="col">L&auml;ndercode</th>
- <th width="87" scope="col">TestInstanz</th>
- <th width="1001" scope="col">URL</th>
+ <th>L&auml;ndercode</th>
+ <th>TestInstanz</th>
+ <th>URL</th>
</tr>
<tr>
<td>AT </td>
@@ -1456,12 +1459,12 @@ Checking</td>
</table>
<p>&nbsp;</p>
<p>Folgende Attribute m&uuml;ssen jedoch mindestens angefordert werden, wobei die erforderlichen Attribute je nach Anmeldeart unterschiedlich sind. Eine Liste mit weiteren m&ouml;glichen Attribute finden Sie im Kapitel <a href="./../protocol/protocol.html#allgemeines_attribute">Protokolle</a> oder in der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p>
-<table width="1251" border="1">
+<table class="configtable">
<tr>
- <th width="145" scope="col">Name</th>
- <th width="106" scope="col">nat&uuml;rliche Person</th>
- <th width="102" scope="col">Anmeldung in Vertretung</th>
- <th width="870" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>nat&uuml;rliche Person</th>
+ <th>Anmeldung in Vertretung</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>eIdentifier</td>
@@ -1532,20 +1535,20 @@ Checking</td>
</tr>
</table>
<p></p>
-<h3><a name="konfigurationsparameter_allgemein_protocol" id="konfigurationsparameter_allgemein_bku9"></a>3.1.9 Protokolle</h3>
+<h4><a name="konfigurationsparameter_allgemein_protocol" id="konfigurationsparameter_allgemein_bku9"></a>3.1.9 Protokolle</h4>
<p>Hierbei handelt es ich um allgemeine Einstellungen zu den vom Modul MOA-ID-Auth unterst&uuml;tzen Authentifizierungsprotokollen.</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_allowed" id="konfigurationsparameter_allgemein_bku10"></a>3.1.10.1 Protokolle aktivieren</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_allowed" id="konfigurationsparameter_allgemein_bku10"></a>3.1.10.1 Protokolle aktivieren</h5>
<p>In diesem Abschnitt k&ouml;nnen die einzelnen von MOA-ID-Auth unterst&uuml;tzen Authentifizierungsprotokolle aktiviert oder deaktiviert werden. Diese Einstellung gilt f&uuml;r die gesamte MOA-ID-Auth Instanz.</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_legacy" id="konfigurationsparameter_allgemein_bku11"></a>3.1.10.2 Legacy Modus</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_legacy" id="konfigurationsparameter_allgemein_bku11"></a>3.1.10.2 Legacy Modus</h5>
<p>Ab der Version 2.0 des Modules MOA-ID-Auth wird die B&uuml;rgerkartenauswahl standardm&auml;&szlig;ig von MOA-ID-Auth bereitgestellt und erfolgt im Kontext von MOA-ID-Auth. Dem zu Folge m&uuml;ssen die aus MOA-ID 1.5.1 bekannten StartAuthentication Parameter (target, bkuURL, template, usemandate) nicht mehr im StartAuthentication Request &uuml;bergeben werden.</p>
Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der Online-Applikation erfolgen muss f&uuml;r das jeweilige Protokoll der Legacy Modus aktiviert werden. Wird der Legacy Modus verwendet m&uuml;ssen jedoch die bkuURL, das Security-Layer Template und der Target mit den bei MOA-ID-Auth hinterlegten Konfigurationsparametern der Online-Applikation &uuml;bereinstimmten. Detailinformationen hierzu finden Sie im Kapitel <a href="./../protocol/protocol.html#allgemeines_legacy">Protokolle</a>.
-<h4><a name="konfigurationsparameter_allgemein_protocol_saml1" id="konfigurationsparameter_allgemein_bku12"></a>3.1.10.3 SAML1 Konfiguration</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_saml1" id="konfigurationsparameter_allgemein_bku12"></a>3.1.10.3 SAML1 Konfiguration</h5>
<p>Die SourceID ist ein Teil des SAML1 Artifacts welches zur Abholung der SAML1 Assertion an die Online-Applikation zur&uuml;ckgegeben wird. Standardm&auml;&szlig;ig wird die SourceID aus der URL der jeweiligen Online-Applikation, an der die Anmeldung stattfinden, generiert. Optional kann jedoch eine SourceID f&uuml;r die gesamte MOA-ID-Auth Instanz vergeben werden, welche f&uuml;r alle Online-Applikationen verwendet wird.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="101" scope="col">Name</th>
- <th width="180" scope="col">Beispielwerte</th>
- <th width="944" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>SourceID</td>
@@ -1554,14 +1557,14 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
<p>&nbsp;</p>
-<h4><a name="konfigurationsparameter_allgemein_protocol_pvp21" id="konfigurationsparameter_allgemein_bku13"></a>3.1.10.4 PVP2.1 Konfiguration</h4>
+<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21" id="konfigurationsparameter_allgemein_bku13"></a>3.1.10.4 PVP2.1 Konfiguration</h5>
<p>Die allgemeinen Konfigurationsparameter f&uuml;r das Authentifizierungsprotokoll PVP2.1 behandeln Informationen zum Betreiber der MOA-ID-Auth Instanz und zu einer Ansprechperson f&uuml;r diese Instanz. Diese Parameter werden in den PVP2.1 Metadaten, die von MOA-ID-Auth f&uuml;r Online-Applikation (Service Providern) bereitgestellt werden, eingetragen.</p>
-<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21_org" id="konfigurationsparameter_allgemein_bku15"></a>3.1.10.4.1 Betreiberorganisation</h5>
-<table width="1247" border="1">
+<h6><a name="konfigurationsparameter_allgemein_protocol_pvp21_org" id="konfigurationsparameter_allgemein_bku15"></a>3.1.10.4.1 Betreiberorganisation</h6>
+<table class="configtable">
<tr>
- <th width="210" scope="col">Name</th>
- <th width="192" scope="col">Beispielwert</th>
- <th width="823" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p>PVP Service Name</p></td>
@@ -1584,12 +1587,12 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>URL zu einer Seite mit Informationen der Organisation welche die MOA-ID-Auth Instanz betreibt. Dieser Parameter wird in den Metadaten im Element <em>md:Organization</em>/<em>md:OrganizationURL</em> angezeigt.</td>
</tr>
</table>
-<h5><a name="konfigurationsparameter_allgemein_protocol_pvp21_contact" id="konfigurationsparameter_allgemein_bku16"></a>3.1.10.4.2 Kontaktperson</h5>
-<table width="1247" border="1">
+<h6><a name="konfigurationsparameter_allgemein_protocol_pvp21_contact" id="konfigurationsparameter_allgemein_bku16"></a>3.1.10.4.2 Kontaktperson</h6>
+<table class="configtable">
<tr>
- <th width="164" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="893" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Familienname</td>
@@ -1630,19 +1633,19 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<p>Dieser Name wird in den Metadaten im Element <em>md:ContactPerson</em>als Attribut <em>contactType</em> angezeigt.</p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_allgemein_sltransform" id="konfigurationsparameter_allgemein_bku14"></a>3.1.11 Security-Layer Transformationen</h3>
+<h4><a name="konfigurationsparameter_allgemein_sltransform" id="konfigurationsparameter_allgemein_bku14"></a>3.1.11 Security-Layer Transformationen</h4>
<p>Die Security-Layer (SL) Transformation, welche von MOA-ID-Auth f&uuml;r die Erstellung der Signatur des AuthBlock verwendet werden soll, muss hier angegeben werden. &Uuml;ber das Datei-Upload Feld kann die zu verwendende Transformation hochgeladen werden. Diese befindet sich in der MOA-ID-Auth Defaultkonfiguration im Ordner <em><a href="./../../../conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE_2.0.xml">/conf/moa-id/transforms/ TransformsInfoAuthBlockTable_DE_2.0.xml</a></em>.</p>
-<h2><a name="konfigurationsparameter_oa" id="uebersicht_zentraledatei_aktualisierung3"></a>3.2 Online Applikationen</h2>
+<h3><a name="konfigurationsparameter_oa" id="uebersicht_zentraledatei_aktualisierung3"></a>3.2 Online Applikationen</h3>
<p>Die Konfiguration von Online-Applikationen erfolgt ebenfalls mit Hilfe des Moduls MOA-ID-Configuration. Es k&ouml;nnen sowohl neue Online-Applikationen erstellt als auch bestehende Online-Applikationen bearbeitet oder gel&ouml;scht werden. Der erlaubte Konfigurationsumfang h&auml;ngt jedoch von Role des aktuellen Benutzers ab, wobei eine Konfiguration der gesamten Parameter nur einem Benutzer mit der Role <em>admin</em> m&ouml;glich ist. Alle Konfigurationsfelder die nur einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung stehen sind gesondert gekennzeichnet.</p>
-<h3><a name="konfigurationsparameter_oa_general" id="uebersicht_zentraledatei_aktualisierung17"></a>3.2.1 Informationen zur Online-Applikation (Service Provider)</h3>
+<h4><a name="konfigurationsparameter_oa_general" id="uebersicht_zentraledatei_aktualisierung17"></a>3.2.1 Informationen zur Online-Applikation (Service Provider)</h4>
<p>Dieser erste Abschnitt behandelt allgemeine Parameter zur Online-Applikation.</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -1674,15 +1677,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Definiert ob die Online-Applikation dem &ouml;ffentlichen Bereich oder dem privatwirtschaftlichen Bereich (Business Service) zugeordnet ist. Ja nach Bereich sind unterschiedliche Konfigurationsparameter erforderlich.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_general_public" id="uebersicht_zentraledatei_aktualisierung18"></a>3.2.1.1 &Ouml;ffentlicher Bereich</h4>
+<h5><a name="konfigurationsparameter_oa_general_public" id="uebersicht_zentraledatei_aktualisierung18"></a>3.2.1.1 &Ouml;ffentlicher Bereich</h5>
<p>Wurde die Online-Applikation einem &ouml;ffentlichen Bereich zugeordnet muss in weiterer Folge der zugeordnete Bereich definiert werden. Hierf&uuml;r stehen folgende Parameter zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="123" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="789" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_generalOA_target">Bereich (Target)</span></td>
@@ -1717,7 +1720,7 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</ul>
</li>
</ul>
-<h4><a name="konfigurationsparameter_oa_general_business" id="uebersicht_zentraledatei_aktualisierung19"></a>3.2.1.2 Privatwirtschaftlicher Bereich</h4>
+<h5><a name="konfigurationsparameter_oa_general_business" id="uebersicht_zentraledatei_aktualisierung19"></a>3.2.1.2 Privatwirtschaftlicher Bereich</h5>
<p>Wurde die Online-Applikation einem privatwirtschaftlichen Bereich zugeordnet muss in weiterer Folge die Stammzahl des privatwirtschaftlichen Unternehmens angegeben werden. Die Stammzahl des &ouml;ffentlichen Bereichs muss mit dem entsprechenden Prefix des Bereichs angegeben werden, wobei der Prefix aus einer vorgegebenen Liste gew&auml;hlt werden muss. </p>
<ul>
<li>FN: Die Stammzahl ist eine Firmenbuchnummer. (Beispiel: <em>FN468924i</em>)</li>
@@ -1725,13 +1728,13 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<li>ERSB: Die Stammzahl ist einer Kennzahl aus dem Erg&auml;nzungsregister f&uuml;r sonstige Betroffene (ERsB) (Beispiel: ERSB1425367879)</li>
<li>STORK: L&auml;ndercode dem der Service Provider zugeordnet werden kann. Wird f&uuml;r die Ableitung des STORK-eIdentifiers verwendet.</li>
</ul>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="123" scope="col">Name</th>
- <th width="204" scope="col">Beispielwerte</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="789" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwerte</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_generalOA_identificationType">Identifikationsnummer</span></td>
@@ -1745,15 +1748,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_bku" id="uebersicht_zentraledatei_aktualisierung20"></a>3.2.2 BKU Konfiguration</h3>
+<h4><a name="konfigurationsparameter_oa_bku" id="uebersicht_zentraledatei_aktualisierung20"></a>3.2.2 BKU Konfiguration</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zum Anmeldeprozess. Diese Einstellungen stehen jedoch nur einer Benutzerin oder einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung.</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="168" scope="col">Name</th>
- <th width="189" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_bkuOnlineURL">Online BKU</span></td>
@@ -1807,15 +1810,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Dieses Feld erlaubt die Konfiguration eines online-applikationsspezifischen Templates f&uuml;r die zus&auml;tzliche Anmeldeabfrage im Falle einer Single Sign-On Anmeldung. Dieses Template muss in die Konfiguration hochgeladen werden und muss die Mindestanforderungen aus <a href="#import_template_sso">Kapitel 4.2</a> umsetzen. Da diese Templates direkt in den Authentifizierungsprozess eingreifen und diese somit eine potentielle Angriffsstelle f&uuml;r Cross-Site Scripting (XSS) bieten wird die Verwendung von online-applikationsspezifischen Templates nicht empfohlen.</td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_testcredentials" id="uebersicht_zentraledatei_aktualisierung10"></a> 3.2.3 Test Identit&auml;ten</h3>
+<h4><a name="konfigurationsparameter_oa_testcredentials" id="uebersicht_zentraledatei_aktualisierung10"></a> 3.2.3 Test Identit&auml;ten</h4>
<p>In diesem Abschnitt k&ouml;nnen f&uuml;r diese Online-Applikation Testidentit&auml;ten erlaubt werden. Diese Testidentit&auml;ten k&ouml;nnen auch bei produktiven Instanzen freigeschalten werden, da die Unterschiedung zwischen Produkt- und Testidentit&auml;t anhand einer speziellen OID im Signaturzertifikat der Testidentit&auml;t getroffen wird. Folgende Konfigurationsparameter stehen hierf&uuml;r zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_useMandates2">Testidentit&auml;ten erlauben</span></td>
@@ -1835,15 +1838,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Diese Funktionalit&auml;t steht jedoch nur Testidentit&auml;ten welchen bereits mit einer Test OID im Signaturzertifikat ausgestattet sind zur Verf&uuml;gung.</p>
-<h3><a name="konfigurationsparameter_oa_mandates" id="uebersicht_zentraledatei_aktualisierung21"></a>3.2.4 Vollmachten</h3>
+<h4><a name="konfigurationsparameter_oa_mandates" id="uebersicht_zentraledatei_aktualisierung21"></a>3.2.4 Vollmachten</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zur Anmeldung mittels Online-Vollmachen.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_newOA_generalOA_useMandates">Vollmachten (ja/nein)</span></td>
@@ -1869,15 +1872,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Werden f&uuml;r die Online-Applikation eigene Templates f&uuml;r die B&uuml;rgerkartenauswahl oder die zus&auml;tzliche Anmeldeabfrage im SSO Fall (siehe <a href="#konfigurationsparameter_oa_bku">Abschnitt 3.2.2</a>) verwendet, stehen alle Konfigurationsparameter die Einfluss auf die BKU-Auswahl haben nicht zur Verf&uuml;gung. Die Funktionalit&auml;t der entsprechenden Parameter hat jedoch weiterhin Einfluss auf den Anmeldevorgang.</p>
-<h3><a name="konfigurationsparameter_oa_sso" id="uebersicht_zentraledatei_aktualisierung22"></a>3.2.5 Single Sign-On (SSO)</h3>
+<h4><a name="konfigurationsparameter_oa_sso" id="uebersicht_zentraledatei_aktualisierung22"></a>3.2.5 Single Sign-On (SSO)</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zu Single Sign-On</p>
-<table width="1248" border="1">
+<table class="configtable">
<tr>
- <th width="168" scope="col">Name</th>
- <th width="189" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_OAuseSSO">Single Sign-On verwenden</span></td>
@@ -1896,14 +1899,14 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<p><strong>Hinweis:</strong> Diese Abfrage ist standardm&auml;&szlig;ig aktiviert und kann nur durch einen Benutzer mit der Role <em>admin</em> deaktiviert werden.</p></td>
</tr>
</table>
-<h3><a name="konfigurationsparameter_oa_stork" id="uebersicht_zentraledatei_aktualisierung23"></a>3.2.6 Secure idenTity acrOss boRders linKed (STORK)</h3>
+<h4><a name="konfigurationsparameter_oa_stork" id="uebersicht_zentraledatei_aktualisierung23"></a>3.2.6 Secure idenTity acrOss boRders linKed (STORK)</h4>
<p>Dieser Abschnitt behandelt Online-Applikationsspezifische Einstellungen zu STORK.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="68" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>STORK verwenden</td>
@@ -1934,18 +1937,18 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Werden f&uuml;r die Online-Applikation eigene Templates f&uuml;r die B&uuml;rgerkartenauswahl oder die zus&auml;tzliche Anmeldeabfrage im SSO Fall (siehe <a href="#konfigurationsparameter_oa_bku">Abschnitt 3.2.2</a>) verwendet, stehen alle Konfigurationsparameter die Einfluss auf die BKU-Auswahl haben nicht zur Verf&uuml;gung.</p>
-<h3><a name="konfigurationsparameter_oa_protocol" id="uebersicht_zentraledatei_aktualisierung24"></a>3.2.7 Authentifizierungsprotokolle</h3>
+<h4><a name="konfigurationsparameter_oa_protocol" id="uebersicht_zentraledatei_aktualisierung24"></a>3.2.7 Authentifizierungsprotokolle</h4>
<p>Dieser Abschnitt behandelt online-applikationsspezifische Einstellungen zu den von der Online-Applikation unterst&uuml;tzen Authentifizierungsprotokollen. Eine Verwendung aller zur Verf&uuml;gung stehender Authentifizierungsprotokolle durch die Online-Applikation ist ebenfalls m&ouml;glich. Hierf&uuml;r m&uuml;ssen nur alle ben&ouml;tigten Protokolle konfiguriert werden. N&auml;here Informationen zu den unterst&uuml;tzten Protokollen finden sie im Kapitel <a href="./../protocol/protocol.html">Protokolle</a>.</p>
<p>Aus Gr&uuml;nden der &Uuml;bersichtlichkeit kann der Konfigurationsbereich f&uuml;r jeden Protokoll, in der Web-Oberfl&auml;che des Konfigurationstools, ein- oder ausgeblendet werden.</p>
-<h4><a name="konfigurationsparameter_oa_protocol_saml1" id="uebersicht_zentraledatei_aktualisierung25"></a>3.2.7.1 SAML1</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_saml1" id="uebersicht_zentraledatei_aktualisierung25"></a>3.2.7.1 SAML1</h5>
<p>F&uuml;r das Protokoll SAML1 stehen folgende Konfigurationsparameter zur Verf&uuml;gung.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="43" scope="col">Admin</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadOA_saml1OA_Active">SAML1 aktivieren</span></td>
@@ -1992,15 +1995,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</table>
<p>&nbsp;</p>
<p><strong>Hinweis: </strong>Das Modul MOA-ID-Auth in der Version 2.0 unterst&uuml;tzt SAML1 nur mehr zur Abw&auml;rtskompatibilit&auml;t mit bereits bestehenden Online-Applikationen. Wir empfehlen den Umstieg auf ein anderes, von MOA-ID-Auth unterst&uuml;tztes, Authentifizierungsprotokoll. Aus diesem Grund steht die Konfiguration des SAML1 Protokolls nur mehr einer Benutzerin oder einem Benutzer mit der Role <em>admin</em> zur Verf&uuml;gung.</p>
-<h4><a name="konfigurationsparameter_oa_protocol_pvp21" id="uebersicht_zentraledatei_aktualisierung26"></a>3.2.7.2 PVP 2.1</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_pvp21" id="uebersicht_zentraledatei_aktualisierung26"></a>3.2.7.2 PVP 2.1</h5>
<p>In diesem Bereich erfolgt die applikationsspezifische Konfiguration f&uuml;r das Authentifizierungsprotokoll PVP 2.1.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="326" scope="col">Beispielwert</th>
- <th width="59" scope="col">Admin</th>
- <th width="60" scope="col">Optional</th>
- <th width="684" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Neu Laden</td>
@@ -2015,7 +2018,7 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td>URL unter der die MOA-ID-Auth Instanz die Metadaten der Online-Applikation beziehen kann. Diese Metadaten m&uuml;ssen durch die Online-Applikation signiert sein. F&uuml;r den Fall das die Metadaten &uuml;ber https abgeholt werden, muss das jeweilige Serverzertifikat zur Zertifikatspr&uuml;fung im <a href="../install/install.html#webservice_basisinstallation_installation_spssdeploy">TrustStore der MOA-ID-Auth Instanz</a> hinterlegt sein. Die Metadaten werden anschlie&szlig;end durch MOA-ID-Auth innerhalb des in den Metadaten angegebenen G&uuml;ltigkeitszeitraums automatisch aktualisiert. Das Aktualisierungsintervall bei automatischer Aktualisierung betr&auml;gt jedoch mindestens 15 Minuten jedoch nicht mehr als 24 Stunden. (Intervall: 15min &lt; Aktualisierungszeitpunkt &lt; 24 Stunden)
- <p><b>Hinweis:</b> Metadaten können nur über http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht möglich.</p></td>
+ <p><b>Hinweis:</b> Metadaten k\F6nnen nur \FCber http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht m\F6glich.</p></td>
</tr>
<tr>
<td>Infos zum Zertifikat</td>
@@ -2033,15 +2036,15 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>Zertifikat mit dem die Metadaten der Online-Applikation signiert sind. Dieses wird ben&ouml;tigt um die Metadaten zu verifizieren.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_protocol_openIDConnect" id="uebersicht_zentraledatei_aktualisierung27"></a>3.2.7.3 OpenID Connect</h4>
+<h5><a name="konfigurationsparameter_oa_protocol_openIDConnect" id="uebersicht_zentraledatei_aktualisierung27"></a>3.2.7.3 OpenID Connect</h5>
<p>In diesem Bereich erfolgt die applikationsspezifische Konfiguration f&uuml;r OpenID Connect (OAuth 2.0). </p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">Admin</th>
- <th width="64" scope="col">Optional</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Client ID</td>
@@ -2065,17 +2068,17 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<td>OpenID Connect Redirect URL. Nach erfolgreicher Authentifizierung wird die Benutzerin oder der Benutzer an diese URL zur&uuml;ckgeleitet.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_additional" id="uebersicht_zentraledatei_aktualisierung28"></a>3.2.8 Zus&auml;tzliche allgemeine Einstellungen</h4>
-<p>In Abschnitt ermöglicht eine erweiterte online-applikationsspezifische Individualisierung des AuthBlocks und der Bürgerkartenauswahl.
- Die Individualisierung des AuthBlocks steht jedoch dann zur Verfügung wenn die dem Module MOA-ID-Auth beigelegte Security-Layer Transformation verwendet wird oder
+<h5><a name="konfigurationsparameter_oa_additional" id="uebersicht_zentraledatei_aktualisierung28"></a>3.2.8 Zus&auml;tzliche allgemeine Einstellungen</h5>
+<p>In Abschnitt erm\F6glicht eine erweiterte online-applikationsspezifische Individualisierung des AuthBlocks und der B\FCrgerkartenauswahl.
+ Die Individualisierung des AuthBlocks steht jedoch dann zur Verf\FCgung wenn die dem Module MOA-ID-Auth beigelegte Security-Layer Transformation verwendet wird oder
wenn die individuelle Security-Layer Transformation den Formvorschriften der Spezifikation entspricht.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">Admin</th>
- <th width="64" scope="col">Optional</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Admin</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>AuthblockText</td>
@@ -2097,71 +2100,71 @@ wenn die individuelle Security-Layer Transformation den Formvorschriften der Sp
<td>&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Wird diese Option gewählt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
+ <td>Wird diese Option gew\E4hlt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
</tr>
</table>
-<h4><a name="konfigurationsparameter_oa_additional_formular" id="uebersicht_zentraledatei_aktualisierung29"></a>3.2.8.1 Login-Fenster Konfiguration</h4>
-<p>Diese Konfigurationsparameter bieten zusätzliche Einstellungen für eine Anpassung der Bürgerkartenauswahl welche von MOA-ID-Auth generiert wird.
+<h5><a name="konfigurationsparameter_oa_additional_formular" id="uebersicht_zentraledatei_aktualisierung29"></a>3.2.8.1 Login-Fenster Konfiguration</h5>
+<p>Diese Konfigurationsparameter bieten zus\E4tzliche Einstellungen f\FCr eine Anpassung der B\FCrgerkartenauswahl welche von MOA-ID-Auth generiert wird.
Zur besseren Handhabung werden die angegebenen Parameter direkt in einer Vorschau dargestellt.
-Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Bedarf durch Standardwerte ergänzt.
+Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Bedarf durch Standardwerte erg\E4nzt.
</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="87" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="58" scope="col">BKU-Auswahl</th>
- <th width="64" scope="col">SL-Template</th>
- <th width="786" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>BKU-Auswahl</th>
+ <th>SL-Template</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Hintergrundfarbe</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">X</td>
- <td>Hintergrundfarbe der Bürgerkartenauswahl und Hintergrundfarbe des Java-Applets der Online-BKU (wird &uuml;ber den Security-Layer Request angegeben). Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Hintergrundfarbe der B\FCrgerkartenauswahl und Hintergrundfarbe des Java-Applets der Online-BKU (wird &uuml;ber den Security-Layer Request angegeben). Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
<td>Vordergrundfarbe</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Hintergrundfarbe Überschrift</td>
+ <td>Hintergrundfarbe \DCberschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Hintergrundfarbe der Überschrift der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Hintergrundfarbe der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Vordergrundfarbe Überschrift</td>
+ <td>Vordergrundfarbe \DCberschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der Überschrift der Bürgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Überschriftstext</td>
+ <td>\DCberschriftstext</td>
<td>Anmeldung</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Die hier angegebene Zeichenkette wird als Überschrift in der Bürgerkartenauswahl dargestellt. Es sind jedoch nur Buchstaben, Zahlen und Satzzeichen erlaubt.</td>
+ <td>Die hier angegebene Zeichenkette wird als \DCberschrift in der B\FCrgerkartenauswahl dargestellt. Es sind jedoch nur Buchstaben, Zahlen und Satzzeichen erlaubt.</td>
</tr>
<tr>
<td>Targetparameter</td>
<td>&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Mit diesem Parameter kann der Redirect-Target welcher im Security-Layer Request an die BKU übergeben wird definiert werden. Die möglichen Parameter sind äquivalent zum
+ <td>Mit diesem Parameter kann der Redirect-Target welcher im Security-Layer Request an die BKU \FCbergeben wird definiert werden. Die m\F6glichen Parameter sind \E4quivalent zum
html Attribut <i>target</i> (siehe <a href="#import_template_sltemplate">Kapitel 4.3</a>). </td>
</tr>
<tr>
- <td>Applethöhe</td>
+ <td>Appleth\F6he</td>
<td>220</td>
<td align="center">&nbsp;</td>
<td align="center">X</td>
- <td>Mit diesem Parameter kann die Höhe des Java-Applets der Online-BKU definiert werden. Dieser Parameter &uuml;berschreibt einen in der BKU-Auswahl &uuml;bergebenen Parameter (siehe <a href="#import_template_bku">Kapitel 3.4.1</a>).</td>
+ <td>Mit diesem Parameter kann die H\F6he des Java-Applets der Online-BKU definiert werden. Dieser Parameter &uuml;berschreibt einen in der BKU-Auswahl &uuml;bergebenen Parameter (siehe <a href="#import_template_bku">Kapitel 3.4.1</a>).</td>
</tr>
<tr>
<td>Appletbreite</td>
@@ -2175,27 +2178,27 @@ Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Beda
<td>&nbsp;</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Dieses Feld erlaubt die Auswahl der gewünschten Schriftart, welche für die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gewählt werden.</td>
+ <td>Dieses Feld erlaubt die Auswahl der gew\FCnschten Schriftart, welche f\FCr die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gew\E4hlt werden.</td>
</tr>
<tr>
<td>Formularschrifttyp (Textfeld)</td>
<td>&nbsp;</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Dieses Textfeld erlaubt die Konfiguration eine Liste von Schriftarten, welche für die BKU-Auswahl verwendet werden soll.
- Die Angabe erfolgt mittels einer durch &quot;<i>,&quot;</i> getrennten Liste, äquivalent zur Schriftartendefinition laut HTML Spezifikation</td>
+ <td>Dieses Textfeld erlaubt die Konfiguration eine Liste von Schriftarten, welche f\FCr die BKU-Auswahl verwendet werden soll.
+ Die Angabe erfolgt mittels einer durch &quot;<i>,&quot;</i> getrennten Liste, \E4quivalent zur Schriftartendefinition laut HTML Spezifikation</td>
</tr>
</table>
<p>&nbsp;</p>
-<p><strong>Hinweis:</strong> Bei Verwendung einer online-applikationsspezifischen Bürgerkartenauswahl stehen alle Parameter die die Bürgerkartenauswahl betreffen nicht zur Verfügung.</p>
-<p><strong>Hinweis:</strong> Bei Verwendung eines online-applikationsspezifischen Security-Layer-Request Templates stehen alle Parameter die das SL-Template betreffen nicht zur Verfügung.</p>
-<h4><a name="konfigurationsparameter_oa_additional_encbpk" id="uebersicht_zentraledatei_aktualisierung31"></a>3.2.8.2 Fremd-bPK Konfiguration</h4>
+<p><strong>Hinweis:</strong> Bei Verwendung einer online-applikationsspezifischen B\FCrgerkartenauswahl stehen alle Parameter die die B\FCrgerkartenauswahl betreffen nicht zur Verf\FCgung.</p>
+<p><strong>Hinweis:</strong> Bei Verwendung eines online-applikationsspezifischen Security-Layer-Request Templates stehen alle Parameter die das SL-Template betreffen nicht zur Verf\FCgung.</p>
+<h5><a name="konfigurationsparameter_oa_additional_encbpk" id="uebersicht_zentraledatei_aktualisierung31"></a>3.2.8.2 Fremd-bPK Konfiguration</h5>
<p>Dieser Konfigurationsparameter erm&ouml;glicht die Konfiguration eines Key Stores, welcher im Falle einer<a href="../interfederation/interfederation.html"> Anmeldung mittels Single Sign-On Interfederation</a> zur Entschl&uuml;sselung einer verschl&uuml;sselten Fremd-bPK verwendet werden soll. Hierf&uuml;r sind folgende Konfigurationsparameter notwenig.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="272" scope="col">Name</th>
- <th width="147" scope="col">Beispielwert</th>
- <th width="806" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>KeyStore hochladen</td>
@@ -2220,18 +2223,18 @@ Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Beda
</table>
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Diese Konfiguration ist jedoch nur n&ouml;tig wenn die f&uuml;r das Modul MOA-ID-Auth Interfederation verwendet und von weiteren Identity Providern in der Federation Fremd-bPKs &uuml;bermittelt werden welche bereits im Modul MOA-ID-Auth entschl&uuml;sselt werden sollen (z.B. bei Verwendung von SAML 1 als Authentifizierungsprotokoll). Bei Verwendung von PVP 2.1 und OpenID Connect kann die Fremd-bPK auch direkt an die Online Applikation weitergeben werden wodurch eine Entschl&uuml;sselung auf Seiten des Modules MOA-ID-Auth nicht zwingend notwendig ist.</p>
-<h2><a name="import_export" id="uebersicht_zentraledatei_aktualisierung4"></a>3.3 Import / Export</h2>
-<p>Über diese Funktionalität besteht die Möglichkeit eine bestehende MOA-ID 1.5.1
-Konfiguration in MOA-ID 2.0 zu importieren. Zusätzlich besteht die Möglichkeit eine MOA-ID-Auth 2.0
+<h3><a name="import_export" id="uebersicht_zentraledatei_aktualisierung4"></a>3.3 Import / Export</h3>
+<p>\DCber diese Funktionalit\E4t besteht die M\F6glichkeit eine bestehende MOA-ID 1.5.1
+Konfiguration in MOA-ID 2.0 zu importieren. Zus\E4tzlich besteht die M\F6glichkeit eine MOA-ID-Auth 2.0
Konfiguration in ein XML Dokument zu exportieren oder in eine bestehende MOA-ID-Auth 2.0
XML Konfiguration zu importieren. Eine exportierte MOA-ID-Auth 2.0 XML-Konfiguration kann auch direkt zur Konfiguration des Modules MOA-ID-Auth herangezogen werden (siehe <a href="#basisconfig_moa_id_auth_param_general">Kapitel 2.2.2.1</a>)</p>
<p><strong>Hinweis:</strong>
Zu beachten ist, dass bei einem Import die aktuell vorhandene
- Konfiguration vollständig gelöscht und durch die importierte Konfiguration ersetzt wird.
+ Konfiguration vollst\E4ndig gel\F6scht und durch die importierte Konfiguration ersetzt wird.
Es wird empfohlen ein Backup einer eventuell vorhandenen MOA-ID 2.0 Konfiguration
- zu erstellen, bevor eine neue Konfiguration importiert wird. Hierfür kann die
+ zu erstellen, bevor eine neue Konfiguration importiert wird. Hierf\FCr kann die
Exportfunktion verwendet werden.</p>
-<h3><a name="import_export_legacy" id="uebersicht_zentraledatei_aktualisierung5"></a>3.3.1 Import alter Konfigurationen (&lt;= MOA-ID 1.5.1)</h3>
+<h4><a name="import_export_legacy" id="uebersicht_zentraledatei_aktualisierung5"></a>3.3.1 Import alter Konfigurationen (&lt;= MOA-ID 1.5.1)</h4>
<p>Es besteht auch die M&ouml;glichkeit eine bestehende MOA-ID 1.5.1 Konfiguration zu importieren. Da nicht alle neuen Konfigurationsparameter automatisiert aus der MOA-ID 1.5.1 Konfiguration erstellt werden sind f&uuml;r den Importvorgang mehrere Schritte notwendig.</p>
<ol>
<li>Importieren einer bestehenden MOA-ID 1.5.1 Konfiguration mithilfe der Import Funktion des Modules MOA-ID-Configuration. Danach sollten sowohl die allgemeine Konfiguration als auch die Online-Applikationen eingetragen sein. </li>
@@ -2257,16 +2260,16 @@ Exportfunktion verwendet werden.</p>
</ol>
<h2><a name="import_template_" id="uebersicht_zentraledatei_Templates"></a>4 Templates</h2>
<p>Dieser Abschnitt spezifiziert den Mindestaufbau der Templates f&uuml;r die BKU Auswahl, die Single Sign-On Anmeldeabfrage und die Security-Layer Request Templates welche vo Module MOA-ID-Auth verwendet werden. Alle hier beschriebenen Templates werden durch MOA-ID-Auth geladen, erweitert und gegeben falls der Benutzerin oder dem Benutzer im Web-Browser dargestellt. Um einen korrekten Anmeldeprozess zu gew&auml;hrleisten m&uuml;ssen diese Templates mindestens folgende Formvorschriften und Strukturen aufweisen.</p>
-<h3><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 Bürgerkartenauswahl</h3>
+<h4><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 B\FCrgerkartenauswahl</h4>
<p>Das BKU Template dient im Anmeldeprozess der Auswahl der gew&uuml;nschten B&uuml;rgerkatenumgebung oder Handysignatur. Nach erfolgter Auswahl durch die Benutzer oder dem Benutzer wird diese an MOA-ID-Auth &uuml;bermittelt. </p>
<p><strong>Hinweis:</strong> In der Datei <em>./htmlTemplates/loginFormFull.html</em> welcher sich relativ zur <a href="#uebersicht_bekanntmachung">MOA-ID-Auth Konfigurationsdatei</a> befindet finden Sie das Standard Template welches f&uuml;r den Anmeldevorgang verwendet wird, wenn kein online-applikationsspezifisches Template hinterlegt wurde. Dieses Standard Template unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an.</p>
<p>F&uuml;r die &Uuml;bermittlung an MOA-ID-Auth ist ein http GET Request vorgesehen welcher folgende Parameter unterst&uuml;tzt. Die URL dieses http GET Request wird automatisiert &uuml;ber den Parameter &bdquo;#AUTH_URL#&ldquo; (ohne &bdquo;&ldquo;) eingetragen und muss nicht manuell hinterlegt werden. Folgende http GET Parameter werden f&uuml;r die BKU-Auswahl akzeptiert.</p>
-<table width="1201" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>bkuURI</td>
@@ -2313,11 +2316,11 @@ Exportfunktion verwendet werden.</p>
</table>
<p><br>
Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service-Provider sondern durch das Modul MOA-ID-Auth im Rahmen des Anmeldeprozesses automatisiert, an im Template gekennzeichneten Stellen, eingetragen. Folgende Platzhalter stehen zur Verf&uuml;gung und werden von MOA-ID-Auth durch die jeweiligen Werte ersetzt. Alle nicht als Optional gekennzeichneten Platzhalter m&uuml;ssen durch MOA-ID-Auth ersetzt werden.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>#AUTH_URL#</td>
@@ -2356,17 +2359,17 @@ Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service
&lt;/form&gt;
</pre>
<p>Als Beispiel f&uuml;r ein BKU-Auswahl Template steht auch das bei MOA-ID-Auth hinterlegte Standardtemplate zur Verf&uuml;gung. Dieses finden Sie <a href="../../htmlTemplates/BKU-selection.html">hier</a>. </p>
-<h3><a name="import_template_sso" id="uebersicht_zentraledatei_aktualisierung7"></a>4.2 Single Sign-On Anmeldeabfrage</h3>
+<h4><a name="import_template_sso" id="uebersicht_zentraledatei_aktualisierung7"></a>4.2 Single Sign-On Anmeldeabfrage</h4>
<p>Das Send-Assertion Template dient im Falle einer Anmeldung mittels Single Sign-On der Abfrage ob die Anmeldedaten an die betreffende Online Applikation &uuml;bertragen werden d&uuml;rfen. </p>
<p><strong>Hinweis:</strong> In der Datei <em>./htmlTemplates/sendAssertionFormFull.html</em> welcher sich relativ zur <a href="#uebersicht_bekanntmachung">MOA-ID-Auth Konfigurationsdatei</a> befindet finden Sie das Standard Template welches f&uuml;r den Anmeldevorgang verwendet wird, wenn kein online-applikationsspezifisches Template hinterlegt wurde. Dieses Standard Template unterst&uuml;tzt Responsive Design und passt sich somit in einem weiten Bereich an die aktuelle Fenstergr&ouml;&szlig;e an.</p>
<p>&Auml;hnlich dem Template f&uuml;r die B&uuml;rgerkartenauswahl m&uuml;ssen auch hierbei Formvorschriften und Strukturen im Aufbau des Templates eingehalten werden.<br>
F&uuml;r die &Uuml;bermittlung an das Modul MOA-ID-Auth ist ein http POST Request vorgesehen welcher folgende Parameter unterst&uuml;tzt. Die URL, an welche dieser http POST Request gesendet werden muss, wird automatisiert &uuml;ber den Parameter &bdquo;#URL#&ldquo; (ohne &bdquo;&ldquo;) eingetragen und muss nicht manuell hinterlegt werden.</p>
-<table width="1201" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="168" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>mod</td>
@@ -2395,11 +2398,11 @@ F&uuml;r die &Uuml;bermittlung an das Modul MOA-ID-Auth ist ein http POST Reques
</table>
<p><br>
Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service-Provider sondern durch das Modul MOA-ID-Auth im Rahmen des Anmeldeprozesses automatisiert, an im Template gekennzeichneten Stellen, eingetragen. Folgende Platzhalter stehen zur Verf&uuml;gung und werden von MOA-ID-Auth durch die jeweiligen Werte ersetzt. Alle nicht als Optional gekennzeichneten Platzhalter m&uuml;ssen durch MOA-ID-Auth ersetzt werden.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>#URL#</td>
@@ -2424,15 +2427,15 @@ Einige dieser Parameter werden jedoch nicht durch den Benutzer oder dem Service
</table>
<p><br>
Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl Template zu verwendeten http GET Request Templates f&uuml;r die lokale BKU.</p>
-<pre>&lt;form method=&quot;post&quot; id=&quot;moaidform_yes&quot; action=&quot;#URL#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;value&quot; value=&quot;true&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;mod&quot; value=&quot;#MODUL#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;#ACTION#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;hidden&quot; name=&quot;identifier&quot; value=&quot;#ID#&quot;&gt;<br>
- &nbsp;&nbsp;&nbsp; &lt;input type=&quot;submit&quot; size=&quot;400&quot; value=&quot;Ja&quot;&gt;<br>
+<pre>&lt;form method=&quot;post&quot; id=&quot;moaidform_yes&quot; action=&quot;#URL#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;value&quot; value=&quot;true&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;mod&quot; value=&quot;#MODUL#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;#ACTION#&quot;&gt;
+ &lt;input type=&quot;hidden&quot; name=&quot;identifier&quot; value=&quot;#ID#&quot;&gt;
+ &lt;input type=&quot;submit&quot; size=&quot;400&quot; value=&quot;Ja&quot;&gt;
&lt;/form&gt;</pre>
<p>Als Beispiel f&uuml;r ein Single Sign-On Anmeldeabfrage Template steht auch das bei MOA-ID-Auth hinterlegte Standardtemplate zur Verf&uuml;gung. Dieses finden Sie <a href="../../htmlTemplates/sendAssertion.html">hier</a>.</p>
-<h3><a name="import_template_sltemplate" id="uebersicht_zentraledatei_aktualisierung8"></a>4.3 Security-Layer Request</h3>
+<h4><a name="import_template_sltemplate" id="uebersicht_zentraledatei_aktualisierung8"></a>4.3 Security-Layer Request</h4>
<p>Das Security-Layer (SL) Request Template dient zur Kommunikation zwischen dem Modul MOA-ID-Auth und der gew&auml;hlten B&uuml;rgerkartenumgebung. Diese Kommunikation erfolgt &uuml;ber ein http Formular welches als http POST Request an die B&uuml;rgerkartenumgebung gesendet wird. Bei MOA-ID-Auth werden SL Templates mitgeliefert, wobei einige Template Parameter auch &uuml;ber das Konfigurationstool je Online-Applikation angepasst werden k&ouml;nnen (siehe <a href="#konfigurationsparameter_oa_additional_formular">Kapitel 3.2.7.1</a>).</p>
<p>F&uuml;r den Fall das individuelle Anpassungen am SL Template erforderlich sind m&uuml;ssen diese folgende Formvorschriften erf&uuml;llen.</p>
<pre>&lt;form name=&quot;CustomizedForm&quot; action=&quot;&lt;BKU&gt;&quot; method=&quot;post&quot;&gt;
@@ -2443,11 +2446,11 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
&lt;/form&gt;
</pre>
<p>Innerhalb dieser &lt;form&gt;-Elemente k&ouml;nnen Texte, Beschriftungen und Styles modifiziert werden, und es k&ouml;nnen zus&auml;tzliche Elemente darin aufgenommen werden. Die vorgegebene Grundstruktur ist aber in jedem Fall einzuhalten, und es m&uuml;ssen die speziellen Tags <em>&lt;BKU&gt;</em> (kommt 2x vor), <em>&lt;XMLRequest&gt;</em>, <em>&lt;DataURL&gt;</em> darin enthalten sein.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>&lt;BKU&gt;</td>
@@ -2467,11 +2470,11 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
</table>
<p>&nbsp;</p>
<p>Folgende zus&auml;tzliche Tags zur Layout Anpassung (siehe <a href="#konfigurationsparameter_oa_additional_formular">Kapitel 3.2.7.1</a>) stehen optional zur Verf&uuml;gung und k&ouml;nnen &uuml;ber das SL Template an die B&uuml;rgerkartenumgebung &uuml;bergeben werden. Ein Beispiel f&uuml;r die Verwendung dieser zus&auml;tzlichen Tags finden Sie im beigelegten <a href="../../htmlTemplates/template_onlineBKU.html">SL Template</a>.</p>
-<table width="1198" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name</th>
- <th width="63" scope="col">Optional</th>
- <th width="946" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td height="24">&lt;REDIRECTTARGET&gt;</td>
@@ -2496,22 +2499,22 @@ Die nachfolgende Form zeigt ein Beispiel f&uuml;r den Aufbau des im BKU-Auswahl
</table>
<p>&nbsp;</p>
<p><strong>Hinweis: </strong>Das in MOA-ID 1.5.1 verwendete Security-Layer Template ist kompatibel zu dem in MOA-ID 2.0 verwendeten Security-Layer Template. Jedoch stehen bei dem Template aus MOA-ID 1.5.1 die zus&auml;tzlichen Parameter zur Konfiguration mittels Konfigurationstool nicht zur Verf&uuml;gung.</p>
-<h1><a name="sp-config" id="sp-config">5 Konfiguration von MOA-SP</a></h1>
+<h2><a name="sp-config" id="sp-config"></a>5 Konfiguration von MOA-SP</h2>
<p>MOA-ID &uuml;berpr&uuml;ft die Signaturen der Personenbindung und des AUTH-Blocks mit dem VerifyXMLSignatureRequest von MOA-SP. Dazu muss MOA-SP wie unten beschreiben konfiguriert werden. <br>
<br>
- <strong verifytransformsinfoprofile"="">VerifyTransformsInfoProfile</strong><br>
+ <strong verifytransformsinfoprofile="">VerifyTransformsInfoProfile</strong><br>
Der Request zum &Uuml;berpr&uuml;fen der Signatur des AUTH-Blocks verwendet ein vordefiniertes VerifyTransformsInfoProfile. Die im Request verwendete Profil-ID wird in der MOA-ID-Auth Konfiguration im Parameter <a href="#konfigurationsparameter_allgemein_moasp">Authentfizierungsblock Transformationen</a> definiert. Entsprechend muss am MOA-SP Server ein VerifyTransformsInfoProfile mit gleichlautender ID definiert werden. Die Profiledefinition selbst ist in der Auslieferung von MOA-ID in $MOA_ID_INST_AUTH/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE_2.0.xml enthalten. Diese Profildefinition muss unver&auml;ndert &uuml;bernommen werden. </p>
<p id="trustProfile"> <strong>TrustProfile</strong><br>
Die Requests zur &Uuml;berpr&uuml;fung der Signatur verwenden vordefinierte TrustProfile. Die im Request verwendete Profil-IDs werden in der MOA-ID-Auth Konfiguration in den Parametern <a href="#konfigurationsparameter_allgemein_moasp">Personenbindung Trustprofil</a> und <a href="#konfigurationsparameter_allgemein_moasp">Authentfizierungsblock Trustprofil</a> definiert. Diese beiden Elemente k&ouml;nnen unterschiedliche oder identische TrustProfileIDs enthalten. Am MOA-SP Server m&uuml;ssen TrustProfile mit gleichlautender ID definiert werden. Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis $MOA_ID_INST_AUTH/conf/moa-spss/trustprofiles/MOAIDBuergerkarteRoot, das als TrustProfile verwendet werden kann. Weitere Zertifikate k&ouml;nnen als vertrauensw&uuml;rdig hinzugef&uuml;gt werden. </p>
<p id="certstore"> <strong>Certstore</strong><br>
Zum Aufbau eines Zertifikatspfades k&ouml;nnen ben&ouml;tigte Zertifikate aus einem Zertifikatsspeicher verwendet werden. Die Auslieferung von MOA-ID enth&auml;lt das Verzeichnis $MOA_ID_INST_AUTH/conf/moa-spss/certstore, das als initialer Zertifikatsspeicher verwendet werden kann. </p>
<p>Hinweis: Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues Format f&uuml;r die XML-Konfigurationsdatei. F&uuml;r die Konvertierung einer &auml;lteren Konfigurationsdatei auf das neue Format steht Ihnen ein Tool zur Verf&uuml;gung. Details dazu finden sie in der der Distribution von MOA-SP/SS beiliegenden Dokumentation im Kapitel 'Konfiguration', Abschnitt 1.2.1.</p>
-<h1><a name="security" id="security">6 Tomcat Security Manager</a></h1>
+<h2><a name="security" id="security"></a>6 Tomcat Security Manager</h2>
<p>Apache Tomcat bietet die M&ouml;glichkeit den Server unter einem Security Manager zu betreiben. Damit ist es m&ouml;glich den lokalen Dateizugriff zu beschr&auml;nken. Mit Hilfe der Datei "catalina.policy" k&ouml;nnen so Zugriffe auf lokale Dateien und Verzeichnisse festgelegt werden. Eine beispielhafte catalina.policy Datei finden Sie im Verzeichnis $MOA_ID_INST_AUTH/tomcat. Diese Datei wurde unter Apache Tomcat 4.1.31, 5.0.28 und 5.5.27 getestet. </p>
<p>Mehr Informationen zum Security Manager entnehmen Sie bitte der entsprechenden Apache Tomcat Dokumentation. </p>
<p>&nbsp;</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
-<table class="fixedWidth" border="1" cellpadding="2">
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
+<table class="configtable">
<tbody>
<tr>
<th>Spezifikation</th>
@@ -2549,5 +2552,6 @@ Zum Aufbau eines Zertifikatspfades k&ouml;nnen ben&ouml;tigte Zertifikate aus ei
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
+</div>
</body>
</html>
diff --git a/id/server/doc/handbook/index.html b/id/server/doc/handbook/index.html
index c3b25b390..76d7da1b0 100644
--- a/id/server/doc/handbook/index.html
+++ b/id/server/doc/handbook/index.html
@@ -2,21 +2,35 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA ID - &Uuml;bersicht</title>
<link rel="stylesheet" href="./common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
-<body link="#990000">
+<body link="#990000">
+<!--
<table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
- <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
+ <div class="container">
+ <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="200" align="left"></td>
<td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
+ <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="200" align="right"></td>
+ </div>
</tr>
</table>
- <hr/>
- <p class="title">MOA-ID (Identifikation) </p>
- <p class="subtitle">&Uuml;bersicht zur Dokumentation der Version 2.1.2 </p>
- <hr/>
+ -->
+
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="common/logo_digAT.png"/></a>
+ <h1>MOA-ID-AUTH </h1>
+ <br/>
+ </div>
+ </div>
+
+<div class="container">
+ <h2>&Uuml;bersicht zur Dokumentation der Version 2.1.2 </h2>
+
<dl>
<dt><a href="./intro/intro.html">Einf&uuml;hrung</a></dt>
<dd>&Uuml;bersicht &uuml;ber die einzelnen Module.</dd>
@@ -36,5 +50,6 @@
<dl>
<dt>&nbsp;</dt>
</dl>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/install/install.html b/id/server/doc/handbook/install/install.html
index 3b1a7e905..aa508183e 100644
--- a/id/server/doc/handbook/install/install.html
+++ b/id/server/doc/handbook/install/install.html
@@ -2,26 +2,23 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Installation</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
-<<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123">&nbsp;</td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Installation</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li>
- <p><a href="#uebersicht">&Uuml;bersicht</a><span class="logoTitle"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></span></p>
- </li>
+<body link="#990000">
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Installation</h1>
+ <h2>Inhalt</h2>
+ <ol class="index">
<li>
<p><a href="#webservice">MOA-ID-Auth und MOA-ID-Configuration</a></p>
<ol>
@@ -77,17 +74,16 @@
</li>
</ol>
</ol>
- <ol type="A">
+ <ol type="A" class="index">
<li><a href="#referenzierte_software">Referenzierte Software</a></li>
</ol>
- <hr/>
- <h1><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht</h1>
+ <h2><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht</h2>
<p>Die Module MOA-ID-Auth und MOA-ID-Configuration sind als plattformunabh&auml;ngige Module ausgelegt. MOA-ID-Auth bietet Webservices &uuml;ber HTTPS zur Identifizierung und Authentifizierung an. Das Modul MOA-ID-Configuration stellt eine Weboberfl&auml;che zur Konfiguration des MOA-ID-Auth Modules zur Verf&uuml;gung.</p>
<p>Dieses Handbuch beschreibt die Installation der beiden Module.</p>
-<h1><a name="webservice"></a>2 MOA-ID-Auth und MOA-ID-Configuration</h1>
+<h2><a name="webservice"></a>2 MOA-ID-Auth und MOA-ID-Configuration</h2>
<p>Dieser Abschnitt beschreibt die Installation von der Module MOA-ID-Auth und MOA-ID-Configuration. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsm&ouml;glichkeiten auf.</p>
- <h2><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h2>
- <h3><a name="webservice_basisinstallation_einfuehrung" id="webservice_basisinstallation_einfuehrung"></a>2.1.1 Einf&uuml;hrung </h3>
+ <h3><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h3>
+ <h4><a name="webservice_basisinstallation_einfuehrung" id="webservice_basisinstallation_einfuehrung"></a>2.1.1 Einf&uuml;hrung </h4>
<p> Die Basisinstallation der Module MOA-ID-Auth und MOA-ID-Configuration stellt einerseits die minimalen Anforderungen f&uuml;r den Betrieb von MOA-ID dar, andererseits dient sie als Ausgangspunkt f&uuml;r optionale <a href="#webservice_erweiterungsmoeglichkeiten">Erweiterungsm&ouml;glichkeiten</a>.</p>
<p>Die <strong>Mindestanforderungen</strong> f&uuml;r die Basisinstallation sind: </p>
<ul>
@@ -100,8 +96,8 @@
<li><a href="#referenziertesoftware">Apache Tomcat 7.0.50 bzw. Apache Tomcat 8.0.3</a> </li>
</ul>
<p>In diesem Betriebs-Szenario wird das MOA-ID-Auth Webservice und das MOA-ID Konfigurationstool in Tomcat zum Einsatz gebracht. Beide Module k&ouml;nnen sowohl in derselben Tomcat-Instanz, als auch in separaten Tomcat-Instanzen betrieben werden. F&uuml;r den Fall des separaten Betriebs muss die Installation auf beiden Tomcat-Instanzen ausgef&uuml;hrt werden. In beiden F&auml;llen fungiert der Tomcat gleichzeitig als HTTP- und HTTPS-Endpunkt f&uuml;r beide Module. Beide Protokolle werden direkt in Tomcat konfiguriert, wobei MOA-ID-Auth und MOA-ID-Configuration Log4j als Logging Toolkit verwenden.</p>
-<h3><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h3>
-<h4><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h4>
+<h4><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h4>
+<h5><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h5>
<p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
<dl>
<dt>Installation von Java SE</dt>
@@ -121,11 +117,11 @@
<dd>F&uuml;r den Betrieb von MOA-ID 2.0 wird eine Datenbank ben&ouml;tigt, wobei mySQL als Datenbank empfohlen wird (wurde mit mySQL getestet). Der Einsatz eines alternativen Datenbanksystems ist jedoch ebenfalls m&ouml;glich. F&uuml;r den Betrieb werden mindestens zwei getrennte Datenbank Schema ben&ouml;tig, da die Konfiguration und die Session Informationen getrennt abgelegt werden. Erstellen Sie zwei Datenbank Schemas welche von MOA-ID-Auth verwendet werden sollen. Deren Namen k&ouml;nnen z.B. auf <em>moa-id-session</em> f&uuml;r Sessiondaten und <em>moa-id-config</em> f&uuml;r die Konfiguration lauten. Beliebige andere Namen f&uuml;r die Datenbank Schema sind jedoch auch m&ouml;glich.
</dd>
</dl>
-<h4><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h4>
+<h5><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h5>
<p>Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. Tomcat wird grunds&auml;tzlich mit einer funktionierenden Default-Konfiguration ausgeliefert. </p>
-<h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 Konfiguration des HTTP Connectors</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 Konfiguration des HTTP Connectors</h6>
<p>Die Tomcat Default-Konfiguration schaltet ausschlie&szlig;lich den Connector f&uuml;r HTTP auf Port 8080 frei. Wir empfehlen diese Konfiguration nur f&uuml;r F&auml;lle, in denen das MOA-ID-Configuration Modul in einer abgeschlossenen Netzwerkumgebung betrieben wird. Das Modul MOA-ID-Auth verlangt f&uuml;r Authentifizierungsanfragen zwingend HTTPS.</p>
-<h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 Konfiguration des HTTPS Connectors</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 Konfiguration des HTTPS Connectors</h6>
<p>F&uuml;r den sicheren Betrieb von MOA-ID-AUTH ist die Verwendung von SSL Voraussetzung, sofern nicht ein vorgelagerter Webserver (Apache oder IIS) das SSL-Handling &uuml;bernimmt. Ebenso kann SSL auch f&uuml;r MOA-ID-Configuration verwendet werden.</p>
<p>F&uuml;r die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zun&auml;chst ist der HTTP Connector abzuschalten (auskommentieren). Anschlie&szlig;end ist der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO </a> gibt einen guten &Uuml;berblick dazu. Grob zusammengefasst sind folgende Schritte durchzuf&uuml;hren: </p>
<ul>
@@ -134,7 +130,7 @@
<li>Falls eine Client-Authentisierung gew&uuml;nscht ist, muss die Konfiguration des SSL-Connectors in <code>$CATALINA_HOME/conf/server.xml</code> angepasst werden.</li>
</ul>
<p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden &uuml;bernimmt (siehe <a href="#webservice_erweiterungsmoeglichkeiten_webserver">Abschnitt 2.2.1</a>).</p>
- <h5><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des Moduls MOA-ID-Auth in Tomcat</h5>
+ <h6><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des Moduls MOA-ID-Auth in Tomcat</h6>
<p> Um die Module MOA-ID-Auth und MOA-ID-Configuration in Tomcat f&uuml;r den Einsatz vorzubereiten, sind folgende Schritte notwendig:</p>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_auth.war</code> enth&auml;lt das einsatzfertige MOA-ID-Auth Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-auth</code> entpackt. </li>
@@ -153,7 +149,7 @@
</ul>
</li>
</ul>
-<h5><a name="moa_id_configuration_deploy" id="webservice_basisinstallation_installation_spssdeploy2"></a>2.1.2.4 Einsatz des Moduls MOA-ID-Configuration in Tomcat</h5>
+<h6><a name="moa_id_configuration_deploy" id="webservice_basisinstallation_installation_spssdeploy2"></a>2.1.2.4 Einsatz des Moduls MOA-ID-Configuration in Tomcat</h6>
<ul>
<li>Die Datei <code>$MOA_ID_AUTH_INST/moa-id_configuration.war</code> enth&auml;lt das einsatzfertige MOA-ID-Configuration Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-id-configuration</code> entpackt. </li>
<li>Die Konfigurationsdatei mit der Basiskonfiguration f&uuml;r MOA-ID-Auth und die zugeh&ouml;rigen Verzeichnisse m&uuml;ssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-id-configuration</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Basiskonfiguration des MOA-ID-Auth Modules dienen kann, finden Sie <a href="../../../conf/moa-id-configuration/moa-id-configtool.properties">hier</a>. <br>
@@ -169,18 +165,18 @@
</ul>
</li>
</ul>
-<h4><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h4>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h5>
+<h5><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h6>
<div id="block">
<p>Das Verzeichnis <code>$MOA_IA_AUTH_INST/tomcat/win32</code> enth&auml;lt Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts m&uuml;ssen in den ersten Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis der eingesetzten Java SE) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. m&uuml;ssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> anpassen. </p>
</div>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h6>
<p>Zun&auml;chst m&uuml;ssen die in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> gesetzt sein. Die Datei <code>$MOA_ID_AUTH_INST/tomcat/unix/moa-env.sh</code> enth&auml;lt ein Beispiel daf&uuml;r. Des Weiteren m&uuml;ssen noch die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis der eingesetzten Java SE) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.</p>
<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p>
<pre>bin/catalina.sh start</pre>
gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
<pre>bin/catalina.sh stop</pre>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Pr&uuml;fen des erfolgreichen Starts </h5>
+<h6><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Pr&uuml;fen des erfolgreichen Starts </h6>
<div id="block">
<p>Ein erfolgreicher Start des MOA-ID-Auth Modules ist an folgender Log-Meldung ersichtlich: <br>
</p>
@@ -200,7 +196,7 @@ http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/
https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
<p>Die Verf&uuml;gbarkeit des Services k&ouml;nnen Sie einfach &uuml;berpr&uuml;fen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite f&uuml;hren. </p>
-<h4><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h4>
+<h5><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h5>
<p>Beide Module verwenden <a href="#referenziertesoftware">Log4j</a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die ausf&uuml;hrlich im Log4j Handbuch beschrieben sind. Unter anderem gibt es die M&ouml;glichkeit, folgende Einstellungen vorzunehmen:
<ul>
<li id="klein">
@@ -227,7 +223,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
</li>
</ul>
<p>Eine f&uuml;r beide Module passende Konfigurationsdatei f&uuml;r Log4j finden Sie <a href="../../../conf/moa-spss/log4j.properties">hier</a>. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Dateien <code>moa-id-auth.log</code> und <code>moa-id-configuration.log</code> geschrieben. </p>
- <h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h4>
+ <h5><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h5>
<p> Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erl&auml;utert: </p>
<pre>
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
@@ -254,7 +250,7 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<p>Der n&auml;chste Wert <code>01 21:25:26,540</code> gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p>
<p> Der Wert <code>Thread-3</code> bezeichnet den Thread, von dem die Anfrage bearbeitet wird.</p>
<p> Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine genauere Ursachen-Forschung erm&ouml;glicht.</p>
-<h4> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h4>
+<h5> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h5>
<p> Neben den im Abschnitt <a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">2.1.2.4.3</a> beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgem&auml;&szlig; gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss &uuml;ber die Abarbeitung von Anfragen. </p>
<p>Die Entgegennahme einer Anfrage wird angezeigt durch:
@@ -267,32 +263,32 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft &uuml;ber die Art des Fehlers.</p>
<p> Die tats&auml;chlich &uuml;bertragenen Anfragen bzw. Antworten werden aus Effizienzgr&uuml;nden nur im Log-Level <code>DEBUG</code> angezeigt. </p>
</div>
- <h2><a name="webservice_erweiterungsmoeglichkeiten" id="webservice_erweiterungsmoeglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h2>
+ <h3><a name="webservice_erweiterungsmoeglichkeiten" id="webservice_erweiterungsmoeglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h3>
<p>Ausgehend von der <a href="#webservice_basisinstallation">Basisinstallation</a> k&ouml;nnen die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabh&auml;ngig und in beliebiger Kombination aufgesetzt werden.</p>
-<h3><a name="webservice_erweiterungsmoeglichkeiten_webserver" id="webservice_erweiterungsmoeglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h3>
-<h4><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis" id="webservice_erweiterungsmoeglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h4>
+<h4><a name="webservice_erweiterungsmoeglichkeiten_webserver" id="webservice_erweiterungsmoeglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h4>
+<h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis" id="webservice_erweiterungsmoeglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h5>
<p>Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall &uuml;bernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA-ID Modulen wird durch <span class="term">mod_jk</span> durchgef&uuml;hrt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">mod_jk</span> im MS IIS</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">mod_jk</span> im MS IIS</h6>
<p> F&uuml;r die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das <span class="term">ISAPI</span>-Modul von <span class="term">mod_jk</span> im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank">mod_jk</a></span><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank"> IIS HowTo</a>. Beispiele f&uuml;r <code>workers.properties</code> und <code>uriworkermap.properties</code> Dateien liegen im Verzeichnis <code>$MOA_ID_AUTH_INST/tomcat</code> bei.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h6>
<p>Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels <span class="term"> mod_jk</span> weiterleitet werden, muss in <code>$CATALINA_HOME/conf/server.xml</code> der <span class="term">AJP Connector</span> aktiviert werden. Im Gegenzug k&ouml;nnen die Konnektoren f&uuml;r HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden <code>Connector</code> Konfigurations-Elemente in dieser Datei.</p>
-<h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h5>
+<h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h6>
<p> Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Webseiten von Mircrosoft zur Verf&uuml;gung. </p>
- <h4><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache" id="webservice_erweiterungsmoeglichkeiten_webserver_apache"></a>2.2.1.2 Apache</h4>
+ <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache" id="webservice_erweiterungsmoeglichkeiten_webserver_apache"></a>2.2.1.2 Apache</h5>
<p>Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird <span class="term"> mod_jk</span> f&uuml;r die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term"> mod_jk</span> im Apache </h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term"> mod_jk</span> im Apache </h6>
<p>Um die MOA-ID Module hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls <span class="term">mod_jk</span> erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html" target="_blank">mod_jk</a></span><a href="http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html" target="_blank"> Apache HowTo</a>. Ein Beispiel f&uuml;r eine <code>workers.properties</code> Datei liegt im Verzeichnis <code>$MOA_ID_AUTH_INST/tomcat</code> bei.</p>
<p>Um die MOA-ID Module dem Apache Webserver bekannt zu machen, sind zumindest folgende Eintr&auml;ge im globalen Kontext der Apache-Konfigurationsdatei notwendig:</p>
<pre>LoadModule jk_module /usr/lib/apache/mod_jk.so<br>AddModule jk_module<br>JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories<br>JkWorkersFile conf/workers.properties <br>JkMount /moa-spss/* moaworker </pre>
<p>Die Pfad- und Dateinamen k&ouml;nnen je nach existierender Apache Installation geringf&uuml;gig variieren.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h6>
<p>Die Konfiguration von Tomcat ist analog zu Abschnitt <a href="#webservice_erweiterungsmoeglichkeiten_webserver_iis_tomcat">2.2.1.1.2</a> durchzuf&uuml;hren.</p>
- <h5><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h5>
+ <h6><a name="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmoeglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h6>
<p>Apache kann in Verbindung mit <span class="term">mod_SSL</span> als SSL-Endpunkt f&uuml;r die MOA-ID Module fungieren. In diesem Fall entf&auml;llt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via <span class="term">mod_jk</span> austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enth&auml;lt die <a href="http://www.modssl.org/docs/" target="_blank">Online-Dokumentation</a> von <span class="term">mod_SSL</span>.</p>
<p>Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass <span class="term">mod_ssl</span> die HTTP-Header mit den Informationen &uuml;ber das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht: </p>
<pre>SSLOptions +ExportCertData +StdEnvVars</pre>
<p>Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontext eines Verzeichnisses spezifiziert werden.</p>
-<h1><a name="referenzierte_software"></a>A Referenzierte Software</h1>
+<h2><a name="referenzierte_software"></a>A Referenzierte Software</h2>
<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p>
<table class="fixedWidth" border="1" cellpadding="2">
<tr>
@@ -312,6 +308,6 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
<td>Logging Framework </td>
</tr>
</table>
-
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/interfederation/interfederation.html b/id/server/doc/handbook/interfederation/interfederation.html
index f52556e23..6bc3727b4 100644
--- a/id/server/doc/handbook/interfederation/interfederation.html
+++ b/id/server/doc/handbook/interfederation/interfederation.html
@@ -2,23 +2,23 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Protokolle</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Interfederation</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+<div class="container">
+<h1 align="center">Interfederation</h1>
+ <h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#general">Allgemeines</a>
<ol>
<li><a href="#sequenzediagramm">Sequenzdiagramm</a></li>
@@ -40,9 +40,9 @@
<li><a href="#storkpvpgateway">STORK &lt;-&gt; PVP Gateway</a></li>
</ol>
<p>&nbsp;</p>
- <h1><a name="general" id="konfigurationsparameter_allgemein_bku7"></a>1 Allgemeines</h1>
+ <h2><a name="general" id="konfigurationsparameter_allgemein_bku7"></a>1 Allgemeines</h2>
<p>Ab der Version 2.1.0 des Modulpakets MOA-ID unterst&uuml;tzt das Modul MOA-ID-Auth Single Sign-On Interfederation zwischen Instanzen des Modules MOA-ID-Auth, welche bei unterschiedlichen Service Providern betrieben werden. Die nachfolgende Abbildung zeigt das Blockdiagramm einer solchen Systemkonfiguration und beschreibt die Funktionalit&auml;t auf einer abstrakten Ebene.</p>
- <p><img src="blockdiagramm.png" width="1010" height="618" alt="Blockdiagramm MOA-ID Inderfederation"></p>
+ <div class="smallImgDiv"><img src="blockdiagramm.png" alt="Blockdiagramm MOA-ID Inderfederation"></div>
<ol>
<li>Eine Benutzerin oder ein Benutzer m&ouml;chte sich an einer Online Applikation (Applikation 1) oder einem Service Portal anmelden.</li>
<li>F&uuml;r den Anmeldevorgang wird die Benutzerin oder der Benutzer an den IdentityProvider (MOA-ID IDP 1) welcher die Identifizierung und Authentifizierung durchf&uuml;hrt und eine Single Sign-On (SSO) Session anlegt.</li>
@@ -52,9 +52,9 @@
<li>IDP 2 holt von IDP 1 die Authentifizierungsinformationen f&uuml;r Applikation 2 ab. F&uuml;r die Kommunikation zwischen den beiden IDPs wird PVP 2.1 als Protokoll verwendet. Sollte am IDP 1 keine aktive SSO Session f&uuml;r diesen Benutzer existieren wird eine lokale Authentifizierung der Benutzerin oder des Benutzer an IDP 2 gestartet.</li>
<li>Anschlie&szlig;end wird die Benutzerin oder der Benutzer an Applikation 2 zur&uuml;ckgeleitet und befindet sich im angemeldeten Bereich der Applikation 2.</li>
</ol>
-<h2><a name="sequenzediagramm" id="konfigurationsparameter_allgemein_bku"></a>1.1 Sequenzdiagramm</h2>
+<h3><a name="sequenzediagramm" id="konfigurationsparameter_allgemein_bku"></a>1.1 Sequenzdiagramm</h3>
<p>Das nachfolgende Sequenzdiagramm beschreibt den Ablauf eines Anmeldevorgangs an einer Online Applikation mit Hilfe von Interfederation im Detail wobei in diesem Beispiel als Authentifizierungsprotokoll an der Online Applikation 2 PVP 2.1 und die <a href="#usage_redirect">Variante mit Redirect Servlet</a> verwendet werden. Eine Verwendung aller anderen, durch das Modul MOA-ID-Auth bereitgestellten Authentifizierungsprotokolle ist jedoch ebenfalls m&ouml;glich. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit sind die Schritte 1 - 3 aus dem oben dargestellten Blockdiagramm im Sequenzdiagramm nicht ber&uuml;cksichtigt, da diese Schritte bereits im Kapitel <a href="./../protocol/protocol.html">Protokolle</a> im Detail beschrieben wurden. </p>
-<p><img src="interfederation_sequenz.png" width="1082" height="994" alt="SSO Interfederation Sequenze"></p>
+ <div class="largeImgDiv"><img src="interfederation_sequenz.png" alt="SSO Interfederation Sequenze"></div>
<p>&nbsp;</p>
<ol>
<li>Die Benutzerin oder der Benutzer ist bereits an einer Online Applikation (Application 1) angemeldet und m&ouml;chte sich nun an einer zweiten Online Applikation (Application 2) mittels Single Sign On anmelden. Nach dem Click auf die entsprechende Login Schaltfl&auml;che wird der Anmeldevorgang gestartet.</li>
@@ -84,21 +84,21 @@
<li>Online Applikation 2 validiert die Assertion</li>
<li>Wurde die Validierung der Assertion positiv abgeschlossen wird der Benutzer im sicheren Bereich von Online Applikation zwei angemeldet.</li>
</ol>
-<h1> <a name="config" id="konfigurationsparameter_allgemein_bku2"></a>2 Konfiguration</h1>
+<h2> <a name="config" id="konfigurationsparameter_allgemein_bku2"></a>2 Konfiguration</h2>
<p>Die Konfiguration des Modules MOA-ID-Auth in einer IDP Interfederation ist in zwei Abschnitte unterteilt. Der erste Teil behandelt die Basiskonfiguration des Modules MOA-ID-Auth. Im zweiten Abschnitt erfolgt die Konfiguration der einzelnen IDP Instanzen welche von dieser MOA-ID-Auth verwendet werden k&ouml;nnen oder in einem IDP interfederation Verbund stehen.</p>
<p>Bei IDP Interfederation handelt es sich um eine Erweiterung der Funktionalit&auml;t des Modules MOA-ID-Auth. Die in diesem Abschnitt beschriebene Konfiguration bezieht sich speziell auf den Bereich Interfederation, ersetzt jedoch nicht die Konfiguration des Modules MOA-ID-Auth laut Kapitel <a href="./../config/config.html">Konfiguration</a>.</p>
-<h2><a name="config_basic" id="konfigurationsparameter_allgemein_bku3"></a>2.1 Basiskonfiguration</h2>
+<h3><a name="config_basic" id="konfigurationsparameter_allgemein_bku3"></a>2.1 Basiskonfiguration</h3>
<p>Wird das Modul MOA-ID-Auth in einer IDP Interfederation betrieben muss das PVP 2.1 Protokoll, in der Basiskonfiguration von MOA-ID-Auth konfiguriert werden. Eine Beschreibung der entsprechenden Konfigurationsparameter finden Sie im Kapitel <a href="./../config/config.html#basisconfig_moa_id_auth_param_protocol_pvp21">Protokolle -&gt; PVP 2.1</a>. </p>
-<h2><a name="config_idps" id="konfigurationsparameter_allgemein_bku4"></a>2.2 Konfiguration einzelner IDPs </h2>
+<h3><a name="config_idps" id="konfigurationsparameter_allgemein_bku4"></a>2.2 Konfiguration einzelner IDPs </h3>
<p>Zus&auml;tzlich zu Basiskonfiguration m&uuml;ssen alle f&uuml;r diese IDP Interfederation registrierten IDPs konfiguriert werden. Diese Konfiguration erfolgt &uuml;ber das Modul MOA-ID-Configuration wobei f&uuml;r Interfederation ein eigener Men&uuml;punkt im Hauptmen&uuml; zur Verf&uuml;gung steht. &Uuml;ber diesen Konfigurationspunkt k&ouml;nnen neue IDPs hinzugef&uuml;gt (MOA-ID IDP hinzuf&uuml;gen) oder bestehende IDPs bearbeitet werden wobei alle aktuell hinterlegten IDPs in einer Liste dargestellt werden.</p>
<p>Die Konfiguration der einzelnen IDP Instanzen erfolgt &auml;hnlich zur Konfiguration von Online-Applikationen (siehe <a href="./../config/config.html#konfigurationsparameter_oa">Online-Applikationskonfiguration</a>), jedoch sind f&uuml;r eine IDP Konfiguration nicht alle Konfigurationsparameter aus der Online-Applikationskonfiguration erforderlich.</p>
<p>Im ersten Abschnitt werden allgemeine Informationen zum IDP konfiguriert.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -128,12 +128,12 @@
</table>
<p>&nbsp;</p>
<p>Der zweite Abschnitt behandelt spezielle Konfigurationsparameter f&uuml;r IDP Interfederation.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadIDP_moaIDP_inboundSSO">Eingehendes SSO erlauben</span></td>
@@ -185,13 +185,13 @@
</ul>
</li>
</ul>
-<h1><a name="usage" id="konfigurationsparameter_allgemein_bku6"></a>3 Integration in bestehende Systeme</h1>
+<h2><a name="usage" id="konfigurationsparameter_allgemein_bku6"></a>3 Integration in bestehende Systeme</h2>
<p>Um den Interfederation Mechanismus in ein bestehendes System zu integrieren muss dem protokollspezifischen Authentifizierungsrequest, welcher da das Modul MOA-ID-Auth gesendet wird, ein zus&auml;tzlicher Parameter angef&uuml;gt werden. Dieser Parameter identifiziert den interfederation IDP von welchem eine aktive SSO Session verwendet werden soll. Dieser zus&auml;tzliche Parameter kann als http GET oder als http POST Parameter an MOA-ID-Auth &uuml;bertragen werden. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>interIDP</td>
@@ -202,7 +202,7 @@
</table>
<p>&nbsp;</p>
<p>Wie bereits im <a href="#sequenzediagramm">Abschnitt Sequenzdiagramm</a> erw&auml;hnt stehen f&uuml;r die &Uuml;bertragung des zus&auml;tzlichen Parameters zwei Varianten zur Verf&uuml;gung.</p>
-<h2><a name="usage_direct" id="konfigurationsparameter_allgemein_bku8"></a>3.1 Direkte &Uuml;bermittlung im Authentifizierungsrequest</h2>
+<h3><a name="usage_direct" id="konfigurationsparameter_allgemein_bku8"></a>3.1 Direkte &Uuml;bermittlung im Authentifizierungsrequest</h3>
<p>Bei dieser Variante wird der zus&auml;tzliche Parameter <em>interIDP</em> direkt im protokollspezifischen Authentifizierungsrequest, welcher den Authentifizierungsvorgang startet, angef&uuml;gt. In diesem Fall muss der Service Provider, welcher den Authentifizierungsrequest erzeugt, den zus&auml;tzlichen Parameter <em>interIDP</em> einf&uuml;gen. Diese Variante steht f&uuml;r alle verf&uuml;gbaren Authentifizierungsvarianten des Modules MOA-ID-Auth zur Verf&uuml;gung und es existieren keine besonderen Einschr&auml;nkungen. Das nachfolgende Beispiel zeigt die Verwendung in Kombination mit SAML 1 wobei der <em>interIDP</em> Parameter als http GET Parameter &uuml;bermittelt wird.</p>
<pre>&lt;a href="https://&lt;moa-id-server-und-pfad&gt;/StartAuthentication
?Target=&lt;gesch&auml;ftsbereich&gt;
@@ -210,13 +210,13 @@
&amp;bkuURI=&lt;bku-url&gt;
&amp;interIDP=&lt;IDP EntityID&gt;
&gt;</pre>
-<h2><a name="usage_redirect" id="konfigurationsparameter_allgemein_bku9"></a>3.2 Verwendung des Redirect Servlets</h2>
+<h3><a name="usage_redirect" id="konfigurationsparameter_allgemein_bku9"></a>3.2 Verwendung des Redirect Servlets</h3>
<p>Bei dieser Variante wird der zus&auml;tzliche Parameter <em>interIDP</em> und eine Redirect-URL <em>redirecturl</em> an ein Service der MOA-ID-Auth Instanz &uuml;bermittelt. Dieses Service validiert alle Parameter und hinterlegt den Parameter <em>interIDP</em> in einem http Cookie im Browser der Benutzerin oder des Benutzers. Anschlie&szlig;end erfolgt ein Redirect an die im Parameter redirecturl angegebene Service welches den eigentlichen Authentifizierungsrequest erzeugt und an die MOA-ID-Auth Instanz sendet. In diesem Fall ist es nicht erforderlich dass der Authentifizierungsrequest den zus&auml;tzlichen Parameter <em>interIDP</em> enth&auml;lt, da dieser &uuml;ber das zuvor gesetzte http Cookie vom Modul MOA-ID-Auth ausgewertet wird. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>interIDP</td>
@@ -232,15 +232,15 @@
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="vidp" id="konfigurationsparameter_allgemein_bku5"></a>4 STORK VIDP Konfiguration</h1>
+<h2><a name="vidp" id="konfigurationsparameter_allgemein_bku5"></a>4 STORK VIDP Konfiguration</h2>
<p>Das Modul MOA-ID-Auth kann auch als STORK2 VIDP betrieben werden. Diese VIDP Konfiguration erfolgt ebenfalls &uuml;ber den Men&uuml;punkt Interfederation, wobei neues VIDPs mit Hilfe der Schaltfl&auml;che VIDP hinzuf&uuml;gen konfiguriert werden k&ouml;nnen. </p>
<p>Die Konfiguration eines VIDPs erfolgt weitgehend identisch zur Konfiguration einer <a href="./../config/config.html#konfigurationsparameter_oa">Online-Applikation</a>, wobei im Falle eines VIDPs noch folgende zus&auml;tzliche Konfigurationsparameter zur Verf&uuml;gung stehen.</p>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="185" scope="col">Name</th>
- <th width="85" scope="col">Beispielwert</th>
- <th width="66" scope="col">Optional</th>
- <th width="886" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><p>VIDP Interface aktiv</p></td>
@@ -260,10 +260,10 @@
Diese Attributprovider werden f&uuml;r die Abholung einiger Attribute von &ouml;sterreichischen B&uuml;rgern ben&ouml;tigt (Anmeldung in Ausland). Die Eintragung und Auswahl von Attributprovidern ist <span class="term">optional</span>. </p>
<p>W&auml;hrend des Anmeldevorgangs wird der Benutzer an den entsprechenden Attributprovider weitergeleitet. Am Attributprovider werden die erforderlichen Attribute ausgew&auml;hlt und zur&uuml;ck an VIDP (am Service Provider) geliefert. </p>
<br/>
-<table width="1250" border="1">
+<table class="configtable">
<tr>
- <th width="167" scope="col">Name des Plugins</th>
- <th width="781" scope="col">Beschreibung</th>
+ <th>Name des Plugins</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>EHvdAttributeProvider</td>
@@ -293,11 +293,11 @@
</table>
<p>&nbsp;</p>
<p>Beispiel eines Eintrages f&uuml;r Attributprovider:</p>
-<pre><table width="1220" border="1">
+<pre><table class="configtable">
<tr>
- <th width="167" scope="col">AP Plugin</th>
- <th width="681" scope="col">URL</th>
- <th width="281" scope="col">Attribute</th>
+ <th>AP Plugin</th>
+ <th>URL</th>
+ <th>Attribute</th>
</tr>
<tr>
<td>MISAttributeRequestProvider</td>
@@ -306,10 +306,10 @@
</tr>
</table></pre>
<p>&nbsp;</p>
-<h1><a name="storkpvpgateway" id="konfigurationsparameter_allgemein_bku10"></a>5 STORK &lt;-&gt; PVP Gateway</h1>
+<h2><a name="storkpvpgateway" id="konfigurationsparameter_allgemein_bku10"></a>5 STORK &lt;-&gt; PVP Gateway</h2>
<p>Das Modul MOA-ID-Auth kann auch als Gateway zwischen dem Portalverbund der &ouml;sterreichischen Beh&ouml;rden und der STORK Infrastruktur betrieben werden. Diese Konfiguration konfiguriert einen Gateway welcher zur Authentifizierung &ouml;sterreichischer Benutzerinnen oder Benutzer im Falle einer STORK Anmeldung mit Hilfe der &ouml;sterreichischen PVP Infrastruktur dient. Der Einsprung zum Gateway erfolgt &uuml;ber den <em>PVPAuthenticationProvider</em> in der <a href="#vidp">VIDP Konfiguration</a>.</p>
<p>Die nachstehende Grafik skizziert den Prozessfluss eines solchen Anmeldevorgangs.</p>
-<p><img src="blockdiagramm_storkpvpgateway.png" width="1000" height="734" alt="Blockdiagramm STORK-PVP Gateway"></p>
+<div class="smallImgDiv"><img src="blockdiagramm_storkpvpgateway.png" alt="Blockdiagramm STORK-PVP Gateway"></div>
<ol>
<li>Eine &ouml;sterreichische Benutzerin oder ein &ouml;sterreichischer Benutzer m&ouml;chte sich an einer europ&auml;ischen Online Applikation (Applikation 1) anmelden.</li>
<li>Die Benutzerin oder der Benutzer wird an den entsprechenden VIDP unter Verwendung des STORK Protokolls zur Authentifizierung weitergeleitet. F&uuml;r den Fall das spezielle Attribute durch die Applikation angefordert wurden (z.B. <em>ECApplicationRole</em>) kann die Authentifizierung nicht am VIDP vorgenommen werden. In diesem Fall erfolgt eine Weiterleitung an den nationalen STORK-PVP Gateway (siehe <a href="#vidp">VIDP Konfiguration</a>).</li>
@@ -322,12 +322,12 @@
</ol>
<p>&nbsp;</p>
<p>Die Konfiguration eines STORK-PVP Gateways besteht aus folgenden Elementen.</p>
-<table width="1199" border="1">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>Online-Applikation ist aktiviert</td>
@@ -357,12 +357,13 @@
</tr>
</table>
<p>&nbsp;</p>
-<table width="1199" border="1">
+<table class="configtable">
+<table class="configtable">
<tr>
- <th width="153" scope="col">Name</th>
- <th width="204" scope="col">Beispielwert</th>
- <th width="57" scope="col">Optional</th>
- <th width="757" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Optional</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td><span id="wwlbl_loadIDP_pVPGateway_entityID">EntityID des PVP Portals:</span></td>
@@ -374,7 +375,7 @@
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
<table class="fixedWidth" border="1" cellpadding="2">
<tbody>
<tr>
@@ -411,5 +412,6 @@
</tr>
</tbody>
</table>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/intro/intro.html b/id/server/doc/handbook/intro/intro.html
index f2af77391..19c9aa72d 100644
--- a/id/server/doc/handbook/intro/intro.html
+++ b/id/server/doc/handbook/intro/intro.html
@@ -2,66 +2,67 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>MOA-ID - Einf&uuml;hrung</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Einf&uuml;hrung</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li><a href="#allgemeines">Allgemeines</a>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+
+ <div class="container">
+<h1 align="center">Einf&uuml;hrung</h1>
+ <h2>Inhalt</h2>
+ <ul class="index">
+ <li class="index"><a href="#allgemeines">Allgemeines</a>
+ <ul>
<li><a href="#allgemeines_service">Externe Services</a></li>
- </ol>
+ </ul>
</li>
- <li><a href="#ss">MOA-ID-Auth </a>
- <ol>
+ <li class="index"><a href="#moaidauth">MOA-ID-Auth </a>
+ <ul>
<li><a href="#ablauf">Ablauf einer Anmeldung</a></li>
- </ol>
+ </ul>
</li>
- <li><a href="#sp">MOA-ID-Configuration</a></li>
- </ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p> Das Module MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
+ <li class="index"><a href="#config">MOA-ID-Configuration</a></li>
+ </ul>
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
+ <p> Das Modul MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
<p>Das nachfolgende Blockdiagramm zeigt Struktur von MOA-ID und gibt eine kurze Beschreibung der einzelnen Komponenten.</p>
- <p><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="1000" height="678"></p>
- <p>&nbsp;</p>
+ <br/>
+ <p class="centeredimage"><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="95%" align="middle"></p>
+ <br/>
<p>MOA-ID besteht aus folgenden Kernkomponenten:</p>
<ol>
- <li><u>CORE LOGIC</u>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
- <li><u>Protocol Adapter</u>: Stellt die in MOA-ID 2.x unterst&uuml;tzten <a href="../protocol/protocol.html">Authentifizierungsprotokolle</a> f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
- <li><u>Auth Sources</u>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
- <li><u>Template Generator</u>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
- <li><u>SSO Module</u>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
- <li><u>Statistic Module</u>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
- <li><u>Monitoring &amp; Testing Module</u>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
- <li><u>Configuration</u><u> Modul</u>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
- <li><u>Konfigurationstool</u>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
+ <li><b>CORE LOGIC</b>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
+ <li><b>Protocol Adapter</b>: Stellt die in MOA-ID 2.x unterst&uuml;tzten <a href="../protocol/protocol.html">Authentifizierungsprotokolle</a> f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
+ <li><b>Auth Sources</b>: Stellt die von MOA-ID 2.x unterst&uuml;tzten Identifikationsmechanismen und Single Sign-On Management Funktionen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur, die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll oder mittels Single Sign-On von einem weiteren vertrauensw&uuml;rdigen Identity Provider (Interfederation). Dieses Modul beinhaltet somit alle jene Funktionen welche f&uuml;r den Authentifizierungs- oder Abmeldeprocess erforderlich sind. </li>
+ <li><b>Template Generator</b>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
+ <li><b>SSO Module</b>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
+ <li><b>Statistic Module</b>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
+ <li><b>Monitoring &amp; Testing Module</b>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
+ <li><b>Configuration</b><b> Modul</b>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
+ <li><b>Konfigurationstool</b>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
</ol>
- <h2><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h2>
+ <h3><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h3>
<p>F&uuml;r die Anmeldung in Vertretung und die Anmeldung ausl&auml;ndischer Personen werden zus&auml;tzliche externe Services verwendet.</p>
- <h3><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h3>
+ <h4><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h4>
<p>Ab der MOA-ID Release 1.5.0 werden Online-Vollmachten (f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich) unterst&uuml;tzt. Hierzu werden diese Vollmachten &uuml;ber ein Online-Vollmachten-Service ausgew&auml;hlt. Der Zugang zu diesem Online-Vollmachten Service ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
- <h3><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h3>
+ <h4><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h4>
<p> Ab der MOA-ID Release 1.4.7 ist es m&ouml;glich, dass sich auch ausl&auml;ndische B&uuml;rger mittels MOA-ID einloggen k&ouml;nnen. Hierzu wird eine Verbindung zu einem sogenannten Stammzahlenregister-Gateway aufgebaut, dass basierend auf den Zertifikatsdaten des ausl&auml;ndischen B&uuml;rgers eine Eintragung im Erg&auml;nzungsregister f&uuml;r nat&uuml;rliche Personen gem&auml;&szlig; E-Government Gesetz &sect;6(5) vornimmt. Somit ist es m&ouml;glich, dass eine Personenbindung ausgestellt werden kann, die in weitere Folge an MOA-ID weitergeleitet wird. Der Zugang zu diesem Stammzahlenregister-Gateway ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
-<h1><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h1>
+<h2><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h2>
<p>Das Modul MOA-ID-Auth dient der Identifizierung und Authentifizierung im Rahmen eines Anmeldevorgangs an einer Online-Applikation. Die Identifizierung und Authentifizierung erfolgt mit B&uuml;rgerkarte, Handy-Signatur oder f&uuml;r ausl&auml;ndische Personen mittels STORK.</p>
<p>Die Funktionalit&auml;t und der Aufbau der Schnittstellen des Modules MOA-ID-Auth in Richtung Online-Applikation werden im Kapitel <a href="../protocol/protocol.html">Protokolle</a> beschrieben.
<p>F&uuml;r den Betrieb von MOA-ID-Auth ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.</p>
-<h2><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h2>
+<h3><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h3>
<p>Die nachfolgende Grafik beschreibt den Ablauf eines Abmeldevorgangs an einer Online-Applikation mit Hilfe von MOA-ID-Auth unter Verwendung der B&uuml;rgerkarte oder der Handy-Signatur.</p>
-<p><img src="anmeldeablauf.png" width="947" height="881" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth"></p>
+<p class="centeredimage"><img src="anmeldeablauf.png" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth" width="95%"></p>
<p>&nbsp;</p>
<ol>
<li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
@@ -69,10 +70,10 @@
<li>MOA-ID-Auth validiert die Authentifizierungsanfrage des Service Providers</li>
<li>MOA-ID-Auth bietet dem Benutzer eine Auswahl von verf&uuml;gbaren Authentifizierungsmethoden (B&uuml;rgerkarte, Handy-Signatur, STORK) an.</li>
<li>Der Benutzer w&auml;hlt die gew&uuml;nschte Authentifizierungsmethode und sendet diese an MOA-ID-Auth.</li>
- <li>MOA-ID-AUTH erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
- <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
- <li>MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-AUTH, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
- <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-AUTH zur&uuml;ckgesendet.</li>
+ <li>MOA-ID-Auth erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
+ <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-Auth. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
+ <li>MOA-ID-Auth erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-Auth, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
+ <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-Auth zur&uuml;ckgesendet.</li>
<li>MOA-ID-Auth &uuml;berpr&uuml;ft den signierten AUTH-Block und generiert Information f&uuml;r weitere Anmeldungen mittels Single Sign-On.</li>
<li>MOA-ID-Auth generiert die Anmeldedaten (Assertion) welche folgende Information enthalten:
<ul>
@@ -89,7 +90,7 @@
<li> MOA-ID-Auth sendet die Anmeldedaten an den Service-Provider und setzt im Browser des Benutzers ein SSO Session-Token welches f&uuml;r weitere Anmeldevorg&auml;nge verwendet werden kann.</li>
<li>Die Anmeldedaten werden vom Service-Provider verarbeitet und der Benutzer wird vom Service-Provider an die Online-Applikation weitergeleitet. </li>
</ol>
-<h1><a name="config" id="config"></a>3 MOA-ID-Configuration </h1>
+<h2><a name="config" id="config"></a>3 MOA-ID-Configuration </h2>
<p>Das Modul MOA-ID-Configuration stellt eine web-basierte Benutzerschnittstelle zur Konfiguration des Moduls MOA-ID-Auth zur Verf&uuml;gung, wobei sich die Konfiguration in zwei Teilbereiche unterteilt ist. Eine detaillierte Aufstellung der einzelnen Konfigurationspunkte befindet sich im Kapitel <a href="../config/config.html">Konfiguration</a>.</p>
<ol>
<li>Allgemeine Konfiguration<br>
@@ -99,5 +100,6 @@
</ol>
<p>Zus&auml;tzlich unterst&uuml;tzt das Module MOA-ID-Configuration auch eine einfache Benutzerverwaltung mit Rechtevergabe mit deren Hilfe die Verwaltung von Online-Applikationen an den jeweiligen Service-Provider ausgelagert werden kann. Die Anmeldung am Konfigurationstool erfolgt mittels B&uuml;rgerkarte, Handysignatur oder STORK, wobei optional auch eine Anmeldung mittels Benutzername und Passwort zur Verf&uuml;gung steht.</p>
<p>&nbsp;</p>
+ </div>
</body>
</html>
diff --git a/id/server/doc/handbook/protocol/protocol.html b/id/server/doc/handbook/protocol/protocol.html
index 1c6e51661..6214c393c 100644
--- a/id/server/doc/handbook/protocol/protocol.html
+++ b/id/server/doc/handbook/protocol/protocol.html
@@ -4,21 +4,22 @@
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title>MOA-ID - Protokolle</title>
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:300,400' rel='stylesheet' type='text/css'>
</head>
<body link="#990000">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Dokumentation</td>
- <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA-ID (Identifikation) </a></p>
-<p class="subtitle">Protokolle</p>
- <hr/>
-<h1>Inhalt</h1>
- <ol>
+ <div id="headline">
+ <div class="container">
+ <a href="http://www.digitales.oesterreich.gv.at/"><img src="../common/logo_digAT.png"/></a>
+ <a href="../index.html"><h1>MOA-ID-AUTH </h1></a>
+ <br/>
+ </div>
+ </div>
+
+<div class="container">
+<h1>Protokolle</h1>
+
+<h2>Inhalt</h2>
+ <ol class="index">
<li><a href="#allgemeines">Allgemeines</a>
<ol>
<li><a href="#allgemeines_zugangspunkte">&Uuml;bersicht der Zugangspunkte</a></li>
@@ -78,18 +79,18 @@
<li><a href="#referenzierte_spezifikation">Referenzierte Spezifikation</a></li>
</ol>
-<hr/>
- <h1><a name="allgemeines"></a>1 Allgemeines</h1>
- <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden.
+
+ <h2><a name="allgemeines"></a>1 Allgemeines</h2>
+ <p>Dieses Kapitel behandelt jene Authentifizierungsprotokolle die vom Modul MOA-ID-Auth unterstützt werden.
Wobei die Verwendung der Protokolle PVP 2.1 oder OpenID Connect empfohlen wird. Das Protokoll SAML 1, welches bis zur MOA-ID Version 1.5.1
- verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p>
-<h2><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 &Uuml;bersicht der Zugangspunkte</h2>
+ verwendet wurde, wird jedoch ab der Version 2.0 nur mehr aus Kompatibilitätsgründen angeboten und nicht mehr aktiv weiterentwickelt.</p>
+<h3><a name="allgemeines_zugangspunkte" id="allgemeines_zugangspunkte"></a>1.1 &Uuml;bersicht der Zugangspunkte</h3>
<p>In diesem Abschnitt sind die Zugangspunkte der vom Modul MOA-ID-Auth unterst&uuml;tzten Protokolle kurz zusammengefasst. Eine detaillierte Beschreibung der einzelnen Protokolle finden Sie in den anschlie&szlig;enden Unterkapiteln. </p>
- <table width="1247" border="1">
+ <table class="configtable">
<tr>
- <th width="164" scope="col">Protokoll</th>
- <th width="168" scope="col">Requesttyp</th>
- <th width="893" scope="col">URL</th>
+ <th>Protokoll</th>
+ <th>Requesttyp</th>
+ <th>URL</th>
</tr>
<tr>
<td><a href="#pvp21">PVP 2.1</a></td>
@@ -122,12 +123,12 @@ Redirect Binding</td>
<td><a href="#openid">OpenID Connect</a></td>
<td>Authentifizierungsrequest <br>
(AuthCode-Request)</td>
- <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/auth</td>
+ <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</td>
</tr>
<tr>
<td><a href="#openid">OpenID Connect</a></td>
<td><p>AccessToken-Request</p></td>
- <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/token</td>
+ <td>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</td>
</tr>
<tr>
<td><a href="#saml1">SAML 1</a></td>
@@ -153,21 +154,21 @@ Redirect Binding</td>
<p>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</p></td>
</tr>
</table>
- <h2><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 &Uuml;bersicht der m&ouml;glichen Attribute</h2>
+ <h3><a name="allgemeines_attribute" id="allgemeines_zugangspunkte2"></a>1.2 &Uuml;bersicht der m&ouml;glichen Attribute</h3>
<p>Die nachfolgende Tabelle beinhaltet eine Liste aller Attribute die vom Modul MOA-ID-Auth an die Online-Applikation zur&uuml;ckgeliefert werden k&ouml;nnen, sofern diese nach der Authentifizierung zur Verf&uuml;gung stehen. Alle Namen beziehen sich auf den Attributnamen im jeweiligen Protokoll. Detailinformationen zu den einzelnen Attributen finden Sie in der <a href="#referenzierte_spezifikation">PVP 2.1 Spezifikation</a> der der <a href="#referenzierte_spezifikation">STORK Spezifikation</a>.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
<th colspan="4" align="center" valign="middle" scope="col">Protokolle</th>
- <th width="429" rowspan="3" scope="col">Beschreibung</th>
+ <th rowspan="3" scope="col">Beschreibung</th>
</tr>
<tr>
- <th width="208" rowspan="2" scope="col">PVP 2.1</th>
+ <th rowspan="2" scope="col">PVP 2.1</th>
<th colspan="2" scope="col">OpenID Connect</th>
- <th width="335" rowspan="2" scope="col">SAML 1</th>
+ <th rowspan="2" scope="col">SAML 1</th>
</tr>
<tr>
- <th width="188" scope="col">Name</th>
- <th width="53" scope="col">Profil</th>
+ <th>Name</th>
+ <th>Profil</th>
</tr>
<tr>
<td>urn:oid:1.2.40.0.10.2.1.1.149</td>
@@ -515,16 +516,16 @@ Redirect Binding</td>
<p><strong>Hinweis:</strong> Dieses Attribut steht nur bei einer Anmeldung mittels STORK zur Verf&uuml;gung.</p></td>
</tr>
</table>
-<h2><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 &Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</h2>
+<h3><a name="statuscodes" id="allgemeines_zugangspunkte6"></a>1.3 &Uuml;bersicht der m&ouml;glichen MOA-ID spezifischen Statuscodes</h3>
<p>Vom Modul MOA-ID-Auth werden verschiedene Authentifizierungsprotokolle wobei diese Protokolle die Fehlerr&uuml;ckgabe unterschiedlich spezifizieren. Zus&auml;tzlich zu den protokollabh&auml;ngigen Statuscodes (<a href="#referenzierte_spezifikation">siehe Spezifikation des jeweiligen Protokolls</a>) werden zus&auml;tzliche protokollunabh&auml;ngige Statuscodes an den Service Provider zur&uuml;ckgeliefert, wobei sich das Format der Fehlerr&uuml;ckgabe jedoch weiterhin protokollspezifisch ist.</p>
<p>Die nachfolgende Tabelle zeigt alle protokollunabh&auml;ngigen Statuscodes welche vom Modul MOA-ID-Auth zur&uuml;ckgeliefert werden k&ouml;nnen.</p>
-<h3><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h3>
+<h4><a name="statuscodes_1xxxx" id="allgemeines_zugangspunkte7"></a>1.3.1 Statuscodes 1xxxx</h4>
<p>Alle Statuscodes beginnend mit der Zahl eins beschreiben Fehler welche w&auml;hrend des Identifizierungs- und Authentifizierungsvorgangs aufgetreten sind.</p>
-<h4><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_10xxx" id="allgemeines_zugangspunkte11"></a>1.3.1.1 Authentifizierung (10xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1000</td>
@@ -559,11 +560,11 @@ Redirect Binding</td>
<td>Vollmachtsmodus f&uuml;r ausl&auml;ndische Personen wird nicht unterst&uuml;tzt.</td>
</tr>
</table>
-<h4><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_11xxx" id="allgemeines_zugangspunkte12"></a>1.3.1.2 Validierung (11xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1100</td>
@@ -606,11 +607,11 @@ Redirect Binding</td>
<td>Fehler beim Validieren der SZR-Gateway Response</td>
</tr>
</table>
-<h4><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_12xxx" id="allgemeines_zugangspunkte13"></a>1.3.1.3 STORK (12xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>1200</td>
@@ -637,16 +638,16 @@ Redirect Binding</td>
<td>Der geforderte QAA Level ist h&ouml;her als der QAA Level der gew&auml;hlten Authentifizierungsmethode</td>
</tr>
</table>
-<h3><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h3>
+<h4><a name="statuscodes_4xxxx" id="allgemeines_zugangspunkte8"></a>1.3.2 Statuscodes 4xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl vier beschreiben Fehler die w&auml;hrend der Kommunikation mit externen Services aufgetreten sind.</p>
-<h4><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h4>
+<h5><a name="statuscodes_40xxx" id="allgemeines_zugangspunkte19"></a>1.3.2.1 BKU (40xxxx)</h5>
<p>Tritt w&auml;hrend des Anmeldevorgangs in der B&uuml;rgerkartenumgebung ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r B&uuml;rgerkartenumgebungsfehler wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus zwei Dezimalstellen, kennzeichnet den Fehler als Fehler als B&uuml;rgerkartenumgebungsfehler. Der zweite Teil, bestehend aus vier Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus der B&uuml;rgerkartenumgebung (<a href="#referenzierte_spezifikation">siehe SecurityLayer Spezifikation</a>). </p>
<p align="right"><em>{40}{xxxxx}</em></p>
<blockquote>
<p>{40} ... MOA-ID Statuscode f&uuml;r Fehler aus der B&uuml;rgerkartenumgebung</p>
<p>{xxxx} .... Fehlercode der B&uuml;rgerkartenumgebung.</p>
</blockquote>
-<h4><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h4>
+<h5><a name="statuscodes_41xxx" id="allgemeines_zugangspunkte20"></a>1.3.2.2 MIS (41xxxx)</h5>
<p>Tritt w&auml;hrend der Kommunikation mit dem Online-Vollmachten Service oder der Vollmachtsauswahl ein Fehler auf so wird der entsprechende Fehlercode an den Service Provider weitergereicht. Der der durch das Modul MOA-ID-Auth weitergereichte Statuscode f&uuml;r Fehler aus dem Online-Vollmachten Service wei&szlig;t das folgende zweiteilige Format auf. Der erste Teil, bestehend aus drei Dezimalstellen, kennzeichnet den Fehler als Fehler als Online-Vollmachten Service Fehler. Der zweite Teil, bestehend aus drei Dezimalstellen bezeichnet den eindeutigen Identifikator des Fehlers aus dem Online-Vollmachten Service (<a href="#referenzierte_spezifikation">siehe Online-Vollmachten Spezifikation</a>). </p>
<p><em>{411}{xxxx}</em></p>
<blockquote>
@@ -654,10 +655,10 @@ Redirect Binding</td>
<p>{xxx} .... Fehlercode des Online-Vollmachten Service.</p>
</blockquote>
<p>Zus&auml;tzlich zu den gemappten Fehlern aus dem Online-Vollmachen Service werden zus&auml;tzliche weitere Fehlercodes definiert.</p>
-<table width="1237" border="1">
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>41000</td>
@@ -668,11 +669,11 @@ Redirect Binding</td>
<td>Allgemeiner Fehler bei der Kommunikation mit dem Online-Vollmachten Service</td>
</tr>
</table>
-<h4><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_42xxx" id="allgemeines_zugangspunkte21"></a>1.3.2.3 SZR-Gateway (42xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4200</td>
@@ -683,35 +684,35 @@ Redirect Binding</td>
<td>Die Antragung in das SZR ist fehlgeschlagen</td>
</tr>
</table>
-<h4><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_43xxx" id="allgemeines_zugangspunkte22"></a>1.3.2.4 MOA SP/SS(43xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4300</td>
<td>Fehler beim Aufruf von MOA SP/SS</td>
</tr>
</table>
-<h4><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_44xxx" id="allgemeines_zugangspunkte23"></a>1.3.2.5 Interfederation (44xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>4400</td>
<td>Fehler beim Generieren der Anmeldedaten</td>
</tr>
</table>
-<h3><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h3>
+<h4><a name="statuscodes_6xxxx" id="allgemeines_zugangspunkte9"></a>1.3.3 Statuscodes 6xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl sechs beschreiben protokollspezifische Fehler die nicht durch das jeweilige Authentifizierungsprotokoll abgebildet werden.</p>
-<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte24"></a>1.3.3.1 Allgemein (61xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6000</td>
@@ -722,11 +723,11 @@ Redirect Binding</td>
<td>Der STORK Request wurde nicht erkannt oder wird nicht unterst&uuml;tzt</td>
</tr>
</table>
-<h4><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_61xxx" id="allgemeines_zugangspunkte16"></a>1.3.3.2 PVP 2.1 (61xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6100</td>
@@ -753,35 +754,35 @@ Redirect Binding</td>
<td>Der Request konnte nicht g&uuml;ltig validiert werden.</td>
</tr>
</table>
-<h4><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_62xxx" id="allgemeines_zugangspunkte17"></a>1.3.3.3 OpenID Connect (62xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6200</td>
<td>Fehlerhafte redirect url</td>
</tr>
</table>
-<h4><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_63xxx" id="allgemeines_zugangspunkte18"></a>1.3.3.4 SAML 1(63xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>6300</td>
<td>Fehlerhaftes SAML Artifact Format</td>
</tr>
</table>
-<h3><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h3>
+<h4><a name="statuscodes_9xxxx" id="allgemeines_zugangspunkte10"></a>1.3.4 Statuscodes 9xxxx</h4>
<p>Alles Statuscodes beginnend mit der Zahl neun beschreiben interne Serverfehler.</p>
-<h4><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_90xxx" id="allgemeines_zugangspunkte14"></a>1.3.4.1 Konfigurationsfehler (90xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>9000</td>
@@ -816,11 +817,11 @@ Redirect Binding</td>
<td>Der SZR-Gateway Client konnte nicht initialisiert werden.</td>
</tr>
</table>
-<h4><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h4>
-<table width="1237" border="1">
+<h5><a name="statuscodes_91xxx" id="allgemeines_zugangspunkte15"></a>1.3.4.2 Interne Fehler (91xxx)</h5>
+<table class="configtable">
<tr>
- <th width="214" scope="col">Statuscode</th>
- <th width="1007" scope="col">Beschreibung</th>
+ <th>Statuscode</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>9100</td>
@@ -844,7 +845,7 @@ Redirect Binding</td>
</tr>
</table>
<p>&nbsp;</p>
-<h2><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h2>
+<h3><a name="allgemeines_sso" id="allgemeines_zugangspunkte3"></a>1.4 Single Sign-On</h3>
<p>Das Modul MOA-ID-Auth unterst&uuml;tzt ab der Version 2.0 Single Sign-On (SSO), wobei diese Funktionalit&auml;t unabh&auml;ngig vom verwendeten Protokoll ist. Bei Verwendung von SSO muss sich der Benutzer nur ein Mal bei MOA-ID-Auth authentifizieren und danach steht die authentifizierte Session f&uuml;r die Benutzerin oder den Benutzer f&uuml;r weitere Anmeldevorg&auml;nge ohne weitere Authentifizierung mittels B&uuml;rgerkarte, Handy-Signatur oder STORK zur Verf&uuml;gung. Die SSO Session kann danach durch <a href="#allgemeines_ssologout">die Benutzerin oder den Benutzer beendet</a> werden, oder sie wird von MOA-ID-Auth nach der <a href="./../config/config.html#konfigurationsparameter_allgemein_timeouts">maximal erlaubten Sessionzeit</a> serverseitig beendet. </p>
<p>Das nachfolgende Sequenzdiagramm zeigt eine Anmeldung mittels Single Sign-On an zwei Online-Applikationen unter Verwendung von PVP 2.1. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung, die Vollmachten-Auswahl oder den Metadatenaustausch betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="sso_sequence.png" width="1095" height="978" alt="Sequenzdiagramm einer Anmeldung mittels Single Sign-On"></p>
@@ -873,7 +874,7 @@ Redirect Binding</td>
<li>Ist die Validierung der Assertion erfolgreich wird die Benutzerin oder der Benutzer an der Online-Applikation 2 angemeldet</li>
</ol>
<p>Zus&auml;tzliche Informationen zur Konfiguration und die sich daraus ergebenden Anforderungen oder Einschr&auml;nkungen finden sie <a href="./../config/config.html#konfigurationsparameter_allgemein_sso">hier</a>.</p>
-<h2><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h2>
+<h3><a name="allgemeines_ssologout" id="allgemeines_zugangspunkte5"></a>1.5 SSO Logout </h3>
<p>Das Modul MOA-ID-Auth stellt ein einfaches Service zur Beendigung einer bestehenden Single Sign-On Session zur Verf&uuml;gung. Nach dem Aufruf dieses Service aus dem Browser des Users wird eine bestehende SSO Session beendet und anschlie&szlig;end wird die Benutzerin oder der Benutzer an eine im LogOut Request angegebene URL weitergeleitet. </p>
<p>Das SSO Logout Service steht unter folgender URL zur Verf&uuml;gung und ben&ouml;tigt einen http GET Parameter:</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
@@ -882,11 +883,11 @@ Redirect Binding</td>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
</pre>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>redirect</td>
@@ -901,7 +902,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<pre>https://demo.egiz.gv.at/moa-id-auth/LogOut?redirect=https://demo.egiz.gv.at/demoportal-openID_demo
</pre>
<p><strong>Hinweis:</strong> Dieses Service bietet jedoch NICHT eine vollst&auml;ndige Single Log-Out Funktionalit&auml;t wie sie im SAML 2 Protokoll vorgesehen ist, sondern beendet ausschlie&szlig;lich die SSO Session in der MOA-ID-Auth Instanz.</p>
-<h3><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h3>
+<h4><a name="allgemeines_ssologout_slo" id="allgemeines_zugangspunkte25"></a>1.5.1 Single LogOut</h4>
<p>Ab der Version 2.1 unterst&uuml;tzt das Modul MOA-ID-Auth Single LogOut (SLO) laut SAML2 Spezifikation. Die SLO Funktionaltit&auml;t steht jedoch nur f&uuml;r Online-Applikationen zur Verf&uuml;gung welche als Authentifizierungsprotokoll PVP 2.1 verwenden. F&uuml;r alle anderen Authentifizierungsprotokolle steht aktuell kein SLO zur Verf&uuml;gung. </p>
<p>F&uuml;r Single LogOut stehen sowohl IDP initialisiertes SLO als auch Service Provider initialisiertes SLO zur Verf&uuml;gung. Als Einsprungpunkt f&uuml;r IDP initialisiertes SLO stellt das Modul MOA-ID-Auth folgende Web Adressen zur Verf&uuml;gung. Nach dem Aufruf dieses Services wird der Single LogOut Vorgang gestartet. Nach erfolgreicher Bearbeitung aller SLO Requests / Response erfolgt die Statusausgabe in den Browser.</p>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/idpSingleLogout</pre>
@@ -912,14 +913,14 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Wenn Single Sign-On mit Authentifizierungsprotokollen, welche kein SLO unters&uuml;tzen verwendet wurde, schl&auml;gt der Single LogOut Vorgang auf jeden Fall fehl, da der Benutzer an den jeweiligen Online-Applikationen nicht angemeldet werden kann. Die SSO Session am Identityprovider wird jedoch auf jeden Fall beendet</p>
<p>&nbsp;</p>
-<h2><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</h2>
+<h3><a name="allgemeines_legacy" id="allgemeines_zugangspunkte4"></a>1.6 Legacy Request (B&uuml;rgerkartenauswahl beim Service Provider)</h3>
<p>Soll die B&uuml;rgerkartenauswahl jedoch weiterhin, wie aus MOA-ID 1.5.1 bekannt direkt in der Online-Applikation des Service Providers erfolgen muss f&uuml;r das jeweilige Protokoll der <a href="./../config/config.html#konfigurationsparameter_allgemein_protocol_legacy">Legacy Modus aktiviert</a> werden. Wird der Legacy Modus verwendet muss jedoch zus&auml;tzlich zu den protokollspezifischen Parametern mindestens der Parameter <em>bkuURI</em>, welcher die gew&auml;hlte B&uuml;rgerkartenumgebung enth&auml;lt, im Authentifizierungsrequest an MOA-ID-Auth &uuml;bergeben werden (siehe <a href="#saml1_startauth">Protokoll SAML 1</a>). Die folgenden Parameter stehen bei Verwendung des Legacy Modus unabh&auml;ngig vom verwendeten Protokoll zur Verf&uuml;gung und bilden den gesamten Umfang der B&uuml;rgerkartenauswahl, wie aus MOA-ID 1.5.1 bekannt, ab.</p>
-<table border="1" width="1247">
+<table class="configtable">
<tbody>
<tr>
- <th scope="col" width="170">Name</th>
- <th scope="col" width="221">Beispielwert</th>
- <th scope="col" width="834">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>bkuURI=&lt;bku-url&gt;</td>
@@ -948,10 +949,10 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
<p>&nbsp;</p>
<p><strong>Hinweis:</strong> Bei einer vollst&auml;ndigen Neukonfiguration ist der Legacy Modus standardm&auml;&szlig;ig f&uuml;r alle Protokolle deaktiviert.</p>
<p><strong>Hinweis:</strong> Bei der Verwendung des Legacy Request f&uuml;r die B&uuml;rgerkartenauswahl ist jedoch zu beachten dass im Falle einer aktiven Single Sign-On Session, MOA-ID-Auth mit einer Abfrage zum SSO Anmeldevorgang antwortet.</p>
-<h1><a name="pvp21"></a>2 PVP 2.1</h1>
+<h2><a name="pvp21"></a>2 PVP 2.1</h2>
<p>Die PVP 2.1 Implementierung des Modules MOA-ID-Auth bezieht sich auf das <a href="#referenzierte_spezifikation">S-Profil der PVP 2 Spezifikation</a>. Das S - Profil von PVP 2 verwendet SAML WebSSO f&uuml;r die Authentifizierung von Benutzern mit Webbrowser. Dadurch wird die direkte Kommunikation des Browsers mit der Anwendung erm&ouml;glicht, was in Anwendungsf&auml;llen notwendig ist, wo Anwendungen nicht kompatibel mit dem Reverse - Proxy - Verfahren sind, datenschutzrechtliche Probleme bestehen oder SAML WebSSO als Industriestandard unterst&uuml;tzt werden soll.</p>
<p>Bevor PVP 2.1 als Authentifizierungsprotokoll verwendet werden kann muss das Modul MOA-ID-Auth entsprechend konfiguriert werden. Detailinformationen zur Konfiguration finden Sie <a href="../config/config.html">hier</a>.</p>
-<h2><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h2>
+<h3><a name="pvp21_sequenz" id="pvp21_sequenz"></a>2.1 Ablauf einer Anmeldung mittels PVP 2.1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels PVP 2.1 und des Modules MOA-ID-Auth als Identity Provider. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="pvp21_sequence.png" width="968" height="687" alt="Sequenzdiagramm PVP 2.1"></p>
<ol>
@@ -973,7 +974,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/LogOut
</ol>
</li>
</ol>
-<h2><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h2>
+<h3><a name="pvp21_metadata" id="pvp21_metadata"></a>2.2 Metadaten</h3>
<p>Das Modul MOA-ID-Auth stellt f&uuml;r Service-Provider (Online-Applikationen) Metadaten bereit welche alle PVP 2.1 spezifischen Informationen der MOA-ID-Auth Instanz beinhalten. Diese Metadaten werden durch das Modul MOA-ID-Auth signiert, wodurch Service Provider die Authentizit&auml;t der Metadaten verifizieren k&ouml;nnen. Ein Beispiel f&uuml;r Metadaten von MOA-ID-Auth finden sie <a href="#idp_metadata.xml">hier</a>. Die aktuellen Metadaten zu Ihrer MOA-ID-Auth Instanz k&ouml;nnen unter folgender URL abgerufen werden.</p>
<pre>http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</pre>
@@ -993,7 +994,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<p>Zus&auml;tzlich unterst&uuml;tzt das Modul MOA-ID-Auth auch die Verschl&uuml;sselung PVP 2.1 Assertion mit einem vom Service-Provider definierten Zertifikat. Um diese Funktion zu nutzen muss in den Metadaten ein zweites XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> mit dem Attribut <code>use=&quot;encryption&quot;</code> vorhanden sein (siehe <a href="./serviceprovider_metadata.xml">Beispiel</a>). In diesem Fall verwendet das Modul MOA-ID-Auth, dass in diesem Element hinterlegte Zertifikat zur Verschl&uuml;sselung der PVP 2.1 Assertion.</p>
<p><strong>Hinweis:</strong> Fehlt im XML Element <code>md:EntitiesDescriptor/md:EntityDescriptormd:SPSSODescriptor/md:KeyDescriptor</code> das Attribut <code>use</code> wird das in diesem Element hinterlegte Zertifikat sowohl zur Pr&uuml;fung der Signatur des Authentifizierungsrequest als auch zur Verschl&uuml;sselung der PVP 2.1 Assertion verwendet.</p>
-<h2><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h2>
+<h3><a name="pvp21_binding" id="pvp21_binding"></a>2.3 Zugangspunkte</h3>
<p>F&uuml;r die Kommunikation zwischen Service Provider und dem Modul MOA-ID-Auth stellt MOA-ID-Auth aktuell zwei PVP 2.1 spezifische Zugangspunkte zur Verf&uuml;gung. Detailinformationen zu den beiden Zugangspunkten (Bindings) entnehmen finden Sie in der <a href="#referenzierte_spezifikation">SAML2 Spezifikation</a>. </p>
<ul>
<li><strong>POST Binding</strong>: In diesem Fall erfolgt die &Uuml;bertragung mittels http POST. Hierf&uuml;r stellt MOA-ID-Auth den folgenden Zugangspunkt zur Verf&uuml;gung.</li>
@@ -1004,16 +1005,16 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<pre>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/redirect</pre>
<p><strong>Hinweis:</strong> Die Zugangspunkte k&ouml;nnen auch direkt aus den von MOA-ID-Auth generierten Metadaten entnommen werden.</p>
-<h3><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h3>
+<h4><a name="pvp21_binding_request" id="pvp21_binding2"></a>2.3.1 Authentifizierungsrequest</h4>
<p>Der Authentifizierungsrequest wird vom Service Provider erstellt und an das Modul MOA-ID-Auth &uuml;bermittelt. Zur &Uuml;bertragung, muss je nach verwendetem Binding, einer der beiden <a href="#pvp21_binding">Zugangspunkte</a> und die entsprechende Kodierung der Parameter verwendet werden.</p>
<p>Folgende Minimalanforderungen an den Authentifizierungsrequest m&uuml;ssen erf&uuml;llt sein.</p>
<ul>
<li>Der Request muss durch den Service Provider signiert sein (siehe <a href="AuthRequest.xml">Beispiel</a>). Die Signatur wird durch das Modul MOA-ID-Auth mit Hilfe des in den <a href="#pvp21_metadata">Metadaten hinterlegten Zertifikats</a> validiert. Schl&auml;gt die Signaturpr&uuml;fung fehl oder ist keine Signatur vorhanden wird der Request abgewiesen und MOA-ID-Auth antwortet mit http Code <em>400</em> und der Fehlermeldung <em>NO valid protocol request received!</em>.</li>
<li>
- <table border="1" cellpadding="2" class="fixedWidth">
+ <table class="configtable">
<tr>
- <td width="8%">Name</td>
- <td width="92%"><code>saml2p:AuthnRequest/saml2:Issuer</code></td>
+ <td>Name</td>
+ <td ><code>saml2p:AuthnRequest/saml2:Issuer</code></td>
</tr>
<tr>
<td> Gebrauch</td>
@@ -1026,7 +1027,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</table>
</li>
<li>
- <table border="1" cellpadding="2" class="fixedWidth">
+ <table class="configtable">
<tr>
<td width="8%">Name</td>
<td width="92%"><code>/saml2p:AuthnRequest/@ID</code></td>
@@ -1044,7 +1045,7 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ul>
<p>Einen Beispielrequest finden Sie <a href="AuthRequest.xml">hier</a>.</p>
<p><strong>Hinweis:</strong> Detailinformationen finden Sie im Abschnitt <a href="#referenzierte_spezifikation">Spezifikationen</a> in der PVP 2.1 Spezifikation und der SAML2 Spezifikation.</p>
-<h3><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h3>
+<h4><a name="pvp21_binding_response" id="pvp21_binding3"></a>2.3.2 Authentifizierungsresponse</h4>
<p>Nach erfolgreicher Authentifizierung antwortet das Modul MOA-ID-Auth mit einer PVP 2.1 Assertion. Zur &Uuml;bertragung der Assertion erfolgt an das in den Metadaten der Online-Applikation angegebene <em>AssertionConsumerService</em> (siehe <a href="#pvp21_metadata">Metadaten</a>).</p>
<p>Aktuell werden vom Modul MOA-ID-Auth zwei Bindings zur &Uuml;bertragung der Assertion unterst&uuml;tzt.</p>
<ul>
@@ -1145,13 +1146,13 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
<td><p>Dieses Attribut beinhaltet einen von MOA-ID-Auth ausgestellten G&uuml;ltigkeitszeitraum f&uuml;r diese Assertion. Aktuell betr&auml;gt der G&uuml;ltigkeitszeitraum f&uuml;nf Minuten ab dem Ausstellzeitpunkt.</p></td>
</tr>
</table>
-<h1><a name="openid"></a>3 OpenID Connect </h1>
-<p>OpenID Connect ist ein Authentifizierungsprotokoll welches auf dem OAuth 2.0 Protokoll aufbaut. Dieses Protokoll erlaubt Online-Applikationen die Identifizierung und Authentifizierung von Benutzern, mit Hilfe des Modules MOA-ID-Auth. Der Vorteil von OpenID Connect im Vergleich zu auf SAML basierten Protokollen (PVP 2.1, SAML 1) ist der einfachere Aufbau der einzelnen Protokollnachrichten. Zusätzlich existieren einige frei Verfügbare Bibliotheken für unterschiedliche Programmiersprachen, welche OpenID Connect implementieren.</p>
+<h2><a name="openid"></a>3 OpenID Connect </h2>
+<p>OpenID Connect ist ein Authentifizierungsprotokoll welches auf dem OAuth 2.0 Protokoll aufbaut. Dieses Protokoll erlaubt Online-Applikationen die Identifizierung und Authentifizierung von Benutzern, mit Hilfe des Modules MOA-ID-Auth. Der Vorteil von OpenID Connect im Vergleich zu auf SAML basierten Protokollen (PVP 2.1, SAML 1) ist der einfachere Aufbau der einzelnen Protokollnachrichten. Zusätzlich existieren einige frei Verfügbare Bibliotheken für unterschiedliche Programmiersprachen, welche OpenID Connect implementieren.</p>
<p>Bevor OpenID Connect in Kombination mit dem Modul MOA-ID-Auth verwendet werden kann muss das Modul MOA-ID-Auth konfiguriert werden. Detailinformationen zur <a href="./../config/config.html#basisconfig_moa_id_auth_param_protocol_openid" >Allgemeinen Konfiguration</a> und zur <a href="./../config/config.html#konfigurationsparameter_oa_protocol_openIDConnect">online-applikationsspezifischen Konfiguration</a> finden Sie im jeweiligen Abschnitt des Kapitels Konfiguration.</p>
-<p>Die nachfolgende Beschreibung gibt einen kurzen Überblick zur Verwendung des Protokolls OpenID Connect in Kombination mit dem Modul MOA-ID-Auth. Detailinformationen zu OpenID Connect entnehmen Sie bitte der aktuellen <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a></p>
+<p>Die nachfolgende Beschreibung gibt einen kurzen Ãœberblick zur Verwendung des Protokolls OpenID Connect in Kombination mit dem Modul MOA-ID-Auth. Detailinformationen zu OpenID Connect entnehmen Sie bitte der aktuellen <a href="#referenzierte_spezifikation">OpenID Connect Spezifikation</a></p>
-<h2><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h2>
-<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels OpenID Connect und des Modules MOA-ID-Auth als Identity Provider. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p>
+<h3><a name="openid_sequenzdiagramm"></a>3.1 Ablauf einer Anmeldung mittels OpenID Connect</h3>
+<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels OpenID Connect und des Modules MOA-ID-Auth als Identity Provider. Aus Gründen der Übersichtlichkeit wurden die Teile welche die Kommunikation mit der Bürgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht berücksichtigt.</p>
<p><img src="openIDconnect_sequenz.png" width="1138" height="705" alt="Sequenzdiagramm OpenID Connect"></p>
<ol>
@@ -1182,23 +1183,23 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/pvp2/metadata
</ol>
</li>
</ol>
-<h2><a name="openid_interface"></a>3.2 Zugangspunkte</h2>
-<p>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.</p>
+<h3><a name="openid_interface"></a>3.2 Zugangspunkte</h3>
+<p>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.</p>
<ul>
- <li><b>AuthCode-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/auth</em><br> Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation. Hier finden Sie Detailinformationen zum <a href="#openid_req_authnreq"> Request </a>und zur <a href="#openid_req_authnresp">Response</a>.</li>
- <li><b>AccessToken-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth2/token</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden. Hier finden Sie Detailinformationen zum <a href="#openid_req_tokenreq"> Request </a>und zur <a href="#openid_req_tokenresp">Response</a>.</li>
+ <li><b>AuthCode-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/auth</em><br> Unter dieser URL wird der Authn Request entgegengenommen. Dieser Request startet den Authentifizierungsvorgang an der Online-Applikation. Hier finden Sie Detailinformationen zum <a href="#openid_req_authnreq"> Request </a>und zur <a href="#openid_req_authnresp">Response</a>.</li>
+ <li><b>AccessToken-Request:</b> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/oauth3/token</em><br> Unter dieser URL können nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden. Hier finden Sie Detailinformationen zum <a href="#openid_req_tokenreq"> Request </a>und zur <a href="#openid_req_tokenresp">Response</a>.</li>
</ul>
-<h2><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h2>
-<p>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 <a href="#openid_sequenzdiagramm">Abschnitt 3.1</a> Bezug genommen.</p>
+<h3><a name="openid_requests"></a>3.3 Beschreibung der Nachrichten</h3>
+<p>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 <a href="#openid_sequenzdiagramm">Abschnitt 3.1</a> Bezug genommen.</p>
-<h3><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h3>
-<p>Der AuthCode Request ist die Authentifizierungsanfrage einer Online-Applikation für eine Benutzerin oder einen Benutzer.
-Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
-<table width="1247" border="1">
+<h4><a name="openid_req_authnreq"></a>3.2.1 AuthCode Request</h4>
+<p>Der AuthCode Request ist die Authentifizierungsanfrage einer Online-Applikation für eine Benutzerin oder einen Benutzer.
+Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für die Übertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>client_id</td>
@@ -1241,7 +1242,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen OpenID Connect Authentifizierungsrequest an das Modul MOA-ID-Auth.</p>
-<pre>&lt;form method=&quot;get&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/auth&quot;&gt;
+<pre>&lt;form method=&quot;get&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/auth&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;code&quot; name=&quot;response_type&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
@@ -1249,13 +1250,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&lt;input type=&quot;hidden&quot; value=&quot;1152547590&quot; name=&quot;state&quot;&gt;
&lt;input type=&quot;submit&quot; value=&quot;OpenID Connect login&quot;&gt;
&lt;/form&gt;</pre>
-<h3><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h3>
+<h4><a name="openid_req_authnresp"></a>3.2.2 AuthCode Response</h4>
<p>Das Ergebnis des AuthCode Requests wird an die <em>redirect_uri</em> der Online-Applikation gesendet. Die nachfolgenden Parameter werden dabei &uuml;bergeben.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>state</td>
@@ -1271,13 +1272,13 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r eine AuthCode Response.</p>
<pre>https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action?state=1425782214234&amp;code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7 </pre>
-<h3><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h3>
+<h4><a name="openid_req_tokenreq"></a>3.2.3 AccessToken Request</h4>
<p>Mit dem AccessToken Request k&ouml;nnen vom Service Provider der Online-Applikation die Anmeldedaten an der MOA-ID-Auth Instanz abgeholt werden. F&uuml;r die Abholung m&uuml;ssen folgende Parameter mit dem AccessToken Request an MOA-ID-Auth &uuml;bertragen werden, wobei f&uuml;r die &Uuml;bertragung der Parameter sowohl http GET als auch http POST verwendet werden kann.</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>grant_type</td>
@@ -1307,7 +1308,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</table>
<p>&nbsp;</p>
<p>Nachfolgend ein Beispiel f&uuml;r einen AccessToken Request</p>
-<pre>&lt;form method=&quot;POST&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth2/token&quot;&gt;
+<pre>&lt;form method=&quot;POST&quot; action=&quot;https://demo.egiz.gv.at/demoportal_moaid-2.0/oauth3/token&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;authorization_code&quot; name=&quot;grant_type&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo&quot; name=&quot;client_id&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;https://demo.egiz.gv.at/demoportal-openID_demo/securearea.action&quot; name=&quot;redirect_uri&quot;&gt;
@@ -1315,16 +1316,16 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&lt;input type=&quot;hidden&quot; value=&quot;4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&quot; name=&quot;code&quot;&gt;
&lt;/form&gt;</pre>
-<h3><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h3>
+<h4><a name="openid_req_tokenresp"></a>3.2.4 AccessToken Response</h4>
<p>Die AccessToken Response beinhaltet ein signiertes JSON-Token welches alle angeforderten (Parameter <em>scope</em> im AuthCode Request) und vorhandenen Authentifizierungsdaten beinhaltet. Dieses JSON-Token ist mit einer JSON Web Signatur von MOA-ID-Auth signiert, wobei die Signatur alle angeforderten Daten einschlie&szlig;t. Details zur Konfiguration des Signatur Zertifikats finden Sie <a href="../config/config.html#basisconfig_moa_id_auth_param_protocol_openid">hier</a>. </p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>access_token</td>
@@ -1365,20 +1366,20 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
- Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
+ Jp6IcmD3HP99Obi1PRs-cwh4LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg&quot;
} </pre>
-<h3><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h3>
+<h4><a name="openid_req_errorresponse" id="openid_req_errorresponse"></a>3.2.5 Error Response</h4>
<p>Sollte w&auml;hrend des Authentifizierungsvorgangs ein Fehler auftreten antwortet das Modul MOA-ID-Auth mit einer Error Response. Diese beinhaltet folgende Parameter</p>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="115" scope="col">Name</th>
- <th width="262" scope="col">Beispielwert</th>
- <th width="848" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>error</td>
@@ -1397,10 +1398,10 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
</tr>
</table>
<p>&nbsp;</p>
-<h1><a name="saml1"></a>3 SAML 1</h1>
+<h2><a name="saml1"></a>3 SAML 1</h2>
<p>SAML 1 wird durch MOA-ID-Auth 2.0 auch weiterhin, aus Gr&uuml;nden der Abw&auml;rtskompatibilit&auml;t, als Authentifizierungsprotokoll unterst&uuml;tzt. Es wird jedoch der Umstieg auf ein aktuelles Authentifizierungsprotokoll wie PVP 2.1 oder OpenID Connect empfohlen.</p>
<p>Die nachfolgenden Abschnitte beschreiben den Anmeldevorgang unter Verwendung von SAML1 wobei die Funktionalit&auml;t, wie sie aus MOA-ID &lt;= 1.5.1 bekannt ist, auch weiterhin unterst&uuml;tzt wird (B&uuml;rgerkartenauswahl auf Seiten des Service Provider). Zus&auml;tzlich steht f&uuml;r SAML 1 jedoch auch die Funktionalit&auml;t der automatischen Generierung der B&uuml;rgerkartenauswahl durch das Modul MOA-ID-Auth zur Verf&uuml;gung.</p>
-<h2><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h2>
+<h3><a name="saml1_sequence" id="saml1_sequence"></a>3.1 Ablauf einer Anmeldung mittels SAML 1</h3>
<p>Die nachfolgende Abbildung zeigt das Sequenzdiagramm eines Anmeldevorgangs mittels SAML 1 und des Modules MOA-ID-Auth als Identity Provider. Hierbei wird die aus MOA-ID 1.5.1 bekannte Variante der B&uuml;rgerkartenauswahl beim Service Provider verwenden. Aus Gr&uuml;nden der &Uuml;bersichtlichkeit wurden die Teile welche die Kommunikation mit der B&uuml;rgerkartenumgebung oder die Vollmachten-Auswahl betreffen bewusst nicht ber&uuml;cksichtigt.</p>
<p><img src="saml1_sequence.png" width="936" height="592" alt="Sequenzdiagramm f&uuml;r SAML 1"></p>
<ol>
@@ -1419,7 +1420,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<li>MOA-ID-Auth validiert das Artifact. Ist die Validierung erfolgreich antwortet MOA-ID-Auth mit der SAML 1 Assertion, welche die Anmeldedaten beinhaltet. </li>
<li>Der Service Provider verarbeitet die Assertion und danach ist der Benutzer an der Online-Applikation angemeldet.</li>
</ol>
-<h2><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h2>
+<h3><a name="saml1_zugang" id="saml1_zugang"></a>3.2 Zugangspunkte</h3>
<p>Zur Verwendung von SAML 1 stellt das Modul MOA-ID-Auth zwei Zugangspunkte zur Kommunikation mit der Online-Applikation (Service Provider) zur Verf&uuml;gung. Diese Zugangspunkte bezeichnen die URLs unter welchen das Modul MOA-ID-Auth die entsprechenden SAML1 Nachrichten entgegennimmt.</p>
<ul>
<li><strong>StartAuthentication Request:</strong> <em>https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/StartAuthentication</em><br>
@@ -1427,7 +1428,7 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<li><strong>GetAuthenticationData:</strong> <em>http(s)://&lt;host&gt;:&lt;port&gt;/moa-id-auth/services/GetAuthenticationData</em><br>
Unter dieser URL k&ouml;nnen nach erfolgreicher Authentifizierung die eigentlichen Authentifizierungsdaten am Modul MOA-ID-Auth abgeholt werden.</li>
</ul>
-<h2><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h2>
+<h3><a name="saml1_startauth" id="saml1_zugang2"></a>3.3 StartAuthentication Request</h3>
<p>MOA-ID-Auth wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein. Der Aufruf erfolgt durch einen Verweis der Form, wobei die Parameter sowohl als http GET als auch als http POST an MOA-ID-Auth &uuml;bergeben werden k&ouml;nnen.</p>
<pre>&lt;a href="https://&lt;moa-id-server-und-pfad&gt;/StartAuthentication
?Target=&lt;gesch&auml;ftsbereich&gt;
@@ -1436,11 +1437,11 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
&amp;Template=&lt;template-url&gt;
&amp;useMandate=false
&amp;CCC=&lt;ccc&gt;"&gt;</pre>
-<table width="1247" border="1">
+<table class="configtable">
<tr>
- <th width="170" scope="col">Name</th>
- <th width="221" scope="col">Beispielwert</th>
- <th width="834" scope="col">Beschreibung</th>
+ <th>Name</th>
+ <th>Beispielwert</th>
+ <th>Beschreibung</th>
</tr>
<tr>
<td>&lt;moa-id-server-und-pfad&gt;</td>
@@ -1486,12 +1487,12 @@ Folgende Parameter müssen mit dem AuthCode-Request mitgesendet werden, wobei für
<td><strong>Optional:</strong> Die sourceID flie&szlig;t in die Generierung des SAML1 Artifacts, welches an den Service Provider returniert wird, ein. Detailinformationen zur Generierung des SAML1 Artifacts und zur sourceID finden Sie in der <a href="#referenzierte_spezifikation">SAML1 Spezifikation</a>.</td>
</tr>
</table>
-<h2><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h2>
+<h3><a name="saml1_getassertion" id="saml1_zugang3"></a>3.4 GetAuthenticationData Request</h3>
<p>Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). <br>
<br>
In diesem Redirect werden der Gesch&auml;ftsbereich und ein SAML-Artifact als Parameter &uuml;bergeben. </p>
<pre>&lt;a href="https://&lt;oa-url&gt;?Target=&lt;gesch&auml;ftsbereich&gt;&amp;SAMLArtifact=&lt;saml-artifact&gt;"&gt;</pre>
-<table border="1">
+<table class="configtable">
<tbody valign="baseline">
<tr>
<td>oa-url&gt;</td>
@@ -1519,8 +1520,8 @@ Sollte w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d
<li> <a href="file:///D:/Projekte/svn/moa-id/moa-idspss/id/server/doc/cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a></li>
</ul>
<p>Der detaillierte Aufbau der &lt;saml:Assertion&gt; zu den Anmeldedaten ist in der <a href="./../spec/MOA_ID_1.4_20070802.pdf">Spezifikation MOA-ID 1.4</a> beschrieben.</p>
-<h1><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h1>
-<table class="fixedWidth" border="1" cellpadding="2">
+<h2><a name="referenzierte_spezifikation" id="uebersicht_zentraledatei_aktualisierung30"></a>A Referenzierte Spezifikation</h2>
+<table class="configtable">
<tbody>
<tr>
<th>Spezifikation</th>
@@ -1560,5 +1561,6 @@ Sollte w&auml;hrend des Anmeldevorgangs ein Fehler aufgetreten sein, antwortet d
</tr>
</tbody>
</table>
+ </div>
</body>
</html>
diff --git a/id/server/idserverlib/.gitignore b/id/server/idserverlib/.gitignore
index ea8c4bf7f..19f2e002c 100644
--- a/id/server/idserverlib/.gitignore
+++ b/id/server/idserverlib/.gitignore
@@ -1 +1,2 @@
/target
+/target
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 65004490b..44a6c3e60 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -352,7 +352,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.9</version>
+ <version>1.10</version>
</dependency>
<!-- Google OAuth Client -->
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
index 4d84ce0a5..5d816be1b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java
@@ -43,6 +43,7 @@ import javax.xml.bind.Marshaller;
import org.opensaml.saml2.core.Attribute;
import org.opensaml.saml2.core.AttributeQuery;
+import org.opensaml.saml2.core.AuthnStatement;
import org.opensaml.saml2.core.Response;
import org.opensaml.ws.soap.common.SOAPException;
import org.opensaml.xml.XMLObject;
@@ -214,7 +215,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
} else {
//build AuthenticationData from MOASession
- buildAuthDataFormMOASession(authdata, session, oaParam);
+ buildAuthDataFormMOASession(authdata, session, oaParam, protocolRequest);
}
@@ -271,12 +272,13 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
AssertionAttributeExtractor extractor =
new AssertionAttributeExtractor(intfResp);
- if (!extractor.containsAllRequiredAttributes()) {
+ if (!extractor.containsAllRequiredAttributes()) {
+ Logger.info("Received assertion does no contain a minimum set of attributes. Starting AttributeQuery process ...");
//collect attributes by using BackChannel communication
String endpoint = idp.getIDPAttributQueryServiceURL();
if (MiscUtil.isEmpty(endpoint)) {
- Logger.error("No AttributeQueryURL for interfederationIDP " + oaParam.getPublicURLPrefix());
- throw new ConfigurationException("No AttributeQueryURL for interfederationIDP " + oaParam.getPublicURLPrefix(), null);
+ Logger.error("No AttributeQueryURL for interfederationIDP " + idp.getPublicURLPrefix());
+ throw new ConfigurationException("No AttributeQueryURL for interfederationIDP " + idp.getPublicURLPrefix(), null);
}
//build attributQuery request
@@ -321,7 +323,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
//parse response information to authData
- buildAuthDataFormInterfederationResponse(authdata, session, extractor, oaParam);
+ buildAuthDataFormInterfederationResponse(authdata, session, extractor, oaParam, req);
} catch (SOAPException e) {
throw new BuildException("builder.06", null, e);
@@ -348,7 +350,8 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
AuthenticationData authData,
AuthenticationSession session,
AssertionAttributeExtractor extractor,
- IOAAuthParameters oaParam)
+ IOAAuthParameters oaParam,
+ IRequest req)
throws BuildException, AssertionAttributeExtractorExeption {
Logger.debug("Build AuthData from assertion starts ....");
@@ -358,14 +361,35 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
authData.setFamilyName(extractor.getSingleAttributeValue(PVPConstants.PRINCIPAL_NAME_NAME));
authData.setGivenName(extractor.getSingleAttributeValue(PVPConstants.GIVEN_NAME_NAME));
authData.setDateOfBirth(extractor.getSingleAttributeValue(PVPConstants.BIRTHDATE_NAME));
- authData.setBPKType(extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME));
authData.setCcc(extractor.getSingleAttributeValue(PVPConstants.EID_ISSUING_NATION_NAME));
authData.setBkuURL(extractor.getSingleAttributeValue(PVPConstants.EID_CCS_URL_NAME));
authData.setIdentificationValue(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_NAME));
authData.setIdentificationType(extractor.getSingleAttributeValue(PVPConstants.EID_SOURCE_PIN_TYPE_NAME));
+
+ if (extractor.containsAttribute(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME)) {
+ String bpkType = extractor.getSingleAttributeValue(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME);
+ if (bpkType.startsWith(Constants.URN_PREFIX_CDID) &&
+ !bpkType.substring(Constants.URN_PREFIX_CDID.length(),
+ Constants.URN_PREFIX_CDID.length() + 1).equals("+")) {
+ Logger.warn("Receive uncorrect encoded bBKType attribute " + bpkType + " Starting attribute value correction ... ");
+ bpkType = Constants.URN_PREFIX_CDID + "+" + bpkType.substring(Constants.URN_PREFIX_CDID.length() + 1);
+
+ }
+
+ authData.setBPKType(bpkType);
+ }
+
if (extractor.containsAttribute(PVPConstants.BPK_NAME)) {
String pvpbPK = extractor.getSingleAttributeValue(PVPConstants.BPK_NAME);
+
+ if (pvpbPK.startsWith("bPK:")) {
+ Logger.warn("Attribute " + PVPConstants.BPK_NAME
+ + " contains a not standardize prefix! Staring attribute value correction process ...");
+ pvpbPK = pvpbPK.substring("bPK:".length());
+
+ }
+
String[] spitted = pvpbPK.split(":");
authData.setBPK(spitted[1]);
if (MiscUtil.isEmpty(authData.getBPKType())) {
@@ -513,7 +537,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
//build OA specific bPK/wbPK information
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(req, oaParam, authData,
authData.getIdentificationValue(),
authData.getIdentificationType());
@@ -521,7 +545,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
if (MiscUtil.isEmpty(authData.getBPK())) {
Logger.debug("Calcutlate bPK from baseID");
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(req, oaParam, authData,
authData.getIdentificationValue(),
authData.getIdentificationType());
@@ -536,7 +560,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
} else {
Logger.debug("Found PVP QAA level. QAA mapping process starts ... ");
- String mappedQAA = PVPtoSTORKMapper.getInstance().mapQAALevel(qaaLevel);
+ String mappedQAA = PVPtoSTORKMapper.getInstance().mapToQAALevel(qaaLevel);
if (MiscUtil.isNotEmpty(mappedQAA))
authData.setQAALevel(mappedQAA);
@@ -744,6 +768,12 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
}
+ //set PVP OU attribute
+ if (extractor.containsAttribute(PVPConstants.OU_NAME)) {
+ authData.setPvpAttribute_OU(extractor.getSingleAttributeValue(PVPConstants.OU_NAME));
+ Logger.debug("Found PVP 'OU' attribute in response -> " + authData.getPvpAttribute_OU());
+
+ }
//set STORK attributes
if (extractor.containsAttribute(PVPConstants.EID_STORK_TOKEN_NAME)) {
@@ -761,8 +791,19 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
authData.setSsoSession(true);
authData.setInterfederatedSSOSession(true);
- if (extractor.getFullAssertion().getConditions() != null && extractor.getFullAssertion().getConditions().getNotOnOrAfter() != null)
+ if (extractor.getFullAssertion().getAuthnStatements() != null
+ && extractor.getFullAssertion().getAuthnStatements().size() > 0) {
+ for (AuthnStatement el : extractor.getFullAssertion().getAuthnStatements()) {
+ if (el.getSessionNotOnOrAfter() != null) {
+ authData.setSsoSessionValidTo(el.getSessionNotOnOrAfter().toDate());
+ break;
+ }
+ }
+
+ } else {
authData.setSsoSessionValidTo(extractor.getFullAssertion().getConditions().getNotOnOrAfter().toDate());
+
+ }
//only for SAML1
if (PVPConstants.STORK_QAA_1_4.equals(authData.getQAALevel()))
@@ -805,7 +846,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
private static void buildAuthDataFormMOASession(AuthenticationData authData, AuthenticationSession session,
- IOAAuthParameters oaParam) throws BuildException, ConfigurationException {
+ IOAAuthParameters oaParam, IRequest protocolRequest) throws BuildException, ConfigurationException {
IdentityLink identityLink = session.getIdentityLink();
@@ -919,7 +960,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
Logger.trace("Authenticated User is OW: " + mandate.getOWbPK());
} else {
- buildOAspecificbPK(oaParam, authData,
+ buildOAspecificbPK(protocolRequest, oaParam, authData,
identityLink.getIdentificationValue(),
identityLink.getIdentificationType());
@@ -969,7 +1010,7 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
}
- private static void buildOAspecificbPK(IOAAuthParameters oaParam, AuthenticationData authData, String baseID, String baseIDType) throws BuildException {
+ private static void buildOAspecificbPK(IRequest protocolRequest, IOAAuthParameters oaParam, AuthenticationData authData, String baseID, String baseIDType) throws BuildException {
if (oaParam.getBusinessService()) {
//since we have foreigner, wbPK is not calculated in BKU
@@ -990,9 +1031,15 @@ public class AuthenticationDataBuilder implements MOAIDAuthConstants {
if (baseIDType.equals(Constants.URN_PREFIX_BASEID)) {
// only compute bPK if online application is a public service and we have the Stammzahl
- String bpkBase64 = new BPKBuilder().buildBPK(baseID, oaParam.getTarget());
+ String target = null;
+ if (protocolRequest instanceof SAML1RequestImpl)
+ target = protocolRequest.getTarget();
+ else
+ target = oaParam.getTarget();
+
+ String bpkBase64 = new BPKBuilder().buildBPK(baseID, target);
authData.setBPK(bpkBase64);
- authData.setBPKType(Constants.URN_PREFIX_CDID + "+" + oaParam.getTarget());
+ authData.setBPKType(Constants.URN_PREFIX_CDID + "+" + target);
}
Logger.trace("Authenticate user with bPK " + authData.getBPK());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
index 1bc3702e4..a123569d5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/StartAuthentificationParameterParser.java
@@ -132,12 +132,13 @@ public class StartAuthentificationParameterParser implements MOAIDAuthConstants{
String targetFriendlyNameConfig = oaParam.getTargetFriendlyName();
if (StringUtils.isEmpty(targetConfig)
-// || (module.equals(SAML1Protocol.PATH) &&
-// !StringUtils.isEmpty(target))
+ || (module.equals(SAML1Protocol.PATH) &&
+ !StringUtils.isEmpty(target))
) {
- // no target attribut is given in OA config
- // target is used from request
- // check parameter
+ //INFO: ONLY SAML1 legacy mode
+ // if SAML1 is used and target attribute is given in request
+ // use requested target
+ // check target parameter
if (!ParamValidatorUtils.isValidTarget(target)) {
Logger.error("Selected target is invalid. Using target: " + target);
throw new WrongParametersException("StartAuthentication", PARAM_TARGET, "auth.12");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
index 2ef8ab5ec..99a7dce89 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java
@@ -45,6 +45,9 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
+import at.gv.egovernment.moa.id.moduls.IRequest;
+import at.gv.egovernment.moa.id.moduls.RequestStorage;
+import at.gv.egovernment.moa.id.protocols.saml1.SAML1Protocol;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
import at.gv.egovernment.moa.logging.Logger;
@@ -116,11 +119,15 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {
else {
- //load Parameters from config
- String target = oaParam.getTarget();
-
-
-
+ //get Target from config or from request in case of SAML 1
+ String target = null;
+ IRequest pendingReq = RequestStorage.getPendingRequest(pendingRequestID);
+ if (MiscUtil.isNotEmpty(pendingReq.getTarget()) &&
+ pendingReq.requestedModule().equals(SAML1Protocol.PATH))
+ target = pendingReq.getTarget();
+ else
+ target = oaParam.getTarget();
+
String bkuURL = oaParam.getBKUURL(bkuid);
if (MiscUtil.isEmpty(bkuURL)) {
Logger.info("No OA specific BKU defined. Use BKU from default configuration");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
index e1cd59c26..61b26b59a 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java
@@ -65,6 +65,7 @@ import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils;
+import at.gv.egovernment.moa.id.commons.utils.HttpClientWithProxySupport;
import at.gv.egovernment.moa.util.Constants;
import at.gv.egovernment.moa.util.DOMUtils;
@@ -137,7 +138,7 @@ public class SZRGWClient {
if (address == null) {
throw new NullPointerException("Address (SZR-gateway ServiceURL) must not be null.");
}
- HttpClient client = new HttpClient();
+ HttpClient client = HttpClientWithProxySupport.getHttpClient();
PostMethod method = new PostMethod(address);
method.setRequestHeader("SOAPAction", "");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
index 88ed7885f..24def1e02 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java
@@ -124,7 +124,7 @@ public class ConfigurationProvider {
protected String certstoreDirectory;
- protected boolean trustmanagerrevoationchecking;
+ protected boolean trustmanagerrevoationchecking = true;
/**
* Returns the main configuration file directory used to configure MOA-ID
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
index 6e85a8847..2a016fa8b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java
@@ -1081,6 +1081,11 @@ public class AuthConfigurationProvider extends ConfigurationProvider {
return !Boolean.valueOf(prop);
}
+ public boolean isPVPSchemaValidationActive() {
+ String prop = props.getProperty("protocols.pvp2.schemavalidation", "true");
+ return Boolean.valueOf(prop);
+ }
+
/**
* Retruns the STORK Configuration
* @return STORK Configuration
@@ -1112,10 +1117,11 @@ private void setCertStoreDirectory() throws ConfigurationException {
private void setTrustManagerRevocationChecking() throws ConfigurationException {
AuthComponentGeneral auth = getAuthComponentGeneral();
- if (auth.getGeneralConfiguration() != null)
+ if (auth.getGeneralConfiguration() != null &&
+ auth.getGeneralConfiguration().isTrustManagerRevocationChecking() != null)
trustmanagerrevoationchecking = auth.getGeneralConfiguration().isTrustManagerRevocationChecking();
else {
- Logger.warn("Error in MOA-ID Configuration. No CertStoreDirectory defined.");
+ Logger.warn("No TrustMangerRevoationChecking defined. Use default value = TRUE");
throw new ConfigurationException("config.02", null);
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
index 9067d8fc4..3d4b53f7c 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java
@@ -151,6 +151,8 @@ public class BuildFromLegacyConfig {
if (genericConfiguration.containsKey(ConfigurationProvider.TRUST_MANAGER_REVOCATION_CHECKING))
authGeneral.setTrustManagerRevocationChecking(
Boolean.valueOf((String)genericConfiguration.get(ConfigurationProvider.TRUST_MANAGER_REVOCATION_CHECKING)));
+ else
+ authGeneral.setTrustManagerRevocationChecking(true);
if (genericConfiguration.containsKey(ConfigurationProvider.DIRECTORY_CERTSTORE_PARAMETER_PROPERTY))
authGeneral.setCertStoreDirectory(
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
index 65c413ef9..05b008515 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationData.java
@@ -133,7 +133,9 @@ public class AuthenticationData implements IAuthData, Serializable {
private String authBlock = null;
private List<String> encbPKList = null;
+ //ISA 1.18 attributes
private List<AuthenticationRole> roles = null;
+ private String pvpAttribute_OU = null;
private boolean useMandate = false;
private MISMandate mandate = null;
@@ -707,6 +709,7 @@ public class AuthenticationData implements IAuthData, Serializable {
return roles;
}
+ //ISA 1.18 attributes
/**
* @param roles the roles to set
*/
@@ -716,26 +719,31 @@ public class AuthenticationData implements IAuthData, Serializable {
this.roles.add(role);
}
+
+ /**
+ * @return the pvpAttribute_OU
+ */
+ public String getPvpAttribute_OU() {
+ return pvpAttribute_OU;
+ }
+
+ /**
+ * @param pvpAttribute_OU the pvpAttribute_OU to set
+ */
+ public void setPvpAttribute_OU(String pvpAttribute_OU) {
+ this.pvpAttribute_OU = pvpAttribute_OU;
+ }
/* (non-Javadoc)
* @see at.gv.egovernment.moa.id.data.IAuthData#isBusinessService()
*/
@Override
public boolean isBusinessService() {
- // TODO Auto-generated method stub
return this.businessService;
}
public void setIsBusinessService(boolean flag) {
this.businessService = flag;
- }
-
-
-
-
-
-
-
-
+ }
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
index 8915b2442..b3b29f6c5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/AuthenticationRoleFactory.java
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.List;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
/**
* @author tlenz
@@ -51,23 +52,29 @@ public class AuthenticationRoleFactory {
List<String> param = Arrays.asList(params.split(","));
String test = new String();
for (String el : param) {
- test = test.concat(el);
- if (!test.endsWith("\\") ||
- (test.endsWith("\\\\") && !test.endsWith("\\\\\\")) ) {
- String[] keyValue = test.split("=");
- if (keyValue.length < 2) {
- role.addParameter(keyValue[0].trim(), "");
- Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim());
+ if (MiscUtil.isNotEmpty(el)) {
+ test = test.concat(el);
+ if (!test.endsWith("\\") ||
+ (test.endsWith("\\\\") && !test.endsWith("\\\\\\")) ) {
+ String[] keyValue = test.split("=");
+ if (keyValue.length < 2) {
+ role.addParameter(keyValue[0].trim(), "");
+ Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim());
- } else {
- role.addParameter(keyValue[0].trim(), keyValue[1].trim());
- Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim()
- + " value=" + keyValue[1].trim());
+ } else {
+ role.addParameter(keyValue[0].trim(), keyValue[1].trim());
+ Logger.debug("Add authentication roleparameter with key=" + keyValue[0].trim()
+ + " value=" + keyValue[1].trim());
- }
+ }
- test = new String();
- }
+ test = new String();
+
+ } else {
+ test = test.substring(0, test.length()-1).concat(",");
+
+ }
+ }
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
index ebbf62ce7..ccc90a031 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/data/IAuthData.java
@@ -69,7 +69,9 @@ public interface IAuthData {
IdentityLink getIdentityLink();
byte[] getSignerCertificate();
String getAuthBlock();
-
+
+ //ISA 1.18 attributes
+ String getPvpAttribute_OU();
List<AuthenticationRole> getAuthenticationRoles();
boolean isPublicAuthority();
@@ -90,5 +92,6 @@ public interface IAuthData {
String getCcc();
STORKAuthnRequest getStorkAuthnRequest();
String getStorkAuthnResponse();
- IPersonalAttributeList getStorkAttributes();
+ IPersonalAttributeList getStorkAttributes();
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
index a4d63b144..333bd35f1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java
@@ -77,6 +77,7 @@ import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.data.SLOInformationContainer;
import at.gv.egovernment.moa.id.data.SLOInformationImpl;
+import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPTargetConfiguration;
import at.gv.egovernment.moa.id.protocols.pvp2x.binding.IEncoder;
import at.gv.egovernment.moa.id.protocols.pvp2x.binding.PostBinding;
@@ -87,9 +88,11 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOARequest;
import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.MOAMetadataProvider;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.MOASAMLSOAPClient;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils;
+import at.gv.egovernment.moa.id.protocols.stork2.MOASTORKRequest;
import at.gv.egovernment.moa.id.storage.AssertionStorage;
import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;
import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
+import at.gv.egovernment.moa.id.util.PVPtoSTORKMapper;
import at.gv.egovernment.moa.id.util.ParamValidatorUtils;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.logging.Logger;
@@ -381,6 +384,7 @@ public class AuthenticationManager extends AuthServlet {
//get IDP metadata
try {
OAAuthParameter idp = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(target.getRequestedIDP());
+ OAAuthParameter sp = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(target.getOAURL());
if (!idp.isInderfederationIDP() || !idp.isInboundSSOInterfederationAllowed()) {
Logger.info("Requested interfederation IDP " + target.getRequestedIDP() + " is not valid for interfederation.");
@@ -389,7 +393,7 @@ public class AuthenticationManager extends AuthServlet {
return;
}
-
+
EntityDescriptor idpEntity = MOAMetadataProvider.getInstance().
getEntityDescriptor(target.getRequestedIDP());
@@ -409,7 +413,7 @@ public class AuthenticationManager extends AuthServlet {
redirectEndpoint == null )
redirectEndpoint = sss;
}
-
+
if (redirectEndpoint != null) {
AuthnRequest authReq = SAML2Utils
@@ -422,16 +426,10 @@ public class AuthenticationManager extends AuthServlet {
authReq.setAssertionConsumerServiceIndex(0);
authReq.setIssueInstant(new DateTime());
- Subject subject = SAML2Utils.createSAMLObject(Subject.class);
- NameID name = SAML2Utils.createSAMLObject(NameID.class);
- Issuer issuer = SAML2Utils.createSAMLObject(Issuer.class);
-
+ Issuer issuer = SAML2Utils.createSAMLObject(Issuer.class);
String serviceURL = PVPConfiguration.getInstance().getIDPPublicPath();
- name.setValue(serviceURL);
issuer.setValue(serviceURL);
- subject.setNameID(name);
- authReq.setSubject(subject);
issuer.setFormat(NameIDType.ENTITY);
authReq.setIssuer(issuer);
NameIDPolicy policy = SAML2Utils
@@ -446,13 +444,55 @@ public class AuthenticationManager extends AuthServlet {
SAML2Utils.createSAMLObject(RequestedAuthnContext.class);
AuthnContextClassRef authnClassRef =
- SAML2Utils.createSAMLObject(AuthnContextClassRef.class);
- authnClassRef.setAuthnContextClassRef("http://www.stork.gov.eu/1.0/citizenQAALevel/4");
+ SAML2Utils.createSAMLObject(AuthnContextClassRef.class);
+
+ if (sp != null && sp.isSTORKPVPGateway()){
+ //use PVP SecClass instead of STORK QAA level
+ String secClass = null;
+ if (target instanceof MOASTORKRequest) {
+
+ try {
+ MOASTORKRequest storkReq = (MOASTORKRequest) target;
+ secClass = PVPtoSTORKMapper.getInstance().mapToSecClass(
+ PVPConstants.STORK_QAA_PREFIX + storkReq.getStorkAuthnRequest().getQaa());
+
+ } catch (Exception e) {
+ Logger.warn("STORK-QAA level can not read from STORK request. Use default QAA 4", e);
+
+ }
+ }
+
+ if (MiscUtil.isNotEmpty(secClass))
+ authnClassRef.setAuthnContextClassRef(secClass);
+ else
+ authnClassRef.setAuthnContextClassRef("http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-3");
+
+ } else {
+ if (target instanceof MOASTORKRequest) {
+ //use requested QAA level from STORK request
+ try {
+ MOASTORKRequest storkReq = (MOASTORKRequest) target;
+ authnClassRef.setAuthnContextClassRef(
+ PVPConstants.STORK_QAA_PREFIX + storkReq.getStorkAuthnRequest().getQaa());
+ Logger.debug("Use STORK-QAA level " + authnClassRef.getAuthnContextClassRef()
+ + " from STORK request");
+
+ } catch (Exception e) {
+ Logger.warn("STORK-QAA level can not read from STORK request. Use default QAA 4", e);
+
+ }
+
+ }
+
+ if (MiscUtil.isEmpty(authnClassRef.getAuthnContextClassRef()))
+ authnClassRef.setAuthnContextClassRef("http://www.stork.gov.eu/1.0/citizenQAALevel/4");
+
+ }
+
reqAuthContext.setComparison(AuthnContextComparisonTypeEnumeration.MINIMUM);
reqAuthContext.getAuthnContextClassRefs().add(authnClassRef);
authReq.setRequestedAuthnContext(reqAuthContext);
-
-
+
IEncoder binding = null;
if (redirectEndpoint.getBinding().equals(
SAMLConstants.SAML2_REDIRECT_BINDING_URI)) {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
index b22941216..aa154b84b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/SingleLogOutAction.java
@@ -135,8 +135,10 @@ public class SingleLogOutAction implements IAction {
if (MiscUtil.isEmpty(ssoID)) {
Logger.warn("Can not find active Session. Single LogOut not possible!");
SingleLogoutService sloService = SingleLogOutBuilder.getResponseSLODescriptor(pvpReq);
- LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
- SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
+ //LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ LogoutResponse message = SingleLogOutBuilder.buildSLOResponseMessage(sloService, pvpReq, null);
+ Logger.info("Sending SLO success message to requester ...");
+ SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
return null;
} else {
@@ -147,7 +149,9 @@ public class SingleLogOutAction implements IAction {
} catch (MOADatabaseException e) {
Logger.warn("Can not find active Session. Single LogOut not possible!");
SingleLogoutService sloService = SingleLogOutBuilder.getResponseSLODescriptor(pvpReq);
- LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ //LogoutResponse message = SingleLogOutBuilder.buildSLOErrorResponse(sloService, pvpReq, StatusCode.RESPONDER_URI);
+ LogoutResponse message = SingleLogOutBuilder.buildSLOResponseMessage(sloService, pvpReq, null);
+ Logger.info("Sending SLO success message to requester ...");
SingleLogOutBuilder.sendFrontChannelSLOMessage(sloService, message, httpReq, httpResp, samlReq.getRelayState());
return null;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
index 01139d95c..50f42d928 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java
@@ -43,6 +43,7 @@ import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.StatusMessage;
import org.opensaml.saml2.core.StatusResponseType;
import org.opensaml.saml2.metadata.EntityDescriptor;
+import org.opensaml.saml2.metadata.IDPSSODescriptor;
import org.opensaml.saml2.metadata.SPSSODescriptor;
import org.opensaml.saml2.metadata.SSODescriptor;
import org.opensaml.saml2.metadata.SingleLogoutService;
@@ -348,17 +349,29 @@ public class SingleLogOutBuilder {
public static SingleLogoutService getResponseSLODescriptor(PVPTargetConfiguration spRequest) throws NoMetadataInformationException, NOSLOServiceDescriptorException {
MOARequest moaReq = (MOARequest) spRequest.getRequest();
EntityDescriptor metadata = moaReq.getEntityMetadata();
- SPSSODescriptor spsso = metadata.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+ SSODescriptor ssodesc = metadata.getSPSSODescriptor(SAMLConstants.SAML20P_NS);
+
+ if (ssodesc == null) {
+ Logger.debug("No PVP SPSSO descriptor found --> search IDPSSO descriptor");
+ ssodesc = metadata.getIDPSSODescriptor(SAMLConstants.SAML20P_NS);
+
+ }
+
+ if (ssodesc == null) {
+ Logger.error("Found no SLO ServiceDescriptor in Metadata");
+ throw new NOSLOServiceDescriptorException("NO SLO ServiceDescriptor", null);
+ }
+
SingleLogoutService sloService = null;
- for (SingleLogoutService el : spsso.getSingleLogoutServices()) {
+ for (SingleLogoutService el : ssodesc.getSingleLogoutServices()) {
if (el.getBinding().equals(spRequest.getBinding()))
sloService = el;
}
if (sloService == null) {
- if (spsso.getSingleLogoutServices().size() != 0)
- sloService = spsso.getSingleLogoutServices().get(0);
+ if (ssodesc.getSingleLogoutServices().size() != 0)
+ sloService = ssodesc.getSingleLogoutServices().get(0);
else {
Logger.error("Found no SLO ServiceDescriptor in Metadata");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java
new file mode 100644
index 000000000..fc4ed1f28
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/exceptions/SchemaValidationException.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.exceptions;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SchemaValidationException extends PVP2Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @param messageId
+ * @param parameters
+ */
+ public SchemaValidationException(String messageId, Object[] parameters) {
+ super(messageId, parameters);
+ }
+
+ /**
+ * @param messageId
+ * @param parameters
+ */
+ public SchemaValidationException(String messageId, Object[] parameters, Throwable e) {
+ super(messageId, parameters, e);
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
index cba64e080..12afa14bc 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
@@ -57,6 +57,7 @@ import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.InterfederatedIDPPublicServiceFilter;
import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.MetadataFilterChain;
+import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -324,6 +325,7 @@ public class MOAMetadataProvider implements MetadataProvider {
private MetadataFilterChain buildMetadataFilterChain(OnlineApplication oa, String metadataURL, byte[] certificate) throws CertificateException {
MetadataFilterChain filterChain = new MetadataFilterChain(metadataURL, certificate);
+ filterChain.getFilters().add(new SchemaValidationFilter());
if (oa.isIsInterfederationIDP() != null && oa.isIsInterfederationIDP()) {
Logger.info("Online-Application is an interfederated IDP. Add addional Metadata policies");
@@ -374,6 +376,8 @@ public class MOAMetadataProvider implements MetadataProvider {
httpProvider.setMetadataFilter(filter);
httpProvider.initialize();
+ httpProvider.setRequireValidMetadata(true);
+
return httpProvider;
} catch (Throwable e) {
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
index f0373e214..26b3bfbd1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
@@ -54,8 +54,7 @@ public class AssertionAttributeExtractor {
private final List<String> minimalAttributeNameList = Arrays.asList(
PVPConstants.PRINCIPAL_NAME_NAME,
- PVPConstants.GIVEN_NAME_NAME,
- PVPConstants.BIRTHDATE_NAME);
+ PVPConstants.GIVEN_NAME_NAME);
public AssertionAttributeExtractor(StatusResponseType samlResponse) throws AssertionAttributeExtractorExeption {
@@ -119,16 +118,21 @@ public class AssertionAttributeExtractor {
//first check if a bPK or an encrypted bPK is available
if (attributs.containsKey(PVPConstants.ENC_BPK_LIST_NAME) ||
- (attributs.containsKey(PVPConstants.BPK_NAME) && attributs.containsKey(PVPConstants.EID_SECTOR_FOR_IDENTIFIER_NAME))) {
+ (attributs.containsKey(PVPConstants.BPK_NAME))) {
boolean flag = true;
for (String attr : attributeNameList) {
- if (!attributs.containsKey(attr))
+ if (!attributs.containsKey(attr)) {
flag = false;
+ Logger.debug("Assertion contains no Attribute " + attr);
+
+ }
+
}
return flag;
- }
+ }
+ Logger.debug("Assertion contains no bPK or encryptedbPK.");
return false;
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
index 4ba93f8fe..257f9dac4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/SAMLVerificationEngine.java
@@ -25,14 +25,20 @@ package at.gv.egovernment.moa.id.protocols.pvp2x.verification;
import java.util.ArrayList;
import java.util.List;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
+
import org.joda.time.DateTime;
import org.opensaml.common.xml.SAMLConstants;
+import org.opensaml.common.xml.SAMLSchemaBuilder;
import org.opensaml.saml2.core.Conditions;
import org.opensaml.saml2.core.EncryptedAssertion;
import org.opensaml.saml2.core.RequestAbstractType;
import org.opensaml.saml2.core.Response;
import org.opensaml.saml2.core.StatusCode;
import org.opensaml.saml2.core.StatusResponseType;
+import org.opensaml.saml2.core.validator.AuthnRequestSchemaValidator;
import org.opensaml.saml2.encryption.Decrypter;
import org.opensaml.saml2.encryption.EncryptedElementTypeEncryptedKeyResolver;
import org.opensaml.saml2.metadata.IDPSSODescriptor;
@@ -51,11 +57,14 @@ import org.opensaml.xml.security.keyinfo.StaticKeyInfoCredentialResolver;
import org.opensaml.xml.security.x509.X509Credential;
import org.opensaml.xml.signature.SignatureTrustEngine;
import org.opensaml.xml.validation.ValidationException;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
import at.gv.egovernment.moa.id.auth.exception.InvalidProtocolRequestException;
import at.gv.egovernment.moa.id.config.ConfigurationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.config.PVPConfiguration;
import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.AssertionValidationExeption;
+import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.SchemaValidationException;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.InboundMessage;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOARequest;
import at.gv.egovernment.moa.id.protocols.pvp2x.messages.MOAResponse;
@@ -81,9 +90,15 @@ public class SAMLVerificationEngine {
SAMLSignatureProfileValidator profileValidator = new SAMLSignatureProfileValidator();
try {
profileValidator.validate(samlObj.getSignature());
+ performSchemaValidation(samlObj.getDOM());
+
} catch (ValidationException e) {
- // Indicates signature did not conform to SAML Signature profile
- e.printStackTrace();
+ Logger.warn("Signature is not conform to SAML signature profile", e);
+ throw new InvalidProtocolRequestException("pvp2.21", new Object[] {});
+
+ } catch (SchemaValidationException e) {
+ throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+
}
CriteriaSet criteriaSet = new CriteriaSet();
@@ -103,12 +118,17 @@ public class SAMLVerificationEngine {
public void verifyRequest(RequestAbstractType samlObj, SignatureTrustEngine sigTrustEngine ) throws org.opensaml.xml.security.SecurityException, Exception {
SAMLSignatureProfileValidator profileValidator = new SAMLSignatureProfileValidator();
-
try {
- profileValidator.validate(samlObj.getSignature());
+ profileValidator.validate(samlObj.getSignature());
+ performSchemaValidation(samlObj.getDOM());
+
} catch (ValidationException e) {
- // Indicates signature did not conform to SAML Signature profile
- e.printStackTrace();
+ Logger.warn("Signature is not conform to SAML signature profile", e);
+ throw new InvalidProtocolRequestException("pvp2.21", new Object[] {});
+
+ } catch (SchemaValidationException e) {
+ throw new InvalidProtocolRequestException("pvp2.22", new Object[] {e.getMessage()});
+
}
CriteriaSet criteriaSet = new CriteriaSet();
@@ -173,16 +193,27 @@ public class SAMLVerificationEngine {
List<org.opensaml.saml2.core.Assertion> validatedassertions = new ArrayList<org.opensaml.saml2.core.Assertion>();
for (org.opensaml.saml2.core.Assertion saml2assertion : saml2assertions) {
- Conditions conditions = saml2assertion.getConditions();
- DateTime notbefore = conditions.getNotBefore();
+ try {
+ performSchemaValidation(saml2assertion.getDOM());
+
+ Conditions conditions = saml2assertion.getConditions();
+ DateTime notbefore = conditions.getNotBefore().minusMinutes(5);
DateTime notafter = conditions.getNotOnOrAfter();
if ( notbefore.isAfterNow() || notafter.isBeforeNow() ) {
- Logger.warn("PVP2 Assertion is out of Date");
+ Logger.warn("PVP2 Assertion is out of Date. "
+ + "{ Current : " + new DateTime()
+ + " NotBefore: " + notbefore
+ + " NotAfter : " + notafter
+ + " }");;
- } else {
- validatedassertions.add(saml2assertion);
+ } else {
+ validatedassertions.add(saml2assertion);
+
+ }
+
+ } catch (SchemaValidationException e) {
- }
+ }
}
if (validatedassertions.isEmpty()) {
@@ -213,4 +244,35 @@ public class SAMLVerificationEngine {
throw new AssertionValidationExeption("pvp.12", null, e);
}
}
+
+ private static void performSchemaValidation(Element source) throws SchemaValidationException {
+
+ String err = null;
+ try {
+ Schema test = SAMLSchemaBuilder.getSAML11Schema();
+ Validator val = test.newValidator();
+ val.validate(new DOMSource(source));
+ Logger.debug("Schema validation check done OK");
+ return;
+
+ } catch (SAXException e) {
+ err = e.getMessage();
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Schema validation FAILED with message: "+ e.getMessage());
+
+ } catch (Exception e) {
+ err = e.getMessage();
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Schema validation FAILED with message: "+ e.getMessage());
+
+ }
+
+ throw new SchemaValidationException("pvp2.22", new Object[]{err});
+
+ }
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
index 3d608fd6d..4d9b97a52 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/InterfederatedIDPPublicServiceFilter.java
@@ -26,7 +26,6 @@ import org.opensaml.saml2.metadata.provider.FilterException;
import org.opensaml.saml2.metadata.provider.MetadataFilter;
import org.opensaml.xml.XMLObject;
-import at.gv.egovernment.moa.id.commons.db.dao.config.InterfederationIDPType;
import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;
import at.gv.egovernment.moa.logging.Logger;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java
new file mode 100644
index 000000000..382adb108
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/metadata/SchemaValidationFilter.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata;
+
+import java.io.IOException;
+
+import org.opensaml.saml2.metadata.provider.FilterException;
+import org.opensaml.saml2.metadata.provider.MetadataFilter;
+import org.opensaml.xml.XMLObject;
+
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.Validator;
+
+import org.opensaml.common.xml.SAMLSchemaBuilder;
+
+import org.xml.sax.SAXException;
+
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * @author tlenz
+ *
+ */
+public class SchemaValidationFilter implements MetadataFilter {
+
+ private boolean isActive = true;
+
+ public SchemaValidationFilter() {
+ try {
+ isActive = AuthConfigurationProvider.getInstance().isPVPSchemaValidationActive();
+
+ } catch (ConfigurationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ *
+ */
+ public SchemaValidationFilter(boolean useSchemaValidation) {
+ this.isActive = useSchemaValidation;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.opensaml.saml2.metadata.provider.MetadataFilter#doFilter(org.opensaml.xml.XMLObject)
+ */
+ @Override
+ public void doFilter(XMLObject arg0) throws FilterException {
+
+ String errString = null;
+
+ if (isActive) {
+ try {
+ Schema test = SAMLSchemaBuilder.getSAML11Schema();
+ Validator val = test.newValidator();
+ DOMSource source = new DOMSource(arg0.getDOM());
+ val.validate(source);
+ Logger.info("Metadata Schema validation check done OK");
+ return;
+
+ } catch (SAXException e) {
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Metadata Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Metadata Schema validation FAILED with message: "+ e.getMessage());
+
+ errString = e.getMessage();
+
+ } catch (Exception e) {
+ if (Logger.isDebugEnabled() || Logger.isTraceEnabled())
+ Logger.warn("Metadata Schema validation FAILED with exception:", e);
+ else
+ Logger.warn("Metadata Schema validation FAILED with message: "+ e.getMessage());
+
+ errString = e.getMessage();
+
+ }
+
+ throw new FilterException("Metadata Schema validation FAILED with message: "+ errString);
+
+ } else
+ Logger.info("Metadata Schema validation check is DEACTIVATED!");
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
index 67f780b3a..4cdd1db01 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/GetArtifactAction.java
@@ -83,7 +83,7 @@ public class GetArtifactAction implements IAction {
String url = AuthConfigurationProvider.getInstance().getPublicURLPrefix() + "/RedirectServlet";
url = addURLParameter(url, RedirectServlet.REDIRCT_PARAM_URL, URLEncoder.encode(oaURL, "UTF-8"));
if (!oaParam.getBusinessService())
- url = addURLParameter(url, PARAM_TARGET, URLEncoder.encode(oaParam.getTarget(), "UTF-8"));
+ url = addURLParameter(url, PARAM_TARGET, URLEncoder.encode(req.getTarget(), "UTF-8"));
url = addURLParameter(url, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8"));
url = httpResp.encodeRedirectURL(url);
@@ -95,7 +95,7 @@ public class GetArtifactAction implements IAction {
String redirectURL = oaURL;
if (!oaParam.getBusinessService()) {
redirectURL = addURLParameter(redirectURL, PARAM_TARGET,
- URLEncoder.encode(oaParam.getTarget(), "UTF-8"));
+ URLEncoder.encode(req.getTarget(), "UTF-8"));
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
index 65e520cc3..c8a480cac 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java
@@ -64,6 +64,7 @@ import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.Base64Utils;
import at.gv.egovernment.moa.util.Constants;
import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.MiscUtil;
import at.gv.egovernment.moa.util.StringUtils;
import at.gv.util.xsd.persondata.IdentificationType;
import at.gv.util.xsd.persondata.IdentificationType.Value;
@@ -222,8 +223,14 @@ public class SAML1AuthenticationServer extends AuthenticationServer {
Value value = new Value();
id.setValue(value );
- id.setType(Constants.URN_PREFIX_BASEID);
- value.setValue("");
+ id.setType(authData.getIdentificationType());
+ //add baseID if it is requested and available
+ if ( MiscUtil.isNotEmpty(authData.getIdentificationValue()) &&
+ saml1parameter.isProvideIdentityLink() )
+ value.setValue(authData.getIdentificationValue());
+ else
+ value.setValue("");
+
familyName.setValue(authData.getFamilyName());
familyName.setPrimary("undefined");
name.getGivenName().add(authData.getGivenName());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
index 8f7f17e2e..9934c339d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java
@@ -132,7 +132,7 @@ public class SAML1Protocol implements IModulInfo, MOAIDAuthConstants {
if (!ParamValidatorUtils.isValidOA(oaURL))
throw new WrongParametersException("StartAuthentication", PARAM_OA,
"auth.12");
-
+
config.setOAURL(oaURL);
Logger.info("Dispatch SAML1 Request: OAURL=" + oaURL);
@@ -156,8 +156,13 @@ public class SAML1Protocol implements IModulInfo, MOAIDAuthConstants {
new Object[] { null });
}
- config.setSourceID(sourceID);
- config.setTarget(oaParam.getTarget());
+ config.setSourceID(sourceID);
+ if (MiscUtil.isNotEmpty(target))
+ config.setTarget(target);
+
+ else
+ config.setTarget(oaParam.getTarget());
+
return config;
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
index 8322f0cea..1e6cf6910 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
@@ -121,7 +121,7 @@ public class AttributeCollector implements IAction {
if (authnResponse.getPersonalAttributeList().size() > 0) {
Logger.info("Response from external attribute provider contains " + authnResponse.getPersonalAttributeList().size() + " attributes.");
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), authnResponse.getPersonalAttributeList());
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), authnResponse.getPersonalAttributeList()));
}
}
@@ -157,7 +157,7 @@ public class AttributeCollector implements IAction {
// - insert the embedded attribute(s) into the container
if (null != newAttributes)
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), newAttributes);
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), newAttributes));
// see if we need some more attributes
SLOInformationImpl sloInfo = (SLOInformationImpl) processRequest(container, httpReq, httpResp, authData, oaParam);
@@ -203,7 +203,8 @@ public class AttributeCollector implements IAction {
IPersonalAttributeList aquiredAttributes = new PersonalAttributeList();
currentAttribute.setStatus(AttributeStatusType.NOT_AVAILABLE.value());
aquiredAttributes.add((PersonalAttribute) currentAttribute.clone());
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes);
+ container.getResponse().setPersonalAttributeList(
+ addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes));
// - check if we can find a suitable AttributeProvider Plugin
Iterator<AttributeProvider> attibuteProvidersInterator = AttributeProviderFactory.getConfiguredPlugins(oaParam.getStorkAPs());
@@ -247,7 +248,7 @@ public class AttributeCollector implements IAction {
Logger.error("We have no suitable plugin for obtaining the attribute '" + currentAttribute.getName() + "'");
} else
// else, update any existing attributes
- addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes);
+ container.getResponse().setPersonalAttributeList(addOrUpdateAll(container.getResponse().getPersonalAttributeList(), aquiredAttributes));
}
Logger.info("collecting attributes done");
@@ -296,15 +297,21 @@ public class AttributeCollector implements IAction {
*
* @param target the target
* @param source the source
+ * @return
* @throws MOAIDException
*/
- private void addOrUpdateAll(IPersonalAttributeList target, IPersonalAttributeList source) throws MOAIDException {
+ private PersonalAttributeList addOrUpdateAll(IPersonalAttributeList target, IPersonalAttributeList source) throws MOAIDException {
+
+ PersonalAttributeList updatedList = new PersonalAttributeList();
+ for (PersonalAttribute el : target)
+ updatedList.add(el);
+
Logger.debug("Updating " + source.size() + " attributes...");
for (PersonalAttribute current : source) {
Logger.debug("treating " + current.getName());
// check if we need to update the current pa
- if (target.containsKey(current.getName())) {
+ if (updatedList.containsKey(current.getName())) {
PersonalAttribute existing = target.get(current.getName());
if(!(existing.isEmptyValue() && existing.isEmptyComplexValue()))
if(!(existing.getValue().equals(current.getValue()) || existing.getComplexValue().equals(current.getComplexValue()))) {
@@ -312,14 +319,16 @@ public class AttributeCollector implements IAction {
throw new MOAIDException("stork.16", new Object[] {existing.getName()});
}
- target.get(current.getName()).setStatus(current.getStatus());
- target.get(current.getName()).setValue(current.getValue());
- target.get(current.getName()).setComplexValue(current.getComplexValue());
+ updatedList.get(current.getName()).setStatus(current.getStatus());
+ updatedList.get(current.getName()).setValue(current.getValue());
+ updatedList.get(current.getName()).setComplexValue(current.getComplexValue());
} else
- target.add(current);
+ updatedList.add(current);
- Logger.debug("...successfully treated " + current.getName());
+ Logger.debug("...successfully treated " + current.getName());
}
+
+ return updatedList;
}
/* (non-Javadoc)
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
index 136200ed0..3ab4ec4a1 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/MOAAttributeProvider.java
@@ -58,19 +58,23 @@ public class MOAAttributeProvider {
static {
Map<String, String> tempSimpleMap = new HashMap<String, String>();
tempSimpleMap.put("givenName", "getGivenName");
- tempSimpleMap.put("surname", "getFamilyName");
+ tempSimpleMap.put("surname", "getFamilyName");
+ tempSimpleMap.put("MSOrganization", "getPvpAttribute_OU");
storkAttributeSimpleMapping = Collections.unmodifiableMap(tempSimpleMap);
+
Map<String, String> tempFunctionMap = new HashMap<String, String>();
tempFunctionMap.put("eIdentifier", "geteIdentifier");
tempFunctionMap.put("ECApplicationRole","getECApplicationRole");
tempFunctionMap.put("dateOfBirth", "getFormatedDateOfBirth");
+ tempFunctionMap.put("MSOrganization", "getMSOrganization");
storkAttributeFunctionMapping = Collections.unmodifiableMap(tempFunctionMap);
+
}
public MOAAttributeProvider(IAuthData authData, MOASTORKRequest moastorkRequest) {
this.authData = authData;
this.moastorkRequest = moastorkRequest;
- Logger.debug("identity " + authData.getIdentificationType() + " " + authData.getIdentificationValue());
+
}
public void populateAttribute(PersonalAttributeList attributeList, PersonalAttribute requestedAttribute ) {
@@ -128,7 +132,7 @@ public class MOAAttributeProvider {
}
return storkRoles;
}
-
+
private String getFormatedDateOfBirth() {
if (authData.getDateOfBirth() != null) {
DateFormat fmt = new SimpleDateFormat("yyyyMMdd");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
index d923eccde..123d32af4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKPVPUtilits.java
@@ -32,7 +32,7 @@ import java.util.List;
public class STORKPVPUtilits {
public static final List<String> attributesRequirePVPAuthentication =
- Arrays.asList("ECApplicationRole");
+ Arrays.asList("ECApplicationRole", "MSOrganization");
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
index 96aa55bcf..7f06c604b 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/PVPAuthenticationProvider.java
@@ -80,7 +80,7 @@ public class PVPAuthenticationProvider extends AttributeProvider {
this.moastorkRequest = moastorkRequest;
// break if we cannot handle the requested attribute
- if (!attributes.contains(attribute.getName())) {
+ if (!getSupportedAttributeNames().contains(attribute.getName())) {
Logger.info("Attribute " + attribute.getName() + " not supported by the provider: " + getAttrProviderName());
throw new UnsupportedAttributeException();
@@ -193,33 +193,34 @@ public class PVPAuthenticationProvider extends AttributeProvider {
public IPersonalAttributeList parse(HttpServletRequest httpReq)
throws UnsupportedAttributeException, MOAIDException {
- Logger.info(this.getClass().getSimpleName() + " tries to extract SAMLResponse out of HTTP Request");
+ throw new UnsupportedAttributeException();
- //extract STORK Response from HTTP Request
- //Decodes SAML Response
- byte[] decSamlToken;
- try {
- decSamlToken = PEPSUtil.decodeSAMLToken(httpReq.getParameter("SAMLResponse"));
- } catch(NullPointerException e) {
- throw new UnsupportedAttributeException();
- }
-
- //Get SAMLEngine instance
- STORKSAMLEngine engine = STORKSAMLEngine.getInstance("VIDP");
-
- STORKAuthnResponse authnResponse = null;
- try {
- //validate SAML Token
- Logger.debug("Starting validation of SAML response");
- authnResponse = engine.validateSTORKAuthnResponse(decSamlToken, (String) httpReq.getRemoteHost());
- Logger.info("SAML response successfully verified!");
-
- }catch(STORKSAMLEngineException e){
- Logger.error("Failed to verify STORK SAML Response", e);
- throw new MOAIDException("stork.05", null);
- }
-
- return authnResponse.getPersonalAttributeList();
+// Logger.info(this.getClass().getSimpleName() + " tries to extract SAMLResponse out of HTTP Request");
+// //extract STORK Response from HTTP Request
+// //Decodes SAML Response
+// byte[] decSamlToken;
+// try {
+// decSamlToken = PEPSUtil.decodeSAMLToken(httpReq.getParameter("SAMLResponse"));
+// } catch(NullPointerException e) {
+// throw new UnsupportedAttributeException();
+// }
+//
+// //Get SAMLEngine instance
+// STORKSAMLEngine engine = STORKSAMLEngine.getInstance("VIDP");
+//
+// STORKAuthnResponse authnResponse = null;
+// try {
+// //validate SAML Token
+// Logger.debug("Starting validation of SAML response");
+// authnResponse = engine.validateSTORKAuthnResponse(decSamlToken, (String) httpReq.getRemoteHost());
+// Logger.info("SAML response successfully verified!");
+//
+// }catch(STORKSAMLEngineException e){
+// Logger.error("Failed to verify STORK SAML Response", e);
+// throw new MOAIDException("stork.05", null);
+// }
+//
+// return authnResponse.getPersonalAttributeList();
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
index 0ea03e29d..5ef9494f4 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/PVPtoSTORKMapper.java
@@ -36,6 +36,7 @@ import at.gv.egovernment.moa.util.MiscUtil;
public class PVPtoSTORKMapper {
private static final String PVP_SECCLASS_PREFIX = "http://www.ref.gv.at/ns/names/agiz/pvp/";
+ private static final String STORK_QAA_PREFIX = "http://www.stork.gov.eu/1.0/";
private static final String MAPPING_RESOURCE =
"resources/properties/pvp-stork_mapping.properties";
@@ -67,12 +68,31 @@ public class PVPtoSTORKMapper {
}
+ /**Map a STORK QAA level to PVP SecClass
+ *
+ * @param STORK-QAA level
+ * @return PVP SecClass pvpQAALevel
+ */
+ public String mapToSecClass(String storkQAALevel) {
+ if (mapping != null) {
+ String input = storkQAALevel.substring(STORK_QAA_PREFIX.length());
+ String mappedQAA = mapping.getProperty(input);
+ if (MiscUtil.isNotEmpty(mappedQAA)) {
+ Logger.info("Map STORK-QAA " + storkQAALevel + " to PVP SecClass " + mappedQAA);
+ return mappedQAA;
+
+ }
+ }
+ Logger.warn("No mapping for STORK-QAA " + storkQAALevel +" !");
+ return null;
+ }
+
/**Map a PVP SecClass to STORK QAA level
*
* @param PVP SecClass pvpQAALevel
* @return STORK-QAA level
*/
- public String mapQAALevel(String pvpQAALevel) {
+ public String mapToQAALevel(String pvpQAALevel) {
if (mapping != null) {
String input = pvpQAALevel.substring(PVP_SECCLASS_PREFIX.length());
String mappedQAA = mapping.getProperty(input);
@@ -93,13 +113,16 @@ public class PVPtoSTORKMapper {
*/
public String map(AuthenticationRole el) {
if (mapping != null) {
- String ecRole = mapping.getProperty(el.getRawRoleString());
+ //String ecRole = mapping.getProperty(el.getRawRoleString());
+ String ecRole = mapping.getProperty(el.getRoleName());
if (MiscUtil.isNotEmpty(ecRole)) {
- Logger.info("Map PVPRole " + el.getRawRoleString() + " to ECRole " + ecRole);
+ //Logger.info("Map PVPRole " + el.getRawRoleString() + " to ECRole " + ecRole);
+ Logger.info("Map PVPRole " + el.getRoleName() + " to ECRole " + ecRole);
return ecRole;
}
}
- Logger.warn("NO mapping for PVPRole "+ el.getRawRoleString() + " !");
+ //Logger.warn("NO mapping for PVPRole "+ el.getRawRoleString() + " !");
+ Logger.warn("NO mapping for PVPRole "+ el.getRoleName() + " !");
return null;
}
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
index 15b2a89b5..24c96a78f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java
@@ -56,6 +56,7 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
@@ -70,6 +71,7 @@ import org.xml.sax.SAXException;
import at.gv.egovernment.moa.id.auth.exception.MISSimpleClientException;
import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWSecureSocketFactory;
+import at.gv.egovernment.moa.id.commons.utils.HttpClientWithProxySupport;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.DOMUtils;
import at.gv.egovernment.moa.util.StringUtils;
@@ -300,7 +302,7 @@ public class MISSimpleClient {
throw new NullPointerException("Argument request must not be null.");
}
try {
- HttpClient httpclient = new HttpClient();
+ HttpClient httpclient = HttpClientWithProxySupport.getHttpClient();
PostMethod post = new PostMethod(webServiceURL);
StringRequestEntity re = new StringRequestEntity(DOMUtils.serializeNode(packIntoSOAP(request)),"text/xml", "UTF-8");
post.setRequestEntity(re);
diff --git a/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties b/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
index 63745f826..ca12fada4 100644
--- a/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
+++ b/id/server/idserverlib/src/main/resources/resources/properties/pvp-stork_mapping.properties
@@ -1,9 +1,31 @@
##PVP role mapping
viewer=CIRCABC/viewer
CIRCABC-viewer=CIRCABC/viewer
+CIRCABC-DIRECTOR=CIRCABC/DIRECTOR
+CIRCABC-SECRETARY=CIRCABC/SECRETARY
+CIRCABC-MEMBER=CIRCABC/MEMBER
-##PVP SecClass mapping
+ecas-demo-EUROPEAN_COMMISSION=ecas-demo/EUROPEAN_COMMISSION
+ecas-demo-EXTERNAL_INTRAMUROS=ecas-demo/EXTERNAL_INTRAMUROS
+ecas-demo-INTERNET=ecas-demo/INTERNET
+ecas-demo-LIVENEWS=ecas-demo/LIVENEWS
+
+DIGIT-EUROPEAN_COMMISSION=DIGIT/EUROPEAN_COMMISSION
+DIGIT-EXTERNAL_INTRAMUROS=DIGIT/EXTERNAL_INTRAMUROS
+DIGIT-INTERNET=DIGIT/INTERNET
+DIGIT-LIVENEWS=DIGIT/LIVENEWS
+
+
+
+
+##PVP SecClass to STORK-QAA mapping
secclass/0=http://www.stork.gov.eu/1.0/citizenQAALevel/1
secclass/0-1=http://www.stork.gov.eu/1.0/citizenQAALevel/2
-secclass/0-2=http://www.stork.gov.eu/1.0/citizenQAALevel/3
-secclass/0-3=http://www.stork.gov.eu/1.0/citizenQAALevel/4 \ No newline at end of file
+secclass/0-2=http://www.stork.gov.eu/1.0/citizenQAALevel/4
+secclass/0-3=http://www.stork.gov.eu/1.0/citizenQAALevel/4
+
+##STORK-QAA to PVP SecClass mapping
+citizenQAALevel/1=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0
+citizenQAALevel/2=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-1
+citizenQAALevel/3=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-2
+citizenQAALevel/4=http://www.ref.gv.at/ns/names/agiz/pvp/secclass/0-2 \ No newline at end of file
diff --git a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
index ec908f78b..549eb4f2b 100644
--- a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
+++ b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java
@@ -1,3 +1,8 @@
+package test.tlenz;
+
+import at.gv.egovernment.moa.id.data.AuthenticationRole;
+import at.gv.egovernment.moa.id.data.AuthenticationRoleFactory;
+
/*******************************************************************************
* Copyright 2014 Federal Chancellery Austria
* MOA-ID has been developed in a cooperation between BRZ, the Federal
@@ -38,12 +43,19 @@
//import at.gv.egovernment.moa.id.storage.AssertionStorage;
//import at.gv.egovernment.moa.util.MiscUtil;
//
-//public class simpletest {
+public class simpletest {
//
-// public static void main(String[] args) {
+ public static void main(String[] args) {
+
+ AuthenticationRole test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(key=A\\,B)");
+
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION");
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(key=A)");
+ test = AuthenticationRoleFactory.buildFormPVPole("ecas-demo-EUROPEAN_COMMISSION(keyA=A,keyB=B)");
+
//
// System.setProperty("mandates.configuration", "D:/Projekte/svn/moa-id/moa-id.properties");
-// String propertiesFileLocation = System.getProperty("mandates.configuration");
+// String propertiesFileLocation = Systm.getProperty("mandates.configuration");
//
// MiscUtil.assertNotNull(propertiesFileLocation, "propertiesFileName");
// File propertiesFile = new File(propertiesFileLocation);
@@ -95,5 +107,5 @@
//
//
//
-// }
-//}
+ }
+}
diff --git a/id/server/moa-id-commons/pom.xml b/id/server/moa-id-commons/pom.xml
index 2ca351e81..21286585e 100644
--- a/id/server/moa-id-commons/pom.xml
+++ b/id/server/moa-id-commons/pom.xml
@@ -46,17 +46,17 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
- <version>4.3.6.Final</version>
+ <version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
- <version>4.3.6.Final</version>
+ <version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>4.3.6.Final</version>
+ <version>4.3.8.Final</version>
</dependency>
<dependency>
@@ -64,10 +64,14 @@
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
+<!-- <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency> -->
<dependency>
<groupId>MOA</groupId>
<artifactId>moa-common</artifactId>
@@ -118,7 +122,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>5.1.33</version>
+ <version>5.1.34</version>
</dependency>
</dependencies>
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
index a3f445fcf..6efdd6223 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBRead.java
@@ -152,7 +152,7 @@ public class ConfigurationDBRead {
if (result.size() == 0) {
Logger.trace("No entries found. Create fresh instance.");
- return new MOAIDConfiguration();
+ return null;
}
return (MOAIDConfiguration) result.get(0);
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java
new file mode 100644
index 000000000..733c03bf0
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/HttpClientWithProxySupport.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2014 Federal Chancellery Austria
+ * MOA-ID has been developed in a cooperation between BRZ, the Federal
+ * Chancellery Austria - ICT staff unit, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+package at.gv.egovernment.moa.id.commons.utils;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
+
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
+
+/**
+ * @author tlenz
+ *
+ */
+public class HttpClientWithProxySupport {
+
+ public static HttpClient getHttpClient() {
+ HttpClient client = new HttpClient();
+
+ String host = System.getProperty("http.proxyHost"); //$NON-NLS-1$
+ String port = System.getProperty("http.proxyPort"); //$NON-NLS-1$
+ if (MiscUtil.isNotEmpty(host) &&
+ MiscUtil.isNotEmpty(port)) {
+ int p = Integer.parseInt(port);
+ client.getHostConfiguration().setProxy(host, p);
+ Logger.info("Initial HTTPClient with proxy usage. " +
+ "ProxyHost=" + host +
+ " ProxyPort=" + port);
+
+ String user = System.getProperty("http.proxyUser"); //$NON-NLS-1$
+ String pass = System.getProperty("http.proxyPassword"); //$NON-NLS-1$
+ if (MiscUtil.isNotEmpty(user) && pass != null) {
+ client.getState().setProxyCredentials(new AuthScope(host, p),
+ new UsernamePasswordCredentials(user, pass));
+
+ }
+ }
+ return client;
+ }
+}
diff --git a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
index e4aa6a284..758209193 100644
--- a/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
+++ b/id/server/moa-id-commons/src/main/java/org/apache/commons/httpclient/MOAHttpClient.java
@@ -26,15 +26,8 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodDirector;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.protocol.Protocol;
-import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
+import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException;
@@ -47,7 +40,7 @@ import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException
public class MOAHttpClient extends HttpClient {
- public void setCustomSSLTrustStore(String metadataURL, SecureProtocolSocketFactory protoSocketFactory) throws MOAHttpProtocolSocketFactoryException, MalformedURLException {
+ public void setCustomSSLTrustStore(String metadataURL, ProtocolSocketFactory protoSocketFactory) throws MOAHttpProtocolSocketFactoryException, MalformedURLException {
;
URL url = new URL(metadataURL);
diff --git a/id/server/stork2-saml-engine/pom.xml b/id/server/stork2-saml-engine/pom.xml
index a082a618b..a13a036a0 100644
--- a/id/server/stork2-saml-engine/pom.xml
+++ b/id/server/stork2-saml-engine/pom.xml
@@ -130,7 +130,7 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
- <version>2.11.0</version>
+<!-- <version>2.11.0</version> -->
<scope>test</scope>
</dependency>
<dependency>
diff --git a/pom.xml b/pom.xml
index 3407bfcd9..ef0b95c8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,11 +11,11 @@
<repositoryPath>${basedir}/repository</repositoryPath>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <moa-commons-version>2.0.1</moa-commons-version>
- <moa-id-version>2.1.2</moa-id-version>
+ <moa-commons-version>2.0.2</moa-commons-version>
+ <moa-id-version>2.1.2.3</moa-id-version>
<moa-id-proxy-version>2.0.0</moa-id-proxy-version>
<moa-spss-version>2.0.3</moa-spss-version>
- <configtool-version>1.1.4</configtool-version>
+ <configtool-version>1.1.5.1</configtool-version>
<demo-oa-version>2.0.2</demo-oa-version>
</properties>
@@ -145,12 +145,12 @@
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml</artifactId>
- <version>2.6.3</version>
+ <version>2.6.4</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>xmltooling</artifactId>
- <version>1.4.3</version>
+ <version>1.4.4</version>
</dependency>
@@ -218,6 +218,11 @@
<version>3.1</version>
</dependency>
<dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.3.6</version>
+ </dependency>
+ <dependency>
<groupId>dav4j</groupId>
<artifactId>dav4j</artifactId>
<version>0.1</version>
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
new file mode 100644
index 000000000..6c0c042b4
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
new file mode 100644
index 000000000..74c4ce3b8
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
new file mode 100644
index 000000000..6c50ec079
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt b/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt
new file mode 100644
index 000000000..ebfbce9a0
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer
new file mode 100644
index 000000000..d71177a4e
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
new file mode 100644
index 000000000..6c0c042b4
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
new file mode 100644
index 000000000..e4bd48dac
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
new file mode 100644
index 000000000..74c4ce3b8
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
new file mode 100644
index 000000000..6c50ec079
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
new file mode 100644
index 000000000..1bb449441
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer
Binary files differ
diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
new file mode 100644
index 000000000..60bc9a557
--- /dev/null
+++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT
+VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx
+NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK
+DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g
+RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx
+HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B
+kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV
+HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8
+fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK
+shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61
+0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB
+/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq
+hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ
+IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g
+zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc
+d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh
+eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq
+/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA==
+-----END CERTIFICATE-----