aboutsummaryrefslogtreecommitdiff
path: root/id/server
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2015-08-14 13:53:00 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2015-08-14 13:53:00 +0200
commit456513332389b2dbb7a6d1461f77dda9b7393050 (patch)
tree4d6799366db46f83bb9eb0f7a611d8a08006b697 /id/server
parent5a15347217fbc8a0b2c1083579f70e527da6f3b5 (diff)
downloadmoa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.tar.gz
moa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.tar.bz2
moa-id-spss-456513332389b2dbb7a6d1461f77dda9b7393050.zip
use old ConfigTool
Diffstat (limited to 'id/server')
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html101
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties15
-rw-r--r--id/server/data/deploy/conf/moa-id-configuration/userdatabase.properties14
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html117
-rw-r--r--id/server/data/deploy/conf/moa-id/log4j.properties1
-rw-r--r--id/server/doc/handbook/config/config.html193
-rw-r--r--id/server/doc/handbook/install/install.html27
-rw-r--r--id/server/doc/htmlTemplates/BKU-selection.html101
-rw-r--r--id/server/idserverlib/pom.xml6
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProviderImpl.java2
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java1
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html103
-rw-r--r--id/server/moa-id-commons/pom.xml4
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationMigrationUtils.java198
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationUtil.java2
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/MOAIDConfigurationConstants.java3
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MOAIDConfCLI.java2
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfiguration.java9
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java15
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java751
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java119
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/MOAIDConfiguration.java18
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/OnlineApplication.java32
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java2
-rw-r--r--id/server/moa-id-commons/src/main/resources/META-INF/persistence.xml1
25 files changed, 983 insertions, 854 deletions
diff --git a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
index d0af6401b..123a23837 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
+++ b/id/server/data/deploy/conf/moa-id-configuration/htmlTemplates/loginFormFull.html
@@ -15,13 +15,17 @@
text-align: center;
background-color: #6B7B8B;
}
+
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU p {
font-size: 0.7em;
}
#localBKU input{
- font-size: 0.7em;
+ font-size: 0.85em;
/*border-radius: 5px;*/
}
@@ -142,6 +146,8 @@
margin-bottom: 10px;
}
+
+
#validation {
position: absolute;
bottom: 0px;
@@ -154,7 +160,10 @@
@media screen and (max-width: 205px) {
#localBKU p {
font-size: 0.6em;
- }
+ }
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.6em;
@@ -191,6 +200,9 @@
#localBKU p {
font-size: 0.7em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.7em;
@@ -227,6 +239,9 @@
#localBKU p {
font-size: 0.9em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
@@ -257,7 +272,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -288,7 +305,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -327,7 +346,9 @@
font-size: 100%;
background-color: #MAIN_BACKGOUNDCOLOR#;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#page {
visibility: hidden;
margin-top: 0%;
@@ -464,12 +485,11 @@
}
#localBKU {
- padding-left: 5%;
- padding-right: 2%;
padding-bottom: 4%;
/*padding-top: 4%;*/
position: relative;
- clear: both;
+ clear: both;
+ text-align: center;
}
#bkukarte {
@@ -526,13 +546,13 @@
#localBKU input {
/* color: #BUTTON_COLOR#; */
- border: 0px;
+ /*border: 0px;*/
display: inline-block;
}
#localBKU input:hover, #localBKU input:focus, #localBKU input:active {
- text-decoration: underline;
+ /*text-decoration: underline;*/
}
#installJava, #BrowserNOK {
@@ -727,6 +747,56 @@
}
}
+
+ function checkIfBrowserSupportsJava(){
+ console.log("Browser is Chrome: "+checkIfBrowserIsChrome());
+ console.log("Browser is Safari: "+checkIfBrowserIsSafari());
+ console.log("Browser is Edge: "+checkIfBrowserIsEdge());
+
+ var cnt = 0;
+
+ if(checkIfBrowserIsChrome())cnt++;
+ if(checkIfBrowserIsEdge())cnt++;
+ if(checkIfBrowserIsSafari())cnt++;
+
+ if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection
+ return true;
+
+ var image = document.getElementById("bkuimage");
+ var srcatt = image.getAttribute("src");
+ var last = srcatt.substring(srcatt.lastIndexOf('/')+1);
+ srcatt = srcatt.replace(last,'online-bku-deactivated.png');
+ image.setAttribute("src",srcatt);
+
+
+ var button = document.getElementsByName("bkuButtonOnline")[0];
+ button.setAttribute("class","browserInfoButton");
+ button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen.");
+ button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');");
+
+ return false;
+
+ }
+ function checkIfBrowserIsChrome(){
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = false;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && webstore_defined;
+ }
+ function checkIfBrowserIsEdge(){//edge also defines the chrome object, but not the webapp
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = true;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && !webstore_defined;
+ }
+ function checkIfBrowserIsSafari(){
+ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
+ return cond1;
+ }
/* function setSSOSelection() {
document.getElementById("useSSO").value = "false";
var checkbox = document.getElementById("SSOCheckBox");
@@ -754,7 +824,7 @@
</script>
<title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title>
</head>
-<body onload="onChangeChecks();" onresize="onChangeChecks();">
+<body onload="onChangeChecks();checkIfBrowserSupportsJava();" onresize="onChangeChecks();">
<div id="page">
<div id="page1" class="case selected-case" role="main">
<h2 class="OA_header" role="heading">Anmeldung an: #OAName#</h2>
@@ -779,7 +849,7 @@
</div>
<div id="bkuselectionarea">
<div id="bkukarte">
- <img class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
+ <img id="bkuimage" class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
alt="OnlineBKU" /> <input name="bkuButtonOnline" type="button"
onClick="bkuOnlineClicked();" tabindex="2" role="button"
value="Karte" />
@@ -801,9 +871,8 @@
name="MODUL" value="#MODUL#"> <input type="hidden"
name="ACTION" value="#ACTION#"> <input type="hidden"
name="MOASessionID" value="#SESSIONID#">
- <input type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4"
- role="button" class="hell"
- onclick="setMandateSelection();"
+ <input type="submit" value=" Lokale Bürgerkartenumgebung " tabindex="4"
+ role="button" onclick="setMandateSelection();"
>
<!--p>
<small>Alternativ können Sie eine lokal installierte BKU verwenden.</small>
@@ -837,7 +906,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties b/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
index 192f03598..9a3b3675a 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
+++ b/id/server/data/deploy/conf/moa-id-configuration/moa-id-configtool.properties
@@ -4,7 +4,10 @@
*
******
-
+#General config
+general.login.deaktivate=false
+general.publicURLContext=https://localhost:8443/moa-id-configuration
+general.moaid.instance.url=https://localhost:8443/moa-id-auth
general.defaultlanguage=de
general.ssl.certstore=certs/certstore
@@ -33,16 +36,6 @@ dbcp.testOnBorrow=true
dbcp.testOnReturn=false
dbcp.testWhileIdle=false
-
-
-############################################################################
-#### Deprecated #####
-############################################################################
-#General config
-general.login.deaktivate=false
-general.publicURLContext=https://localhost:8443/moa-id-configuration
-general.moaid.instance.url=https://localhost:8443/moa-id-auth
-
##Mail
general.mail.host=smtp.localhost...
#general.mail.host.port=
diff --git a/id/server/data/deploy/conf/moa-id-configuration/userdatabase.properties b/id/server/data/deploy/conf/moa-id-configuration/userdatabase.properties
index 6e03d3c12..e69de29bb 100644
--- a/id/server/data/deploy/conf/moa-id-configuration/userdatabase.properties
+++ b/id/server/data/deploy/conf/moa-id-configuration/userdatabase.properties
@@ -1,14 +0,0 @@
-#Auto generated configuration file.
-#Fri Jul 17 11:09:29 CEST 2015
-users.0.surname=Administrator
-users.0.roles.0.id=0
-roles.0.name=Administrators
-users=User List
-users.0.__LI.0=users
-users.0.roles.0.isMember=true
-roles.0.id=0
-roles=Role List
-users.0.id=0
-users.0.roles.0.name=Administrators
-users.0.firstname=Administrator
-roles.0.__LI.0=roles
diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
index 5b534fca3..123a23837 100644
--- a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
+++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html
@@ -15,13 +15,17 @@
text-align: center;
background-color: #6B7B8B;
}
+
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU p {
font-size: 0.7em;
}
#localBKU input{
- font-size: 0.7em;
+ font-size: 0.85em;
/*border-radius: 5px;*/
}
@@ -142,6 +146,8 @@
margin-bottom: 10px;
}
+
+
#validation {
position: absolute;
bottom: 0px;
@@ -154,7 +160,10 @@
@media screen and (max-width: 205px) {
#localBKU p {
font-size: 0.6em;
- }
+ }
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.6em;
@@ -191,6 +200,9 @@
#localBKU p {
font-size: 0.7em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.7em;
@@ -227,6 +239,9 @@
#localBKU p {
font-size: 0.9em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
@@ -257,7 +272,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -288,7 +305,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -327,7 +346,9 @@
font-size: 100%;
background-color: #MAIN_BACKGOUNDCOLOR#;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#page {
visibility: hidden;
margin-top: 0%;
@@ -464,12 +485,11 @@
}
#localBKU {
- padding-left: 5%;
- padding-right: 2%;
padding-bottom: 4%;
/*padding-top: 4%;*/
position: relative;
- clear: both;
+ clear: both;
+ text-align: center;
}
#bkukarte {
@@ -526,13 +546,13 @@
#localBKU input {
/* color: #BUTTON_COLOR#; */
- border: 0px;
+ /*border: 0px;*/
display: inline-block;
}
#localBKU input:hover, #localBKU input:focus, #localBKU input:active {
- text-decoration: underline;
+ /*text-decoration: underline;*/
}
#installJava, #BrowserNOK {
@@ -720,13 +740,63 @@
}
}
function onChangeChecks() {
- if (self.innerWidth < 650) {
+ if (top.innerWidth < 650) {
document.getElementById("moaidform").setAttribute("target","_parent");
} else {
document.getElementById("moaidform").removeAttribute("target");
}
}
+
+ function checkIfBrowserSupportsJava(){
+ console.log("Browser is Chrome: "+checkIfBrowserIsChrome());
+ console.log("Browser is Safari: "+checkIfBrowserIsSafari());
+ console.log("Browser is Edge: "+checkIfBrowserIsEdge());
+
+ var cnt = 0;
+
+ if(checkIfBrowserIsChrome())cnt++;
+ if(checkIfBrowserIsEdge())cnt++;
+ if(checkIfBrowserIsSafari())cnt++;
+
+ if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection
+ return true;
+
+ var image = document.getElementById("bkuimage");
+ var srcatt = image.getAttribute("src");
+ var last = srcatt.substring(srcatt.lastIndexOf('/')+1);
+ srcatt = srcatt.replace(last,'online-bku-deactivated.png');
+ image.setAttribute("src",srcatt);
+
+
+ var button = document.getElementsByName("bkuButtonOnline")[0];
+ button.setAttribute("class","browserInfoButton");
+ button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen.");
+ button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');");
+
+ return false;
+
+ }
+ function checkIfBrowserIsChrome(){
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = false;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && webstore_defined;
+ }
+ function checkIfBrowserIsEdge(){//edge also defines the chrome object, but not the webapp
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = true;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && !webstore_defined;
+ }
+ function checkIfBrowserIsSafari(){
+ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
+ return cond1;
+ }
/* function setSSOSelection() {
document.getElementById("useSSO").value = "false";
var checkbox = document.getElementById("SSOCheckBox");
@@ -754,7 +824,7 @@
</script>
<title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title>
</head>
-<body onload="onChangeChecks();" onresize="onChangeChecks();">
+<body onload="onChangeChecks();checkIfBrowserSupportsJava();" onresize="onChangeChecks();">
<div id="page">
<div id="page1" class="case selected-case" role="main">
<h2 class="OA_header" role="heading">Anmeldung an: #OAName#</h2>
@@ -779,7 +849,7 @@
</div>
<div id="bkuselectionarea">
<div id="bkukarte">
- <img class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
+ <img id="bkuimage" class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
alt="OnlineBKU" /> <input name="bkuButtonOnline" type="button"
onClick="bkuOnlineClicked();" tabindex="2" role="button"
value="Karte" />
@@ -794,16 +864,15 @@
<div id="localBKU">
<form method="get" id="moaidform" action="#AUTH_URL#"
class="verticalcenter" target="_parent">
- <input type="hidden" name="bkuURI" value="#LOCAL#">
- <input type="hidden" name="useMandate" id="useMandate">
- <input type="hidden" name="SSO" id="useSSO">
- <input type="hidden" name="CCC" id="ccc">
- <input type="hidden" name="MODUL" value="#MODUL#">
- <input type="hidden" name="ACTION" value="#ACTION#">
- <input type="hidden" name="MOASessionID" value="#SESSIONID#">
- <input type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4"
- role="button" class="hell"
- onclick="setMandateSelection();"
+ <input type="hidden" name="bkuURI" value="#LOCAL#"> <input
+ type="hidden" name="useMandate" id="useMandate"> <input
+ type="hidden" name="SSO" id="useSSO"> <input
+ type="hidden" name="CCC" id="ccc"> <input type="hidden"
+ name="MODUL" value="#MODUL#"> <input type="hidden"
+ name="ACTION" value="#ACTION#"> <input type="hidden"
+ name="MOASessionID" value="#SESSIONID#">
+ <input type="submit" value=" Lokale Bürgerkartenumgebung " tabindex="4"
+ role="button" onclick="setMandateSelection();"
>
<!--p>
<small>Alternativ können Sie eine lokal installierte BKU verwenden.</small>
@@ -837,7 +906,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/data/deploy/conf/moa-id/log4j.properties b/id/server/data/deploy/conf/moa-id/log4j.properties
index 1ba51720a..d83e8e550 100644
--- a/id/server/data/deploy/conf/moa-id/log4j.properties
+++ b/id/server/data/deploy/conf/moa-id/log4j.properties
@@ -14,6 +14,7 @@ log4j.logger.org.hibernate=warn
log4j.logger.at.gv.egiz.components.configuration=info,CONFIGTOOL
log4j.logger.at.gv.egovernment.moa.id.commons=info,CONFIGTOOL R
log4j.logger.at.gv.egovernment.moa.id.config.webgui=info,CONFIGTOOL
+log4j.logger.at.gv.egovernment.moa.id.configuration=info,CONFIGTOOL
# configure the stdout appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html
index d20f3f546..eb7d117d0 100644
--- a/id/server/doc/handbook/config/config.html
+++ b/id/server/doc/handbook/config/config.html
@@ -108,6 +108,7 @@
</ol>
</li>
<li><a href="#konfigurationsparameter_allgemein_sltransform">Security-Layer Transformationen</a></li>
+ <li><a href="#general_revision">Revisionssicherheit</a></li>
</ol>
</li>
<li><a href="#konfigurationsparameter_oa">Online-Applikationen</a>
@@ -136,11 +137,12 @@
<li><a href="#konfigurationsparameter_oa_additional_encbpk">Fremd-bPK Konfiguration</a></li>
</ol>
</li>
+ <li><a href="#service_revisionslogging">Revisionslogging</a></li>
</ol>
</li>
<li><a href="#import_export">Import / Export</a>
<ol>
- <li><a href="#import_export_legacy">Import alter Konfigurationen (&lt;= MOA-ID 1.5.1)</a></li>
+ <li><a href="#import_export_legacy">Import alter Konfigurationen (= MOA-ID 2.x.x)</a></li>
</ol>
</li>
</ol>
@@ -171,6 +173,7 @@
<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 2.x.x Konfiguration importiert</a> werden. F&uuml;r bestehende Konfigurationen &lt; 2.x.x wird eine vollst&auml;ndige Neukonfiguration empfohlen.</p>
+ <p><strong>Hinweis:</strong> Wenn eine bestehende MOA-ID 2.x.x Konfiguration importiert werden soll MUSS diese zuerst mit Hilfe des in MOA-ID 2.x.x verwendeten Konfigurationstools in eine XML Datei exportiert werden.</p>
<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>
@@ -178,8 +181,11 @@
<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>
<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>WINDOWS: moa.id.webconfig=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id-configuration/moa-id-configuration.properties
-UNIX: moa.id.webconfig=file:C:/Programme/apache/tomcat-4.1.30/conf/moa-id-configuration/moa-id-configuration.properties </pre>
+<pre>WINDOWS: -Dmoa.id.webconfig=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id-configuration/moa-id-configuration.properties
+UNIX: -Dmoa.id.webconfig=file:C:/Programme/apache/tomcat-8.x.x/conf/moa-id-configuration/moa-id-configuration.properties </pre>
+ <p>Zus&auml;tzlich gibt es f&uuml;r das Konfigurationsmodul ein Usermanagment welches ebenfalls &uuml;ber eine eigene Konfiguration verf&uuml;gt. Die Konfiguration des Usermanagements 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>user.properties</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>WINDOWS: -Duser.properties=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id-configuration/userdatabase.properties
+UNIX: -Duser.properties=file:C:/Programme/apache/tomcat-8.x.x/conf/moa-id-configuration/userdatabase.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>
<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>
@@ -364,8 +370,8 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/secure/usermanagementInit
<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>
<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>Windows: moa.id.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-id/moa-id.properties
-UNIX: moa.id.configuration=file:C:/Programme/apache/tomcat-4.1.30/conf/moa-id/moa-id.properties</pre>
+ <pre>Windows: moa.id.configuration=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id/moa-id.properties
+UNIX: moa.id.configuration=file:C:/Programme/apache/tomcat-8.x.x/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>
<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>
@@ -410,12 +416,6 @@ UNIX: moa.id.configuration=file:C:/Programme/apache/tomcat-4.1.30/conf/moa-id/mo
<td>true / false</td>
<td>Aktiviert das erweiterte Logging zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. Hierf&uuml;r muss der entsprechende Datenbankzugriff (siehe <a href="#basisconfig_moa_id_auth_param_database">Kapitel 2.2.2.4</a>) ebenfalls konfiguriert werden.</td>
</tr>
- <tr>
- <td>configuration.xml</td>
- <td>&nbsp;</td>
- <td><p>URL auf eine XML basierte Konfiguration f&uuml;r MOA-ID-Auth 2.0. Dieser Parameter ist optional. </p>
- <strong>Achtung: </strong>Dieser Parameter sollte nur in Kombination mit einer InMemory Datenbank f&uuml;r die Konfiguration verwendet werden, da w&auml;hrend des Startvorgangs von MOA-ID-Auth eine eventuell vorhandene Konfiguration vollst&auml;ndig durch die Konfiguration aus der XML Datei ersetzt wird. N&auml;here Informationen zu einer XML basierten Konfigurationsdatei f&uuml;r MOA-ID-Auth finden Sie <a href="#import_export_actual">hier</a>.</td>
- </tr>
</table>
<p>&nbsp;</p>
<p>Wenn das interne Monitoring aktiviert wurde kann ein Testvorgang durch einen Aufruf der folgenden Adresse gestartet werden.</p>
@@ -873,12 +873,17 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<p>&nbsp;</p>
<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>
+<pre>log4j.configuration=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id/log4j.properties</pre>
+ <p>Zust&auml;tzlich wird f&uuml;r einige Basiskomponenten, welche &uuml;ber Drittherstellerbibliotheken inkludiert sind, LogBack als Logging Framework verwendet. Die LogBack Konfiguration wird ebenfalls &uuml;ber den System Property angegeben</p>
+ <pre>logback.configuration=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id/logback_config.xml</pre>
+ <p>Mit Hilfe von Konverertern kann eine bestehende log4j Konfiguration in das LogBack Format umgewandelt werden. Hierf&uuml;r stehen divererse Tools Online zur Verf&uuml;gung. (z.B. <a href="http://logback.qos.ch/translator/">http://logback.qos.ch/translator/</a>)</p>
+ <p>&nbsp;</p>
+ <p>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></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>F&uuml;r die Untest&uuml;tzung des STORK2 Protokols verwendet MOA-ID eine zus&auml;tzliche Bibliothek, die &uuml;ber gesonderte Dateien konfiguriert wird. Diese Dateien sind unter einem Verzeichnis gespeichert, das sich &uuml;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>
+<pre>eu.stork.samlengine.config.location=file:/C:/Programme/apache/tomcat-8.x.x/conf/moa-id/conf/moa-id/stork</pre>
<p>Dieses Verzeichnis muss mindestens folgende Dateien enthalten:</p>
<table class="configtable">
<tr>
@@ -891,10 +896,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\E4lt allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth&auml;lt allgemeine Konfigurationsparametern einer spezifischen Instanz des SamlEngines.</td>
</tr> <tr>
<td>SignModule_<span class="term">XXX</span>.xml</td>
- <td>Enth\E4lt Konfigurationsparametern f\FCr Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
+ <td>Enth&auml;lt Konfigurationsparametern f&uuml;r Trust- und Keystore einer spezifischen Instanz des SamlEngines.</td>
</tr>
</table>
<p></p>
@@ -921,7 +926,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\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>
+<p>Die Datei <span class="strongerterm">StorkSamlEngine_VIDP.xml</span> enth&auml;lt STORK-spezifische Parameter, die im Normalbetrieb nicht ge&auml;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>
<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;
@@ -936,7 +941,7 @@ 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\FCssel zu erm\F6glichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p>
+<p>Diese Parameter m&uuml;ssen bei der Installation angepasst werden, um die Zugriff an Keystore und die Schl&uuml;ssel zu erm&ouml;glichen. Die einzelne Parameter werden in folgender Tabelle erl&auml;utert:</p>
<table class="configtable">
<tr>
<th>Name</th>
@@ -944,27 +949,27 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
</tr>
<tr>
<td>keystorePath</td>
- <td>Keystore mit Schl\FCssel und Zertifikaten welche f\FCr das Signieren und Verschl\FCsseln von STORK Nachrichten verwendet werden sollen. </td>
+ <td>Keystore mit Schl&uuml;ssel und Zertifikaten welche f&uuml;r das Signieren und Verschl&uuml;sseln von STORK Nachrichten verwendet werden sollen. </td>
</tr>
<tr>
<td>keyStorePassword</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>
+ <td>Passwort des Keystores. Keystore soll den Schl&uuml;ssel f&uuml;r das Signieren von Nachrichten enthalten, ebenso wie die vertrauensw&uuml;rdige Zertifikate von anderen Parteien, wie z.B. ausl&auml;ndische PEPSes. </td>
</tr>
<tr>
<td>keyPassword</td>
- <td>Password des Schl\FCssels, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Password des Schl&uuml;ssels, der f&uuml;r das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>issuer</td>
- <td>Issuer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Issuer des Keypairs, der f&uuml;r das Signieren der STORK Nachrichten verwendet werden soll.</td>
</tr>
<tr>
<td>serialNumber</td>
- <td>Nummer des Keypairs, der f\FCr das Signieren der STORK Nachrichten verwendet werden soll.</td>
+ <td>Nummer des Keypairs, der f&uuml;r 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\FCr <span class="term">Java Key Store</span>.</td>
+ <td>Typ und Format des Keystores. <span class="term">JKS</span> steht f&uuml;r <span class="term">Java Key Store</span>.</td>
</tr>
</table>
<h2><a name="konfigurationsparameter"></a>3 Konfiguration MOA-ID-Auth</h2>
@@ -973,8 +978,6 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/MonitoringServlet</pre>
<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>
<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>
@@ -1064,11 +1067,6 @@ Checking</td>
<td>certs/ca-certs</td>
<td>TrustedCACertificates enth&auml;lt das Verzeichnis (relativ zur MOA-ID-Auth Basiskonfigurationsdatei), das jene Zertifikate enth&auml;lt, die als vertrauensw&uuml;rdig betrachtet werden. Im Zuge der &Uuml;berpr&uuml;fung der TLS-Serverzertifikate wird die Zertifikatspfaderstellung an einem dieser Zertifikate beendet. Dieses Verzeichnis wird zur Pr&uuml;fung der SSL Serverzertifikate f&uuml;r den Zugriff auf das Online-Vollmachten Service, den Stammzahlenregister Gateway und das Abholen von PVP 2.1 Metadaten via SSL verwendet.</td>
</tr>
- <tr>
- <td>ChainingMode</td>
- <td>pkix</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>
<h4><a name="konfigurationsparameter_allgemein_timeouts" id="konfigurationsparameter_allgemein_bku4"></a>3.1.5 Session TimeOuts</h4>
<table class="configtable">
@@ -1078,7 +1076,7 @@ Checking</td>
<th>Beschreibung</th>
</tr>
<tr>
- <td>Anmeldedaten</td>
+ <td>Transaktion</td>
<td>300</td>
<td><p>Gibt die Zeitspanne in Sekunden an, f&uuml;r die Anmeldedaten, tempor&auml;re Sessiondaten oder Assertions in der Authentisierungskomponente (MOA-ID-Auth) vorr&auml;tig gehalten werden. Nach Ablauf dieser Zeitspanne werden diese Daten gel&ouml;scht oder der Anmeldevorgang abgebrochen. Dieser Parameter hat Einfluss auf folgende Funktionen:</p>
<ul>
@@ -1119,15 +1117,9 @@ Checking</td>
</tr>
<tr>
<td><p>Authentifizierungsblock Transformationen</p></td>
- <td>MOAIDTransformAuthBlockTable_DE_2.0</td>
+ <td>MOAIDTransformAuthBlockTable_DE_3.0</td>
<td>Die Elemente spezifizieren eine ID f&uuml;r ein Transformationsprofil, die f&uuml;r den VerifyXMLSignatureRequest zur &uuml;berpr&uuml;fung der Signatur des Auth-Blocks verwendet werden m&uuml;ssen. Dieses Transformationsprofil muss beim verwendeten MOA-SP Modul konfiguriert sein.</td>
</tr>
- <tr>
- <td>MOA-SP Service URL</td>
- <td>&nbsp;</td>
- <td>URL auf das zu nutzende MOA-SP Service.<br>
- <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>
<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>
@@ -1215,7 +1207,7 @@ Checking</td>
</tr>
</table>
<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>
+<p>Hierbei werden allgemeine Parameter f&uuml;r STORK Protokoll konfiguriert.</p>
<table class="configtable">
<tr>
<th>Name</th>
@@ -1230,17 +1222,17 @@ Checking</td>
<tr>
<td>Country Code</td>
<td>ES</td>
- <td>Der zweistelligen Code vom unterst\FCtzten PEPS-Staat.</td>
+ <td>Der zweistelligen Code vom unterst&uuml;tzten PEPS-Staat.</td>
</tr>
<tr>
<td>PEPS URL</td>
<td>https://prespanishpeps.redsara.es/PEPS/ColleagueRequest</td>
- <td>Die Adresse von PEPS eines unterst\FCtzten PEPS-Staat.</td>
+ <td>Die Adresse von PEPS eines unterst&uuml;tzten PEPS-Staat.</td>
</tr>
<tr>
<td>Attributname</td>
<td>eIdentifier</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>
+ <td>Der Name des unterst&uuml;tzten Attributes. Die als <span class="term">zwingend</span> markierte Attribute m&uuml;ssen im Response von dem gegenstehendem PEPS enthalten sein. Jedes Attribut wird gesondert eingetragen. <br/>Die Liste von vorhandenen und unterst&uuml;tzen Attributes ist in Konfigurationsdatei von SamlEngine <span class="term">(StorkSamlEngine_XXX.xml)</span> vorhanden. </td>
</tr>
</table>
<p>&nbsp;</p>
@@ -1474,7 +1466,11 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
<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>
+<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_3.0.xml">/conf/moa-id/transforms/ TransformsInfoAuthBlockTable_DE_3.0.xml</a></em>.</p>
+
+<!-- <h4><a name="general_revision" id="konfigurationsparameter_allgemein_bku18"></a>3.1.12 Revisionssicherheit</h4>
+<p>Ab MOA-ID 3.x steht ein erweitertes speziell f&uuml;r Revisionsaufgaben abgestimmtest Logging zur Verf&uuml;gung. &Uuml;ber dieses Feld k&ouml;nnen die zu loggenden Events als CSV codierte Eventcodes konfiguriert werden. Werden keine Eventcodes konfiguriert wird eine in MOA-ID hinterlegte Defaultkonfiguration verwendet. Eine Liste aller m&ouml;glichen Eventcodes finden Sie <a href="../additional/additional.html#revisionslog">hier</a>.</p> -->
+
<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>
<h4><a name="konfigurationsparameter_oa_general" id="uebersicht_zentraledatei_aktualisierung17"></a>3.2.1 Informationen zur Online-Applikation (Service Provider)</h4>
@@ -1846,19 +1842,12 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
<th>Beschreibung</th>
</tr>
<tr>
- <td>Neu Laden</td>
- <td>&nbsp;</td>
- <td align="center">&nbsp;</td>
- <td align="center">X</td>
- <td>Wird diese Option gew&auml;hlt erfolgt nach dem Speicher der Konfiguration eine Neuinitialisierung der PVP 2.1 Metadaten der Online-Applikation durch die MOA-ID-Auth Instanz. </td>
- </tr>
- <tr>
<td>URL zu den Metadaten</td>
<td>http://demo.egiz.gv.at/demologin-pvp2-sso/metadata/demoportal-pvp2-sso.mdxml</td>
<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\F6nnen nur \FCber http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht m\F6glich.</p></td>
+ <p><b>Hinweis:</b> Metadaten k&ouml;nnen nur &uuml;ber http oder https bezogen werden. Das Laden von Metadaten aus dem lokalen Verzeichnissystem ist nicht m&ouml;glich.</p></td>
</tr>
<tr>
<td>Infos zum Zertifikat</td>
@@ -1909,8 +1898,8 @@ Soll die B&uuml;rgerkartenauswahl weiterhin, wie in MOA-ID 1.5.1 im Kontext der
</tr>
</table>
<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
+<p>In Abschnitt erm&ouml;glicht eine erweiterte online-applikationsspezifische Individualisierung des AuthBlocks und der B&uuml;rgerkartenauswahl.
+ Die Individualisierung des AuthBlocks steht jedoch dann zur Verf&uuml;gung 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 class="configtable">
<tr>
@@ -1940,13 +1929,13 @@ 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\E4hlt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
+ <td>Wird diese Option gew&auml;hlt wird im AuthBlock, welcher im Anmeldevorgang signiert wird, keine bPK oder wbPK dargestellt.</td>
</tr>
</table>
<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.
+<p>Diese Konfigurationsparameter bieten zus&auml;tzliche Einstellungen f&uuml;r eine Anpassung der B&uuml;rgerkartenauswahl 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\E4nzt.
+Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Bedarf durch Standardwerte erg&auml;nzt.
</p>
<table class="configtable">
<tr>
@@ -1961,50 +1950,50 @@ Alle in diesem Abschnitt angegebenen Parameter sind Optional und werden bei Beda
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">X</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>
+ <td>Hintergrundfarbe der B&uuml;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>
</tr>
<tr>
<td>Vordergrundfarbe</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der B&uuml;rgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Hintergrundfarbe \DCberschrift</td>
+ <td>Hintergrundfarbe &Uuml;berschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Hintergrundfarbe der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Hintergrundfarbe der &Uuml;berschrift der B&uuml;rgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>Vordergrundfarbe \DCberschrift</td>
+ <td>Vordergrundfarbe &Uuml;berschrift</td>
<td>#E5E5E5</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Vordergrundfarbe (Textfarbe) der \DCberschrift der B\FCrgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
+ <td>Vordergrundfarbe (Textfarbe) der &Uuml;berschrift der B&uuml;rgerkartenauswahl. Die Angabe der Farbe erfolgt als RGB Wert in hexadezimaler Form.</td>
</tr>
<tr>
- <td>\DCberschriftstext</td>
+ <td>&Uuml;berschriftstext</td>
<td>Anmeldung</td>
<td align="center">X</td>
<td align="center">&nbsp;</td>
- <td>Die hier angegebene Zeichenkette wird als \DCberschrift in der B\FCrgerkartenauswahl dargestellt. Es sind jedoch nur Buchstaben, Zahlen und Satzzeichen erlaubt.</td>
+ <td>Die hier angegebene Zeichenkette wird als &Uuml;berschrift in der B&uuml;rgerkartenauswahl 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 \FCbergeben wird definiert werden. Die m\F6glichen Parameter sind \E4quivalent zum
+ <td>Mit diesem Parameter kann der Redirect-Target welcher im Security-Layer Request an die BKU &uuml;bergeben wird definiert werden. Die m&ouml;glichen Parameter sind &auml;quivalent zum
html Attribut <i>target</i> (siehe <a href="#import_template_sltemplate">Kapitel 4.3</a>). </td>
</tr>
<tr>
- <td>Appleth\F6he</td>
+ <td>Appleth&ouml;he</td>
<td>220</td>
<td align="center">&nbsp;</td>
<td align="center">X</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>
+ <td>Mit diesem Parameter kann die H&ouml;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>
</tr>
<tr>
<td>Appletbreite</td>
@@ -2018,58 +2007,50 @@ 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\FCnschten Schriftart, welche f\FCr die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gew\E4hlt werden.</td>
+ <td>Dieses Feld erlaubt die Auswahl der gew&uuml;nschten Schriftart, welche f&uuml;r die BKU-Auswahl verwendet werden soll. Es kann jedoch nur eine Schriftart gew&auml;hlt 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\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>
+ <td>Dieses Textfeld erlaubt die Konfiguration eine Liste von Schriftarten, welche f&uuml;r die BKU-Auswahl verwendet werden soll.
+ Die Angabe erfolgt mittels einer durch &quot;<i>,&quot;</i> getrennten Liste, &auml;quivalent zur Schriftartendefinition laut HTML Spezifikation</td>
</tr>
</table>
<p>&nbsp;</p>
-<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>
+<p><strong>Hinweis:</strong> Bei Verwendung einer online-applikationsspezifischen B&uuml;rgerkartenauswahl stehen alle Parameter die die B&uuml;rgerkartenauswahl betreffen nicht zur Verf&uuml;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&uuml;gung.</p>
+<h5><a name="service_revisionslogging" id="uebersicht_zentraledatei_aktualisierung11"></a>3.2.9 Revisionslogging</h5>
+<p>Ab MOA-ID 3.x steht ein erweitertes speziell f&uuml;r Revisionsaufgaben abgestimmtest Logging zur Verf&uuml;gung. &Uuml;ber dieses Feld k&ouml;nnen die zu loggenden Events als CSV codierte Eventcodes konfiguriert werden. Werden keine Eventcodes konfiguriert wird eine in MOA-ID hinterlegte Defaultkonfiguration verwendet. Eine Liste aller m&ouml;glichen Eventcodes finden Sie <a href="../additional/additional.html#revisionslog">hier</a>.</p>
<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>&Uuml;er diese Funktionalit&auml;t besteht die M&ouml;glichkeit eine bestehende MOA-ID 2.x.x
+Konfiguration in MOA-ID 3.x zu importieren. Zus&auml;tzlich besteht die M&ouml;glichkeit eine MOA-ID-Auth 3.0
+Konfiguration in ein Dokument zu exportieren oder in eine bestehende MOA-ID-Auth 3.0
+ Konfiguration zu importieren. </p>
<p><strong>Hinweis:</strong>
Zu beachten ist, dass bei einem Import die aktuell vorhandene
- 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\FCr kann die
+ Konfiguration vollst&auml;ndig gel&ouml;scht und durch die importierte Konfiguration ersetzt wird.
+ Es wird empfohlen ein Backup einer eventuell vorhandenen MOA-ID 3.0 Konfiguration
+ zu erstellen, bevor eine neue Konfiguration importiert wird. Hierf&uuml;r kann die
Exportfunktion verwendet werden.</p>
-<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>
+<h4><a name="import_export_legacy" id="uebersicht_zentraledatei_aktualisierung5"></a>3.3.1 Import alter Konfigurationen ( MOA-ID 2.x.x)</h4>
+<p>Es besteht auch die M&ouml;glichkeit eine bestehende MOA-ID 2.x.x Konfiguration zu importieren. Hierf&uuml;r muss zuerst die bestehende MOA-ID 2.x.x Konfiguration mit Hilfe des in MOA-ID 2.x.x verwendeten Konfigurationstools in eine Datei exportiert werden. Anschlie&szlig;end kann die expotierte Datei in das neue Format konfertiert und wieder in die Konfigurationsdatenbank importiert werden. Die einzelnen Schritte werden in der nachfolgenden Aufz&auml;hlung n&auml;her beschrieben.</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>
- <li>Allgemeine Konfiguration: Folgende Punkte der allgemeinen Konfiguration m&uuml;ssen auf jeden Fall kontrolliert und eventuell angepasst werden.
- <ol>
- <li><a href="#konfigurationsparameter_allgemein_publicurlprefix">Public URL Prefix</a>: Dieser Parameter MUSS konfiguriert werden.</li>
- <li><a href="#konfigurationsparameter_allgemein_bku">Default BKU-URLs</a>: Die Konfiguration von Default BKU URLs wird empfohlen.</li>
- <li><a href="#konfigurationsparameter_allgemein_sl-templates">Security-Layer Request Templates</a>: Dieser Parameter MUSS konfiguriert werden.</li>
- <li><a href="#konfigurationsparameter_allgemein_sso">Single Sign-On Einstellungen</a></li>
- <li><a href="#konfigurationsparameter_allgemein_protocol_pvp21">PVP 2.1 Konfiguration</a></li>
- <li><a href="#konfigurationsparameter_allgemein_sltransform">Security-Layer Transformation</a>: Sollte die Security-Layer Transformation (siehe Kapitel 1.3.1.9) nicht korrekt importiert worden sein (Dateiname ist leer) muss diese neu hochgeladen werden. Die aktuelle Transformation befindet sich in der MOA-ID-Auth Defaultkonfiguration im Ordner <em>/conf/moa-id/transforms/ TransformsInfoAuthBlockTable_DE_2.0.xml</em></li>
- </ol>
- </li>
- <li>5. Online-Applikationen: Je nachdem welche Authentifizierungsprotokolle verwendet werden oder wenn Single Sign-On nicht unterst&uuml;tzen werden soll sind &Auml;nderungen an der Online-Applikationskonfiguration erforderlich. Hierf&uuml;r muss die jeweilige Online-Applikation aus der Liste der Online-Applikationen ausw&auml;hlen und die jeweiligen Parameter anpassen.
- <ol>
- <li><a href="#konfigurationsparameter_oa_sso">Single Sign-On</a>: Standardm&auml;&szlig;ig ist Single Sign-On aktiviert.</li>
- <li><a href="#konfigurationsparameter_oa_protocol_pvp21">PVP2 Konfiguration</a>: Soll f&uuml;r die Authentifizierung das PVP2.1 Protokoll verwendet werden, so m&uuml;ssen die PVP2 spezifischen Parameter bei der jeweiligen Online-Applikation eingetragen werden.</li>
- <li><a href="#konfigurationsparameter_oa_protocol_openIDConnect">OponID Connect Konfiguration</a>: Soll f&uuml;r die Authentifizierung das Protokoll OpenID Connect verwendet werden, so m&uuml;ssen alle OpenID Connect spezifischen Parameter bei der jeweiligen Online-Applikation hinterlegt werden.</li>
- <li><a href="#konfigurationsparameter_oa_bku">BKU Konfiguration</a>: Soll f&uuml;r die Online-Applikation spezielle BKU Instanzen verwendet werden, so m&uuml;ssen diese f&uuml;r die Online-Applikation konfiguriert werden. Diese Konfiguration ist auf bei Verwendung von SAML1 als Authentifizierungsprotokoll erforderlich. N&auml;here Informationen finden Sie im jeweiligen Kapitel der Dokumentation.</li>
- </ol>
- </li>
- <li> Wenn alle &Auml;nderungen und Anpassungen abgeschlossen wurden wird ein Neustart des Tomcat, welcher das Module MOA-ID-Auth beinhaltet, empfohlen. Nach dem erfolgreichen Neustart steht die Anmeldung an den registrierten Online-Applikationen bereits zur Verf&uuml;gung. Sollte das Module MOA-ID-Auth nicht erfolgreich starten, muss die Konfiguration, je nach gemeldetem Fehler, erg&auml;nzt oder ge&auml;ndert werden.</li>
-</ol>
+ <li>Exportieren Sie die aktuell in MOA-ID 2.x.x verwendete Konfiguration mit Hilfe der Import/Export Funktionen im Konfigurationstool der MOA-ID Version 2.x.x in eine XML Datei. Diese in eine XML Datei exportierte Konfiguration dient als Basis f&uuml;r die Konvertierung in das neue Format.</li>
+ <li>Konvertieren der Konfigurationsdatei in das neue Konfigurationsformat von MOA-ID 3.x. Die Konvertierung erfolgt mit Hilfe eines Java Programms aus der Konsole. Hierf&uuml;r befindet sich im Release Package das Verzeichnis <code>$MOA_ID_AUTH_INST/migration</code> welches alle ben&ouml;tigten Java Bibliotheken beinhaltet. Das Programm kann mit Hilfe des nachfolgenden Kommantozeilenparameters gestartet werden.
+ <br>
+ <pre>java -jar moa-id-commons.jar -in ../URL_ZUR_MOA-ID-2.x.x-Config -out ./MOA-ID-3.x.properties</pre>
+ Hierbei wird die unter
+ <em>../URL_ZUR_MOA-ID-2.x.x-Config</em> verf&uuml;gbare Konfiguration in das neue Format umgewandelt und in der Datei <em>./MOA-ID-3.x.properties</em> gespeichert.</li>
+ <li>Schreiben der konvertierten Konfiguration in die neue Konfigurationstabelle der Datenbank. Dies erfolgt ebenfall mit Hilfe des mitgelieferten Konsolenprogramms, welches mit dem nachstehenden Kommantozeilenparameter gestartet wird.
+ <pre>java -jar moa-id-commons.jar -in ./MOA-ID-3.x.properties -outdb ./moa-id-webgui.properties</pre>
+ Hierbei wird die unter <em>./MOA-ID-3.x.properties</em> verf&uuml;gbare Konfiguration in die Datenbank geschrieben. Die Zugriffsparameter f&uuml;r den Datenbankzugriff werden aus der Konfigurationsdatei ./moa-id-webgui.properties entnommen, welche Identisch zur Konfiguration des neuen MOA-ID-Configuration Tools der Version 3.0 ist.</li>
+ </ol>
+<p><strong>Hinweis:</strong> Zus&auml;tzlich besteht auch weiterhin die M&ouml;glichkeit eine MOA-ID 2.x.x Konfiguration &uuml;ber die Import/Export Funktion im Konfigurationstool zu importieren. Der Import einer Konfiguration kann jedoch eine l&auml;ngere Zeit in Anspruch nehmen wodurch TimeOut Problemen im Browser m&ouml;glich sind.</p>
<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>
-<h4><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 B\FCrgerkartenauswahl</h4>
+<h4><a name="import_template_bku" id="uebersicht_zentraledatei_aktualisierung6"></a>4.1 B&uuml;rgerkartenauswahl</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>
diff --git a/id/server/doc/handbook/install/install.html b/id/server/doc/handbook/install/install.html
index f669af2a6..aa4114539 100644
--- a/id/server/doc/handbook/install/install.html
+++ b/id/server/doc/handbook/install/install.html
@@ -105,7 +105,7 @@
<dt>Installation von Apache Tomcat</dt>
<dd> Installieren Sie Apache Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enth&auml;lt. Verwenden Sie bitte die zu Ihrer Java SE passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> bezeichnet.</dd>
<dt>Entpacken der MOA-ID-Auth Webservice Distribution</dt>
- <dd> Entpacken Sie die Datei <code>moa-id-auth-2.0.0.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_ID_AUTH_INST</code> bezeichnet. </dd>
+ <dd> Entpacken Sie die Datei <code>moa-id-auth-3.0.0.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_ID_AUTH_INST</code> bezeichnet. </dd>
<dt>Installation der Kryptographiebibliotheken von SIC/IAIK</dt>
<dd>
<p>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_ID_AUTH_INST/ext</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zus&auml;tzlich m&uuml;ssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden <span class="term">Unlimited Strength
@@ -114,7 +114,7 @@
Jurisdiction Policy Files</span> von der <a href="http://java.com/download" target="_blank">Java SE Downloadseite </a>und achten Sie darauf die f&uuml;r ihre verwendete Java SE Installation richtige Version zu nehmen. Anschlie&szlig;end folgen Sie der darin enthaltenen Installationsanweisung. </p>
</dd>
<dt>Installation einer Datenbank</dt>
- <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>F&uuml;r den Betrieb von MOA-ID 3.x 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>
<h5><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h5>
@@ -143,6 +143,7 @@
<li><code>moa.spss.server.configuration</code>: Pfad und Name der zentralen Konfigurationsdatei f&uuml;r MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-spss/SampleMOASPSSConfiguration.xml">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/conf</code> enthaltene Default-Konfiguration herangezogen.</li>
<li><code>eu.stork.samlengine.config.location</code>: Pfad auf den Ordner mit den zentralen Konfigurationsdateien f&uuml;r STORK. Die Beispielkonfiguration f&uuml;r das Modul MOA-ID-Auth enth&auml;lt bereits den<a href="../../../conf/moa-id/stork/"> Ordner f&uuml;r die STORK Konfiguration</a>. </li>
<li id="klein"><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../../../conf/moa-id/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</li>
+ <li><code>-Dlogback.configurationFile</code>: URL der LogBack Konfigurationsdatei. Eine beispielhafte LobBack-Konfiguration finden Sie <a href="../../../conf/moa-id/logback_config.xml">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen. &Uuml;berdies besteht die M&ouml;glichkeit eine bestehende Log44 Konfigurationsdatei in der LogBack Format zu &uuml;berf&uuml;hren (<a href="http://logback.qos.ch/translator/">http://logback.qos.ch/translator/</a>). </li>
<li id="klein"><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> f&uuml;r vertrauensw&uuml;rdige SSL Zertifikate. Die SSL Serverzertifikate der Server von denen mittels https Dateien bezogen werden m&uuml;ssen im Truststore abgelegt werden. Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
<li id="klein"><code>javax.net.ssl.trustStorePassword</code>: Passwort f&uuml;r den <span class="term">Truststore</span> (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). </li>
<li id="klein"><code>javax.net.ssl.trustStoreType</code>: Truststore-Typ (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> (PKCS#12-Datei) angegeben werden.</li>
@@ -151,14 +152,16 @@
</ul>
<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 Datei <code>$MOA_ID_AUTH_INST/egiz-configuration-webapp.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/egiz-configuration-webapp</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>
</li>
<li> Die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar, serializer.jar </code> und <code>xml-apis.jar</code> aus dem Verzeichnis <code>$MOA_ID_AUTH_INST/endorsed</code> m&uuml;ssen in das Tomcat-Verzeichnis <code>$CATALINA_HOME/endorsed</code> (bzw. <code>$CATALINA_HOME/common/endorsed</code> bis Apache Tomcat Version 5.5) kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, m&uuml;ssen sie &uuml;berschrieben werden. Die ggf. in diesem Verzeichnis vorhandene Datei <code>xmlParserAPIs.jar</code> muss gel&ouml;scht werden. Sollte das Verzeichnis <code>endorsed</code> nicht vorhanden sein, dann muss dieses zuerst erstellt werden.</li>
<li>Folgende <span class="term">System Properties</span> k&ouml;nnen gesetzt werden (wird beim Starten von Tomcat der <span class="term">Java Virtual Machine</span> in der Umgebungsvariablen <code>CATALINA_OPTS</code> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> &uuml;bergeben):
<ul>
<li><code>moa.id.webconfig</code>: Pfad und Name der Basiskonfigurationsdatei f&uuml;r MOA-ID-Configuration. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-id-configuration/moa-id-configtool.properties">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
+ <li><code>-Duser.properties</code>: Pfad und Name der Basiskonfigurationsdatei f&uuml;r das Usermanagement der Konfigurationsoberfl&auml;che. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-id-configuration/userdatabase.properties">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
<li><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../../../conf/moa-id/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</li>
+ <li><code>-Dlogback.configurationFile</code>: URL der LogBack Konfigurationsdatei. Eine beispielhafte LobBack-Konfiguration finden Sie <a href="../../../conf/moa-id/logback_config.xml">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen. &Uuml;berdies besteht die M&ouml;glichkeit eine bestehende Log44 Konfigurationsdatei in der LogBack Format zu &uuml;berf&uuml;hren (<a href="http://logback.qos.ch/translator/">http://logback.qos.ch/translator/</a>).</li>
<li><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> f&uuml;r vertrauensw&uuml;rdige SSL Zertifikate Die SSL Serverzertifikate der Server von denen mittels https Dateien bezogen werden m&uuml;ssen im Truststore abgelegt werden. Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
<li><code>javax.net.ssl.trustStorePassword</code>: Passwort f&uuml;r den <span class="term">Truststore</span> (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). </li>
<li><code>javax.net.ssl.trustStoreType</code>: Truststore-Typ (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> (PKCS#12-Datei) angegeben werden.</li>
@@ -184,17 +187,17 @@ gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
<pre>32131 [localhost-startStop-1] INFO moa.id.auth - MOA ID Authentisierung wurde erfolgreich gestartet
32131 [localhost-startStop-1] INFO moa.id.auth - Dispatcher Servlet initialization finished.</pre>
<p>Analog bei MOA-ID-Configuration</p>
-<pre>INFO at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider - MOA-ID-Configuration initialization completed</pre>
+<pre>INFO | 21 10:16:22 | localhost-startStop-1 | Loading config module: MOAIDConfigurationModul</pre>
<p>Bei leichten Fehlern in der Konfiguration geben <code>WARN</code> Log-Meldungen unmittelbar davor Aufschluss &uuml;ber fehlerhafte Konfigurations-Eintr&auml;ge.
Nach dem Starten von Tomcat stehen MOA-ID-Auth und MOA-ID-Configuration zur Verf&uuml;gung. Die Einsprungspunkte der unterschiedlichen Authentifizierungsprotokolle von MOA-ID-Auth werden im Abschnitt <a href="../protocol/protocol.html">Protokolle</a> im Detail beschrieben.</p>
<pre>
http://&lt;host&gt;:&lt;port&gt;/moa-id-auth/
-http://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
+http://&lt;host&gt;:&lt;port&gt;/egiz-configuration-webapp/</pre>
<p>bzw.
</p>
<pre>
https://&lt;host&gt;:&lt;port&gt;/moa-id-auth/
-https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
+https://&lt;host&gt;:&lt;port&gt;/egiz-configuration-webapp/</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>
<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:
@@ -212,12 +215,18 @@ https://&lt;host&gt;:&lt;port&gt;/moa-id-configuration/</pre>
<p>Hierbei werden folgende Log-Hierarchien verwendet: </p>
<ul>
<li>
- <p><code>at.gv.egovernment.moa.id.configuration</code> f&uuml;r alle Log-Meldungen aus MOA-ID-Configuration</p>
+ <p><code>at.gv.egiz.components.configuration</code> f&uuml;r Log-Meldungen aus allgemeinen EGIZ KonfigurationsGUI</p>
</li>
- <li><code>moa.id.auth</code> f&uuml;r alle Log-Meldungen aus MOA-ID-Auth </li>
<li>
- <p><code>moa.spss.server</code> f&uuml;r alle Log-Meldungen aus dem MOA/SPSS </p>
+ <p><code>at.gv.egovernment.moa.id.configuration</code> f&uuml;r Log-Meldungen aus MOA-ID Configurationsmodul</p>
</li>
+ <li><code>at.gv.egovernment.moa.id</code> f&uuml;r alle Log-Meldungen aus MOA-ID-Auth </li>
+ <li>
+ <p><code>at.gv.egovernment.moa.spss</code> f&uuml;r alle Log-Meldungen aus dem MOA/SPSS </p>
+ </li>
+ <li>
+ <p><code>at.gv.egiz.eventlog.plain.all</code> f&uuml;r alle Log-Meldungen aus dem MOA-ID EventLog zur Revisionssicherung</p>
+ </li>
<li>
<p><code>iaik.server</code> f&uuml;r alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen. </p>
</li>
diff --git a/id/server/doc/htmlTemplates/BKU-selection.html b/id/server/doc/htmlTemplates/BKU-selection.html
index d0af6401b..123a23837 100644
--- a/id/server/doc/htmlTemplates/BKU-selection.html
+++ b/id/server/doc/htmlTemplates/BKU-selection.html
@@ -15,13 +15,17 @@
text-align: center;
background-color: #6B7B8B;
}
+
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU p {
font-size: 0.7em;
}
#localBKU input{
- font-size: 0.7em;
+ font-size: 0.85em;
/*border-radius: 5px;*/
}
@@ -142,6 +146,8 @@
margin-bottom: 10px;
}
+
+
#validation {
position: absolute;
bottom: 0px;
@@ -154,7 +160,10 @@
@media screen and (max-width: 205px) {
#localBKU p {
font-size: 0.6em;
- }
+ }
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.6em;
@@ -191,6 +200,9 @@
#localBKU p {
font-size: 0.7em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.7em;
@@ -227,6 +239,9 @@
#localBKU p {
font-size: 0.9em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
@@ -257,7 +272,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -288,7 +305,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -327,7 +346,9 @@
font-size: 100%;
background-color: #MAIN_BACKGOUNDCOLOR#;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#page {
visibility: hidden;
margin-top: 0%;
@@ -464,12 +485,11 @@
}
#localBKU {
- padding-left: 5%;
- padding-right: 2%;
padding-bottom: 4%;
/*padding-top: 4%;*/
position: relative;
- clear: both;
+ clear: both;
+ text-align: center;
}
#bkukarte {
@@ -526,13 +546,13 @@
#localBKU input {
/* color: #BUTTON_COLOR#; */
- border: 0px;
+ /*border: 0px;*/
display: inline-block;
}
#localBKU input:hover, #localBKU input:focus, #localBKU input:active {
- text-decoration: underline;
+ /*text-decoration: underline;*/
}
#installJava, #BrowserNOK {
@@ -727,6 +747,56 @@
}
}
+
+ function checkIfBrowserSupportsJava(){
+ console.log("Browser is Chrome: "+checkIfBrowserIsChrome());
+ console.log("Browser is Safari: "+checkIfBrowserIsSafari());
+ console.log("Browser is Edge: "+checkIfBrowserIsEdge());
+
+ var cnt = 0;
+
+ if(checkIfBrowserIsChrome())cnt++;
+ if(checkIfBrowserIsEdge())cnt++;
+ if(checkIfBrowserIsSafari())cnt++;
+
+ if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection
+ return true;
+
+ var image = document.getElementById("bkuimage");
+ var srcatt = image.getAttribute("src");
+ var last = srcatt.substring(srcatt.lastIndexOf('/')+1);
+ srcatt = srcatt.replace(last,'online-bku-deactivated.png');
+ image.setAttribute("src",srcatt);
+
+
+ var button = document.getElementsByName("bkuButtonOnline")[0];
+ button.setAttribute("class","browserInfoButton");
+ button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen.");
+ button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');");
+
+ return false;
+
+ }
+ function checkIfBrowserIsChrome(){
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = false;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && webstore_defined;
+ }
+ function checkIfBrowserIsEdge(){//edge also defines the chrome object, but not the webapp
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = true;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && !webstore_defined;
+ }
+ function checkIfBrowserIsSafari(){
+ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
+ return cond1;
+ }
/* function setSSOSelection() {
document.getElementById("useSSO").value = "false";
var checkbox = document.getElementById("SSOCheckBox");
@@ -754,7 +824,7 @@
</script>
<title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title>
</head>
-<body onload="onChangeChecks();" onresize="onChangeChecks();">
+<body onload="onChangeChecks();checkIfBrowserSupportsJava();" onresize="onChangeChecks();">
<div id="page">
<div id="page1" class="case selected-case" role="main">
<h2 class="OA_header" role="heading">Anmeldung an: #OAName#</h2>
@@ -779,7 +849,7 @@
</div>
<div id="bkuselectionarea">
<div id="bkukarte">
- <img class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
+ <img id="bkuimage" class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
alt="OnlineBKU" /> <input name="bkuButtonOnline" type="button"
onClick="bkuOnlineClicked();" tabindex="2" role="button"
value="Karte" />
@@ -801,9 +871,8 @@
name="MODUL" value="#MODUL#"> <input type="hidden"
name="ACTION" value="#ACTION#"> <input type="hidden"
name="MOASessionID" value="#SESSIONID#">
- <input type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4"
- role="button" class="hell"
- onclick="setMandateSelection();"
+ <input type="submit" value=" Lokale Bürgerkartenumgebung " tabindex="4"
+ role="button" onclick="setMandateSelection();"
>
<!--p>
<small>Alternativ können Sie eine lokal installierte BKU verwenden.</small>
@@ -837,7 +906,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 2d3963c11..1b2e31cd4 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -207,6 +207,12 @@
<artifactId>xalan</artifactId>
<!-- should be provided by the container or jre -->
<scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>serializer</artifactId>
+ <groupId>xalan</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>xerces</groupId>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProviderImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProviderImpl.java
index 113e9cdda..60d676868 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProviderImpl.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProviderImpl.java
@@ -121,7 +121,7 @@ public abstract class ConfigurationProviderImpl implements ConfigurationProvider
protected Map<String, String> genericConfiguration;
/** The default chaining mode. */
- protected String defaultChainingMode;
+ protected String defaultChainingMode = "pkix";
/**
* A <code>Map</code> which contains the <code>IssuerAndSerial</code> to
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
index f7b6b8dde..4d88caffc 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java
@@ -287,6 +287,7 @@ public class DispatcherServlet extends AuthServlet{
MOAReversionLogger.getInstance().logEvent(MOAIDEventConstants.SESSION_CREATED, uniqueSessionIdentifier);
MOAReversionLogger.getInstance().logEvent(MOAIDEventConstants.TRANSACTION_CREATED, protocolRequestID);
MOAReversionLogger.getInstance().logEvent(uniqueSessionIdentifier, protocolRequestID, MOAIDEventConstants.TRANSACTION_IP, req.getRemoteAddr());
+
protocolRequest = info.preProcess(req, resp, action, uniqueSessionIdentifier, protocolRequestID);
MOAReversionLogger.getInstance().logEvent(protocolRequest.getOnlineApplicationConfiguration(),
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
index e293d8456..123a23837 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html
@@ -15,13 +15,17 @@
text-align: center;
background-color: #6B7B8B;
}
+
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU p {
font-size: 0.7em;
}
#localBKU input{
- font-size: 0.7em;
+ font-size: 0.85em;
/*border-radius: 5px;*/
}
@@ -142,6 +146,8 @@
margin-bottom: 10px;
}
+
+
#validation {
position: absolute;
bottom: 0px;
@@ -154,7 +160,10 @@
@media screen and (max-width: 205px) {
#localBKU p {
font-size: 0.6em;
- }
+ }
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.6em;
@@ -191,6 +200,9 @@
#localBKU p {
font-size: 0.7em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.7em;
@@ -227,6 +239,9 @@
#localBKU p {
font-size: 0.9em;
}
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
@@ -257,7 +272,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -288,7 +305,9 @@
#localBKU p {
font-size: 0.9em;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#localBKU input {
font-size: 0.8em;
min-width: 70px;
@@ -327,7 +346,9 @@
font-size: 100%;
background-color: #MAIN_BACKGOUNDCOLOR#;
}
-
+ .browserInfoButton{
+ color: rgb(128, 128, 128);
+ }
#page {
visibility: hidden;
margin-top: 0%;
@@ -464,12 +485,11 @@
}
#localBKU {
- padding-left: 5%;
- padding-right: 2%;
padding-bottom: 4%;
/*padding-top: 4%;*/
position: relative;
- clear: both;
+ clear: both;
+ text-align: center;
}
#bkukarte {
@@ -526,13 +546,13 @@
#localBKU input {
/* color: #BUTTON_COLOR#; */
- border: 0px;
+ /*border: 0px;*/
display: inline-block;
}
#localBKU input:hover, #localBKU input:focus, #localBKU input:active {
- text-decoration: underline;
+ /*text-decoration: underline;*/
}
#installJava, #BrowserNOK {
@@ -720,13 +740,63 @@
}
}
function onChangeChecks() {
- if (self.innerWidth < 650) {
+ if (top.innerWidth < 650) {
document.getElementById("moaidform").setAttribute("target","_parent");
} else {
document.getElementById("moaidform").removeAttribute("target");
}
}
+
+ function checkIfBrowserSupportsJava(){
+ console.log("Browser is Chrome: "+checkIfBrowserIsChrome());
+ console.log("Browser is Safari: "+checkIfBrowserIsSafari());
+ console.log("Browser is Edge: "+checkIfBrowserIsEdge());
+
+ var cnt = 0;
+
+ if(checkIfBrowserIsChrome())cnt++;
+ if(checkIfBrowserIsEdge())cnt++;
+ if(checkIfBrowserIsSafari())cnt++;
+
+ if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection
+ return true;
+
+ var image = document.getElementById("bkuimage");
+ var srcatt = image.getAttribute("src");
+ var last = srcatt.substring(srcatt.lastIndexOf('/')+1);
+ srcatt = srcatt.replace(last,'online-bku-deactivated.png');
+ image.setAttribute("src",srcatt);
+
+
+ var button = document.getElementsByName("bkuButtonOnline")[0];
+ button.setAttribute("class","browserInfoButton");
+ button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen.");
+ button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');");
+
+ return false;
+
+ }
+ function checkIfBrowserIsChrome(){
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = false;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && webstore_defined;
+ }
+ function checkIfBrowserIsEdge(){//edge also defines the chrome object, but not the webapp
+ var chrome_defined = !!window.chrome;//chrome object defined
+ var webstore_defined = true;
+ if(window.chrome){
+ webstore_defined = !!window.chrome.webstore;
+ }
+ return chrome_defined && !webstore_defined;
+ }
+ function checkIfBrowserIsSafari(){
+ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
+ return cond1;
+ }
/* function setSSOSelection() {
document.getElementById("useSSO").value = "false";
var checkbox = document.getElementById("SSOCheckBox");
@@ -754,7 +824,7 @@
</script>
<title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title>
</head>
-<body onload="onChangeChecks();" onresize="onChangeChecks();">
+<body onload="onChangeChecks();checkIfBrowserSupportsJava();" onresize="onChangeChecks();">
<div id="page">
<div id="page1" class="case selected-case" role="main">
<h2 class="OA_header" role="heading">Anmeldung an: #OAName#</h2>
@@ -779,7 +849,7 @@
</div>
<div id="bkuselectionarea">
<div id="bkukarte">
- <img class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
+ <img id="bkuimage" class="bkuimage" src="#CONTEXTPATH#/img/online-bku.png"
alt="OnlineBKU" /> <input name="bkuButtonOnline" type="button"
onClick="bkuOnlineClicked();" tabindex="2" role="button"
value="Karte" />
@@ -801,9 +871,8 @@
name="MODUL" value="#MODUL#"> <input type="hidden"
name="ACTION" value="#ACTION#"> <input type="hidden"
name="MOASessionID" value="#SESSIONID#">
- <input type="submit" value=">lokale Bürgerkartenumgebung" tabindex="4"
- role="button" class="hell"
- onclick="setMandateSelection();"
+ <input type="submit" value=" Lokale Bürgerkartenumgebung " tabindex="4"
+ role="button" onclick="setMandateSelection();"
>
<!--p>
<small>Alternativ können Sie eine lokal installierte BKU verwenden.</small>
@@ -837,7 +906,7 @@
src="#CONTEXTPATH#/img/valid-html5-blue.png" alt="HTML5 ist valide!" />
</a> <a href="http://jigsaw.w3.org/css-validator/"> <img
style="border: 0; width: 88px; height: 31px"
- src="https://jigsaw.w3.org/css-validator/images/vcss-blue"
+ src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
alt="CSS ist valide!" />
</a>
</div>
diff --git a/id/server/moa-id-commons/pom.xml b/id/server/moa-id-commons/pom.xml
index 05c4a4756..a81744edf 100644
--- a/id/server/moa-id-commons/pom.xml
+++ b/id/server/moa-id-commons/pom.xml
@@ -126,7 +126,7 @@
<version>0.5.6</version>
</dependency>
-<!-- <dependency>
+ <dependency>
<groupId>org.jvnet.hyperjaxb3</groupId>
<artifactId>maven-hyperjaxb3-plugin</artifactId>
<version>0.5.6</version>
@@ -144,7 +144,7 @@
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
- </dependency> -->
+ </dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationMigrationUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationMigrationUtils.java
index 4ff18e938..5233aa5d8 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationMigrationUtils.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationMigrationUtils.java
@@ -134,6 +134,17 @@ public class ConfigurationMigrationUtils {
result.put(MOAIDConfigurationConstants.SERVICE_BUSINESSSERVICE, Boolean.FALSE.toString());
+ //revisionsLog
+ if (oa.getIsRevisionsLogActive() == null)
+ result.put(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_ENABLED, Boolean.FALSE.toString());
+ else
+ result.put(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_ENABLED, oa.getIsRevisionsLogActive().toString());
+
+ if (MiscUtil.isNotEmpty(oa.getEventCodes())) {
+ result.put(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_EVENTCODES, oa.getEventCodes());
+ }
+
+
//convert target
String target_full = oa.getTarget();
if (MiscUtil.isNotEmpty(target_full)) {
@@ -267,7 +278,9 @@ public class ConfigurationMigrationUtils {
EncBPKInformation bPKEncDec = oaauth.getEncBPKInformation();
if (bPKEncDec != null) {
BPKDecryption bPKDec = bPKEncDec.getBPKDecryption();
- if (bPKDec != null) {
+ if (bPKDec != null
+ && MiscUtil.isNotEmpty(bPKDec.getKeyInformation())
+ && MiscUtil.isNotEmpty(bPKDec.getIv())) {
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_BLOB, Base64Utils.encode(bPKDec.getKeyInformation()));
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_IV, Base64Utils.encode(bPKDec.getIv()));
@@ -297,7 +310,7 @@ public class ConfigurationMigrationUtils {
//convert interfederation configuration
InterfederationIDPType moaIDP = oa.getInterfederationIDP();
- if (moaIDP != null) {
+ if (moaIDP != null && oa.isIsInterfederationIDP() != null && oa.isIsInterfederationIDP()) {
result.put(MOAIDConfigurationConstants.PREFIX_SERVICES, MOAIDConfigurationConstants.PREFIX_IIDP);
result.put(MOAIDConfigurationConstants.SERVICE_INTERFEDERATION_ATTRIBUTQUERY_URL,
moaIDP.getAttributeQueryURL());
@@ -316,7 +329,7 @@ public class ConfigurationMigrationUtils {
//convert STORK <-> PVP2X gateway configuration
InterfederationGatewayType gateway = oa.getInterfederationGateway();
- if (gateway != null) {
+ if (gateway != null && oa.isIsInterfederationGateway() != null && oa.isIsInterfederationGateway()) {
result.put(MOAIDConfigurationConstants.PREFIX_SERVICES, MOAIDConfigurationConstants.PREFIX_GATEWAY);
result.put(MOAIDConfigurationConstants.SERVICE_INTERFEDERATION_FORWARD_IDPIDENTIFIER,
gateway.getForwardIDPIdentifier());
@@ -408,7 +421,7 @@ public class ConfigurationMigrationUtils {
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_COUNTRIES_LIST
+ "." + String.valueOf(listCounter) + "."
+ MOAIDConfigurationConstants.SERVICE_AUTH_STORK_COUNTRIES_LIST_ENABLED,
- Boolean.TRUE.toString());
+ Boolean.FALSE.toString());
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_COUNTRIES_LIST
+ "." + String.valueOf(listCounter) + "."
@@ -471,7 +484,7 @@ public class ConfigurationMigrationUtils {
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_ATTRIBUTES_LIST
+ "." + String.valueOf(listCounter) + "."
+ MOAIDConfigurationConstants.SERVICE_AUTH_STORK_ATTRIBUTES_LIST_REQUESTED,
- Boolean.TRUE.toString());
+ Boolean.FALSE.toString());
result.put(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_ATTRIBUTES_LIST
+ "." + String.valueOf(listCounter) + "."
@@ -707,6 +720,12 @@ public class ConfigurationMigrationUtils {
dbOA.setPublicURLPrefix(oa.get(MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER));
dbOA.setFriendlyName(oa.get(MOAIDConfigurationConstants.SERVICE_FRIENDLYNAME));
+ if (oa.containsKey(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_ENABLED)) {
+ dbOA.setIsRevisionsLogActive(Boolean.valueOf(oa.get(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_ENABLED)));
+ dbOA.setEventCodes(oa.get(MOAIDConfigurationConstants.SERVICE_REVERSION_LOGS_EVENTCODES));
+
+ }
+
if (Boolean.valueOf(oa.get(MOAIDConfigurationConstants.SERVICE_BUSINESSSERVICE))) {
dbOA.setType(MOA_CONFIG_BUSINESSSERVICE);
@@ -714,13 +733,16 @@ public class ConfigurationMigrationUtils {
if (idnumber == null)
idnumber = new IdentificationNumber();
- if (oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE).equals(MOAIDConfigurationConstants.IDENIFICATIONTYPE_STORK)) {
- idnumber.setValue(MOAIDConfigurationConstants.PREFIX_STORK + "AT" + "+" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_VALUE));
- idnumber.setType(MOAIDConfigurationConstants.BUSINESSSERVICENAMES.get(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE)));
- } else {
- idnumber.setValue(MOAIDConfigurationConstants.PREFIX_WPBK + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE) + "+" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_VALUE));
- idnumber.setType(MOAIDConfigurationConstants.BUSINESSSERVICENAMES.get(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE)));
- }
+ if (oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE) != null &&
+ oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_VALUE) != null) {
+ if (oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE).equals(MOAIDConfigurationConstants.IDENIFICATIONTYPE_STORK)) {
+ idnumber.setValue(MOAIDConfigurationConstants.PREFIX_STORK + "AT" + "+" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_VALUE));
+ idnumber.setType(MOAIDConfigurationConstants.BUSINESSSERVICENAMES.get(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE)));
+ } else {
+ idnumber.setValue(MOAIDConfigurationConstants.PREFIX_WPBK + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE) + "+" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_VALUE));
+ idnumber.setType(MOAIDConfigurationConstants.BUSINESSSERVICENAMES.get(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_BUSINESS_TYPE)));
+ }
+ }
authoa.setIdentificationNumber(idnumber);
@@ -735,16 +757,17 @@ public class ConfigurationMigrationUtils {
} else {
String target = oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET);
+ if (MiscUtil.isNotEmpty(target)) {
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET_SUB))
+ && Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_USE_SUB)))
+ dbOA.setTarget(target + "-" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET_SUB));
+ else
+ dbOA.setTarget(target);
- if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET_SUB))
- && Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_USE_SUB)))
- dbOA.setTarget(target + "-" + oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TARGET_PUBLIC_TARGET_SUB));
- else
- dbOA.setTarget(target);
-
- String targetname = TargetValidator.getTargetFriendlyName(target);
- if (MiscUtil.isNotEmpty(targetname))
- dbOA.setTargetFriendlyName(targetname);
+ String targetname = TargetValidator.getTargetFriendlyName(target);
+ if (MiscUtil.isNotEmpty(targetname))
+ dbOA.setTargetFriendlyName(targetname);
+ }
}
}
@@ -794,7 +817,8 @@ public class ConfigurationMigrationUtils {
//store keyBox Identifier
- dbOA.setKeyBoxIdentifier(MOAKeyBoxSelector.fromValue(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_BKU_KEYBOXIDENTIFIER)));
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_BKU_KEYBOXIDENTIFIER)))
+ dbOA.setKeyBoxIdentifier(MOAKeyBoxSelector.fromValue(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_BKU_KEYBOXIDENTIFIER)));
Mandates mandates = new Mandates();
if (Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_MANDATES_OVS_USE))) {
@@ -858,14 +882,17 @@ public class ConfigurationMigrationUtils {
bPKDec.setKeyStoreFileName(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_FILENAME));
bPKDec.setKeyAlias(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_KEYALIAS));
- try {
- bPKDec.setIv(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_IV), false));
- bPKDec.setKeyInformation(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_BLOB), false));
+ if (oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_IV) != null &&
+ oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_BLOB) != null) {
+ try {
+ bPKDec.setIv(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_IV), false));
+ bPKDec.setKeyInformation(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_FOREIGNBPK_DECRYPT_BLOB), false));
- } catch (IOException e) {
- Logger.error("Configuration encryption FAILED.", e);
-
- }
+ } catch (IOException e) {
+ Logger.error("Configuration encryption FAILED.", e);
+
+ }
+ }
OASSO sso = authoa.getOASSO();
if (sso == null) {
@@ -885,10 +912,11 @@ public class ConfigurationMigrationUtils {
}
// transfer the incoming data to the database model
stork.setStorkLogonEnabled(Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_ENABLED)));
- stork.setQaa(Integer.valueOf(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_MINQAALEVEL)));
-
- if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES))
- && oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_VIDP))
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_MINQAALEVEL)))
+ stork.setQaa(Integer.valueOf(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_MINQAALEVEL)));
+
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES))
+ && oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_VIDP))
stork.setVidpEnabled(true);
stork.setRequireConsent(Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_STORK_REQUIRECONSENT)));
@@ -971,13 +999,14 @@ public class ConfigurationMigrationUtils {
authoa.setOAPVP2(pvp2);
}
- try {
- pvp2.setCertificate(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE), false));
-
- } catch (IOException e) {
- Logger.warn("Uploaded Certificate can not be parsed", e);
+// try {
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE)))
+ pvp2.setCertificate(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE).getBytes());
- }
+// } catch (IOException e) {
+// Logger.warn("Uploaded Certificate can not be parsed", e);
+//
+// }
pvp2.setMetadataURL(oa.get(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL));
@@ -998,26 +1027,28 @@ public class ConfigurationMigrationUtils {
//store BKU-selection and send-assertion templates
if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_BKUSELECTION_DATA))) {
TransformsInfoType el1 = new TransformsInfoType();
- try {
- el1.setTransformation(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_BKUSELECTION_DATA), false));
+// try {
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_BKUSELECTION_DATA)))
+ el1.setTransformation(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_BKUSELECTION_DATA).getBytes());
el1.setFilename(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_BKUSELECTION_PREVIEW));
templates.setBKUSelectionTemplate(el1);
- } catch (IOException e) {
- Logger.warn("Converting BKU selection template FAILED.", e);
- }
+// } catch (IOException e) {
+// Logger.warn("Converting BKU selection template FAILED.", e);
+// }
}
if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_SENDASSERTION_DATA))) {
TransformsInfoType el1 = new TransformsInfoType();
- try {
- el1.setTransformation(Base64Utils.decode(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_SENDASSERTION_DATA), false));
+// try {
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_SENDASSERTION_DATA)))
+ el1.setTransformation(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_SENDASSERTION_DATA).getBytes());
el1.setFilename(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_SENDASSERTION_PREVIEW));
templates.setSendAssertionTemplate(el1);
- } catch (IOException e) {
- Logger.warn("Converting Send Assertion template FAILED.", e);
- }
+// } catch (IOException e) {
+// Logger.warn("Converting Send Assertion template FAILED.", e);
+// }
}
BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization();
@@ -1050,8 +1081,8 @@ public class ConfigurationMigrationUtils {
bkuselectioncustom.setAppletWidth(oa.get(MOAIDConfigurationConstants.SERVICE_AUTH_TEMPLATES_CUSTOMIZATION_APPLETWIDTH));
- if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES))
- && oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_IIDP))
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES))
+ && oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_IIDP))
dbOA.setIsInterfederationIDP(true);
InterfederationIDPType moaIDP = dbOA.getInterfederationIDP();
@@ -1067,8 +1098,8 @@ public class ConfigurationMigrationUtils {
moaIDP.setPerformLocalAuthenticationOnError(Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_INTERFEDERATION_LOCALAUTHONERROR)));
moaIDP.setPerformPassivRequest(Boolean.parseBoolean(oa.get(MOAIDConfigurationConstants.SERVICE_INTERFEDERATION_PASSIVEREQUEST)));
- if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES))
- && oa.get(MOAIDConfigurationConstants.PREFIX_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_GATEWAY))
+ if (MiscUtil.isNotEmpty(oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES))
+ && oa.get(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES).equals(MOAIDConfigurationConstants.PREFIX_GATEWAY))
dbOA.setIsInterfederationGateway(true);
InterfederationGatewayType gateway = dbOA.getInterfederationGateway();
if (gateway == null) {
@@ -1599,31 +1630,38 @@ public class ConfigurationMigrationUtils {
for (String key : moaconfig.keySet()) {
if (key.startsWith(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST)) {
String index = KeyValueUtils.getFirstChildAfterPrefix(key, MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST);
- StorkAttribute attr = new StorkAttribute();
- attr.setName(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST
- + "." + index + "."
- + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST_NAME));
- attr.setMandatory(Boolean.parseBoolean(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST
- + "." + index + "."
- + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST_MANDATORY)));
- attrMap.put(index, attr);
+ if (!attrMap.containsKey(index)) {
+ StorkAttribute attr = new StorkAttribute();
+ attr.setName(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST
+ + "." + index + "."
+ + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST_NAME));
+ attr.setMandatory(Boolean.parseBoolean(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST
+ + "." + index + "."
+ + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_ATTRIBUTES_LIST_MANDATORY)));
+ attr.setHjid(Long.valueOf(index));
+ attrMap.put(index, attr);
+ }
} else if (key.startsWith(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST)) {
String index = KeyValueUtils.getFirstChildAfterPrefix(key, MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST);
- CPEPS attr = new CPEPS();
- attr.setCountryCode(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
- + "." + index + "."
- + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_COUNTRY));
-
- attr.setURL(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
- + "." + index + "."
- + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_URL));
-
- attr.setSupportsXMLSignature(Boolean.parseBoolean(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
- + "." + index + "."
- + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_SUPPORT_XMLDSIG)));
-
- cpepsMap.put(index, attr);
+ if (!cpepsMap.containsKey(index)) {
+ CPEPS attr = new CPEPS();
+ attr.setCountryCode(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
+ + "." + index + "."
+ + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_COUNTRY));
+
+ attr.setURL(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
+ + "." + index + "."
+ + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_URL));
+
+ attr.setSupportsXMLSignature(Boolean.parseBoolean(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST
+ + "." + index + "."
+ + MOAIDConfigurationConstants.GENERAL_AUTH_STORK_CPEPS_LIST_SUPPORT_XMLDSIG)));
+
+ attr.setHjid(Long.valueOf(index));
+
+ cpepsMap.put(index, attr);
+ }
}
}
@@ -1686,17 +1724,17 @@ public class ConfigurationMigrationUtils {
dbauth.setSecurityLayer(seclayertrans);
}
- try {
+// try {
List<TransformsInfoType> trans = new ArrayList<TransformsInfoType>();
TransformsInfoType elem = new TransformsInfoType();
- elem.setTransformation(Base64Utils.decode(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_AUTHBLOCK_TRANSFORMATION_BASE64), false));
+ elem.setTransformation(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_AUTHBLOCK_TRANSFORMATION_BASE64).getBytes());
elem.setFilename(moaconfig.get(MOAIDConfigurationConstants.GENERAL_AUTH_AUTHBLOCK_TRANSFORMATION_NAME));
trans.add(elem);
seclayertrans.setTransformsInfo(trans);
- } catch (IOException e) {
- Logger.warn("Converting AuthBlock transformation FAILED.", e);
- }
+// } catch (IOException e) {
+// Logger.warn("Converting AuthBlock transformation FAILED.", e);
+// }
SLRequestTemplates slrequesttempl = dbconfig.getSLRequestTemplates();
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationUtil.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationUtil.java
index a9d8d92da..4130b2c5d 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationUtil.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/ConfigurationUtil.java
@@ -83,7 +83,7 @@ public class ConfigurationUtil {
* is thrown if problem occurred while serializing one of the
* database values
*/
- private Properties moaIdConfigToJsonProperties(MOAIDConfiguration config) throws JsonProcessingException {
+ public static Properties moaIdConfigToJsonProperties(MOAIDConfiguration config) throws JsonProcessingException {
Properties result = new Properties();
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/MOAIDConfigurationConstants.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/MOAIDConfigurationConstants.java
index c798a525e..07c3151a2 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/MOAIDConfigurationConstants.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/MOAIDConfigurationConstants.java
@@ -14,6 +14,7 @@ public final class MOAIDConfigurationConstants extends MOAIDConstants {
public static final String METADATA_LIST = "__LI";
public static final String WEBGUI_EMPTY_ELEMENT = "null";
+ public static final String WEBGUI_EMPTY_ELEMENT_EMPTY = "empty";
//Basic key namespaces
public static final String PREFIX_MOAID = "moa.id";
@@ -84,9 +85,11 @@ public final class MOAIDConfigurationConstants extends MOAIDConstants {
public static final String SERVICE_AUTH_TEMPLATES_BKUSELECTION_DATA = SERVICE_AUTH_TEMPLATES + ".bkuselection.data";
public static final String SERVICE_AUTH_TEMPLATES_BKUSELECTION_PREVIEW = SERVICE_AUTH_TEMPLATES + ".bkuselection.preview";
public static final String SERVICE_AUTH_TEMPLATES_BKUSELECTION_FILENAME = SERVICE_AUTH_TEMPLATES + ".bkuselection.filename";
+ public static final String SERVICE_AUTH_TEMPLATES_BKUSELECTION_DELETE = SERVICE_AUTH_TEMPLATES + ".bkuselection.delete";
public static final String SERVICE_AUTH_TEMPLATES_SENDASSERTION_DATA = SERVICE_AUTH_TEMPLATES + ".sendAssertion.data";
public static final String SERVICE_AUTH_TEMPLATES_SENDASSERTION_PREVIEW = SERVICE_AUTH_TEMPLATES + ".sendAssertion.preview";
public static final String SERVICE_AUTH_TEMPLATES_SENDASSERTION_FILENAME = SERVICE_AUTH_TEMPLATES + ".sendAssertion.filename";
+ public static final String SERVICE_AUTH_TEMPLATES_SENDASSERTION_DELETE = SERVICE_AUTH_TEMPLATES + ".sendAssertion.delete";
private static final String SERVICE_AUTH_TEMPLATES_CUSTOMIZATION = SERVICE_AUTH_TEMPLATES + ".customize";
public static final String SERVICE_AUTH_TEMPLATES_CUSTOMIZATION_FONTTYPE = SERVICE_AUTH_TEMPLATES_CUSTOMIZATION + ".fonttype";
public static final String SERVICE_AUTH_TEMPLATES_CUSTOMIZATION_BACKGROUNDCOLOR = SERVICE_AUTH_TEMPLATES_CUSTOMIZATION + ".color.back";
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MOAIDConfCLI.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MOAIDConfCLI.java
index f2753c3d0..b5bc9d874 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MOAIDConfCLI.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/cli/MOAIDConfCLI.java
@@ -72,7 +72,7 @@ public class MOAIDConfCLI {
HelpFormatter formatter = new HelpFormatter();
pOut.println();
pOut.println("usage: " + CLIConstants.CMD_LINE_SYNTAX + " -" + CLIConstants.CLI_PARAM_FORCE + " -"
- + CLIConstants.CLI_PARAM_IN + " <inputfile> | -" + CLIConstants.CLI_PARAM_INDB + " <dbconfig> -"
+ + CLIConstants.CLI_PARAM_IN + " <inputfile> -"
+ CLIConstants.CLI_PARAM_OUT + " <outputfile> | -" + CLIConstants.CLI_PARAM_OUTDB + " <dbconfig> [-"
+ CLIConstants.CLI_PARAM_HELP + "]");
pOut.println();
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfiguration.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfiguration.java
index fbb1597f3..223f29a0b 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfiguration.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfiguration.java
@@ -19,6 +19,15 @@ public interface MOAIDConfiguration extends Configuration {
* @return All key/value pairs with this prefix or null if no key is found. The prefix is removed from the key.
*
**/
+ public Map<String, String> getPropertySubset(String preFix, boolean removePrefix) throws ConfigurationException;
+
+ /**
+ * Get all key/value pairs with a prefix
+ *
+ * @param preFix: A key prefix
+ * @return All key/value pairs with this prefix or null if no key is found. The prefix is removed from the key.
+ *
+ **/
public Map<String, String> getPropertySubset(String preFix) throws ConfigurationException;
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
index 20e2ba598..297c63d7d 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/config/persistence/MOAIDConfigurationImpl.java
@@ -49,9 +49,11 @@ public class MOAIDConfigurationImpl extends DatabaseConfigPropertyImpl implement
}
/* (non-Javadoc)
- * @see at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration#getPropertySubset(java.lang.String)
+ * @see at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration#getPropertySubset(java.lang.String, boolean)
*/
- public Map<String, String> getPropertySubset(String preFix) throws ConfigurationException{
+ @Override
+ public Map<String, String> getPropertySubset(String preFix,
+ boolean removePrefix) throws ConfigurationException {
EntityManager em = this.getPersistenceContext();
if (null == em) {
Logger.error("No EntityManager set!");
@@ -72,8 +74,15 @@ public class MOAIDConfigurationImpl extends DatabaseConfigPropertyImpl implement
//build key/value configuration map from database entries
Map<String, String> result = getKeyValueFromDatabaseDAO(
- configResult.iterator(), preFix, true);
+ configResult.iterator(), preFix, removePrefix);
return result;
+ }
+
+ /* (non-Javadoc)
+ * @see at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration#getPropertySubset(java.lang.String)
+ */
+ public Map<String, String> getPropertySubset(String preFix) throws ConfigurationException{
+ return getPropertySubset(preFix, true);
}
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java
index 41c7008e9..4a90d1bce 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java
@@ -1,450 +1,301 @@
-//package at.gv.egovernment.moa.id.commons.db;
-//
-//import java.util.ArrayList;
-//import java.util.Collections;
-//import java.util.Date;
-//import java.util.List;
-//import java.util.Map;
-//
-//import org.springframework.beans.factory.annotation.Autowired;
-//
-//import at.gv.egiz.components.configuration.api.ConfigurationException;
-//import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
-//import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.GenericConfiguration;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
-//
-//import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
-//import at.gv.egovernment.moa.logging.Logger;
-//
-///**
-// *
-// *
-// */
-//public class NewConfigurationDBRead {
-//
-// private static MOAIDConfiguration conf;
-//
-// @Autowired(required = true)
-// public void setConfiguration(MOAIDConfiguration conf) {
-// // https://jira.spring.io/browse/SPR-3845
-// NewConfigurationDBRead.conf = conf;
-// }
-//
-// @SuppressWarnings("unchecked")
-// public static <T extends Iterable<?>> T nullGuard(T item) {
-// if (item == null) {
-// return (T) Collections.emptyList();
-// } else {
-// return item;
-// }
-//
-// }
-//
-// public static Map<String, String> getOnlineApplicationKeyValueWithId(String id) {
-// try {
-// return conf.getOnlineApplication(id);
-//
-// } catch (ConfigurationException e) {
-// Logger.warn("OnlineApplication with Id: " + id + " not found.", e);
-// return null;
-//
-// }
-// }
-//
-//
-//
-// /**
-// *
-// * @return
-// */
-// public static List<UserDatabase> getAllUsers() {
-// Logger.trace("Get All Users from database.");
-//
-//// // select userdatabase from UserDatabase userdatabase
-//// List<UserDatabase> result = conf.getList("getAllUsers", UserDatabase.class);
-//// if (result.size() == 0) {
-//// Logger.trace("No entries found.");
-//// return null;
-//// }
-////
-//// return result;
-//
-// //TODO!!!
-// return null;
-// }
-//
-// /**
-// *
-// * @return
-// */
-// public static List<OnlineApplication> getAllOnlineApplications() {
-// Logger.trace("Get All OnlineApplications from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-//// return conf.getList(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, OnlineApplication.class);
-//
-// //TODO!!!
-// return null;
-//
-// }
-//
-// /**
-// *
-// * @return
-// */
-// public static List<OnlineApplication> getAllNewOnlineApplications() {
-// Logger.trace("Get All New OnlineApplications from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-// // where onlineapplication.isActive = '0' and onlineapplication.isAdminRequired = '1'
-// List<OnlineApplication> result = new ArrayList<OnlineApplication>();
-// List<OnlineApplication> allOAs = getAllOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allOAs)) {
-// if (!oa.isIsActive() && oa.isIsAdminRequired()) {
-// result.add(oa);
-// }
-// }
-//
-// if (result.size() == 0) {
-// Logger.trace("No entries found.");
-// return null;
-// }
-//
-// return result;
-// }
-//
-//// /**
-//// *
-//// * @return
-//// */
-//// public static at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration getMOAIDConfiguration() {
-//// Logger.trace("Load MOAID Configuration from database.");
-////
-//// AuthComponentGeneral authComponent = (AuthComponentGeneral) conf.get(MOAIDConfigurationConstants.AUTH_COMPONENT_GENERAL_KEY,
-//// AuthComponentGeneral.class);
-////
-//// ChainingModes chainingModes = (ChainingModes) conf.get(MOAIDConfigurationConstants.CHAINING_MODES_KEY, ChainingModes.class);
-//// List<GenericConfiguration> genericConfigurations = (List<GenericConfiguration>) conf.getList(
-//// MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, GenericConfiguration.class);
-//// String trustedCaCertificates = (String) conf.get(MOAIDConfigurationConstants.TRUSTED_CERTIFICATES_KEY, String.class);
-//// DefaultBKUs defaultBKUs = (DefaultBKUs) conf.get(MOAIDConfigurationConstants.DEFAULT_BKUS_KEY, DefaultBKUs.class);
-//// SLRequestTemplates slrRequestRemplates = (SLRequestTemplates) conf.get(MOAIDConfigurationConstants.SLREQUEST_TEMPLATES_KEY,
-//// SLRequestTemplates.class);
-//// Date timeStamp = (Date) conf.get(MOAIDConfigurationConstants.TIMESTAMP_ITEM_KEY, Date.class);
-//// Date pvp2Refresh = (Date) conf.get(MOAIDConfigurationConstants.PVP2REFRESH_ITEM_KEY, Date.class);
-////
-//// // if (authComponent == null || chainingModes == null || trustedCaCertificates == null || defaultBKUs == null
-//// // || slrRequestRemplates == null || timeStamp == null || pvp2Refresh == null
-//// //
-//// // ) {
-//// // // TODO: is there a better approach in case of error?
-//// // Logger.trace("Not all necessary data available. Create fresh instance.");
-//// // return new MOAIDConfiguration();
-//// // }
-////
-//// // select moaidconfiguration from MOAIDConfiguration moaidconfiguration
-//// at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration result = new at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration();
-//// result.setAuthComponentGeneral(authComponent);
-//// result.setChainingModes(chainingModes);
-//// result.setGenericConfiguration(genericConfigurations);
-//// result.setTrustedCACertificates(trustedCaCertificates);
-//// result.setDefaultBKUs(defaultBKUs);
-//// result.setSLRequestTemplates(slrRequestRemplates);
-//// result.setTimestampItem(timeStamp);
-//// result.setPvp2RefreshItem(pvp2Refresh);
-////
-//// return result;
-//// }
-//
-// /**
-// *
-// * @return
-// */
-// public static List<OnlineApplication> getAllActiveOnlineApplications() {
-// Logger.trace("Get All New OnlineApplications from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-// // where onlineapplication.isActive = '1'
-// List<OnlineApplication> result = new ArrayList<OnlineApplication>();
-// List<OnlineApplication> allOAs = getAllOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allOAs)) {
-// if (oa.isIsActive()) {
-// result.add(oa);
-// }
-// }
-//
-// if (result.size() == 0) {
-// Logger.trace("No entries found.");
-// return null;
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param id
-// * @return
-// */
-// public static OnlineApplication getActiveOnlineApplication(String id) {
-// Logger.trace("Getting Active OnlineApplication with ID " + id + " from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-// // where onlineapplication.publicURLPrefix =
-// // SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) and onlineapplication.isActive = '1'
-// OnlineApplication result = null;
-// List<OnlineApplication> allActiveOAs = getAllActiveOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allActiveOAs)) {
-// String publicUrlPrefix = oa.getPublicURLPrefix();
-// if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) {
-// if ((id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix))) {
-// if (result != null) {
-// Logger.warn("OAIdentifier match to more then one DB-entry!");
-// return null;
-// } else {
-// result = oa;
-// }
-// }
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param dbid
-// * @return
-// */
-// public static OnlineApplication getOnlineApplication(long dbid) {
-// Logger.trace("Getting OnlineApplication with DBID " + dbid + " from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication where onlineapplication.hjid = :id
-// OnlineApplication result = null;
-// List<OnlineApplication> allOAs = getAllOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allOAs)) {
-// if (oa.getHjid() == dbid) {
-// result = oa;
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param id
-// * @return
-// */
-// public static OnlineApplication getOnlineApplication(String id) {
-// Logger.trace("Getting OnlineApplication with ID " + id + " from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-// // where onlineapplication.publicURLPrefix = SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix))
-// OnlineApplication result = null;
-// List<OnlineApplication> allOAs = getAllOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allOAs)) {
-// String publicUrlPrefix = oa.getPublicURLPrefix();
-// if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) {
-// if (id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix)) {
-// if (result != null) {
-// Logger.warn("OAIdentifier match to more then one DB-entry!");
-// return null;
-// } else {
-// result = oa;
-// }
-// }
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param id
-// * @return
-// */
-// public static List<OnlineApplication> searchOnlineApplications(String id) {
-// Logger.trace("Getting OnlineApplication with ID " + id + " from database.");
-//
-// // select onlineapplication from OnlineApplication onlineapplication
-// // where onlineapplication.friendlyName like :id
-// List<OnlineApplication> result = new ArrayList<OnlineApplication>();
-// List<OnlineApplication> allOAs = getAllOnlineApplications();
-//
-// for (OnlineApplication oa : nullGuard(allOAs)) {
-// if (id.equals(oa.getFriendlyName())) {
-// result.add(oa);
-// }
-// }
-//
-// if (result.size() == 0) {
-// Logger.trace("No entries found.");
-// return null;
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @return
-// */
-// public static List<UserDatabase> getAllOpenUsersRequests() {
-// Logger.trace("Get all new Users from Database");
-//
-// // select userdatabase from UserDatabase userdatabase
-// // where userdatabase.userRequestTokken is not null
-// // and userdatabase.isAdminRequest = '1' and userdatabase.isMailAddressVerified = '0'
-// List<UserDatabase> result = new ArrayList<UserDatabase>();
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// for (UserDatabase user : nullGuard(allUsers)) {
-// // TODO check result of query "... userdatabase.userRequestTokken is not null" if Tokken is null -> (null, "NULL", "", ... ?)
-// if ((user.getUserRequestTokken() != null && !user.getUserRequestTokken().isEmpty() && !user.getUserRequestTokken().equals("NULL"))
-// && (user.isIsAdminRequest()) && (!user.isIsMailAddressVerified())) {
-// result.add(user);
-// }
-// }
-//
-// if (result.size() == 0) {
-// Logger.trace("No entries found.");
-// return null;
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param tokken
-// * @return
-// */
-// public static UserDatabase getNewUserWithTokken(String tokken) {
-// Logger.trace("Getting Userinformation with Tokken " + tokken + " from database.");
-//
-// // select userdatabase from UserDatabase userdatabase where userdatabase.userRequestTokken = :tokken
-// UserDatabase result = null;
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// for (UserDatabase user : nullGuard(allUsers)) {
-// if (user.getUserRequestTokken().equals(tokken)) {
-// result = user;
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param id
-// * @return
-// */
-// public static UserDatabase getUsersWithOADBID(long id) {
-// Logger.trace("Getting Userinformation with OADBID " + id + " from database.");
-//
-// // select userdatabase from UserDatabase userdatabase
-// // inner join userdatabase.onlineApplication oa where oa.hjid = :id
-// UserDatabase result = null;
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// boolean quit = false;
-// for (UserDatabase user : nullGuard(allUsers)) {
-//
-// for (OnlineApplication oa : user.getOnlineApplication()) {
-//
-// if (oa.getHjid() == id) {
-// result = user;
-// quit = true;
-// break;
-// }
-// }
-//
-// if (quit) {
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param id
-// * @return
-// */
-// public static UserDatabase getUserWithID(long id) {
-// Logger.trace("Getting Userinformation with ID " + id + " from database.");
-//
-// // select userdatabase from UserDatabase userdatabase where userdatabase.hjid = :id
-// UserDatabase result = null;
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// for (UserDatabase user : nullGuard(allUsers)) {
-// if (user.getHjid() == id) {
-// result = user;
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param username
-// * @return
-// */
-// public static UserDatabase getUserWithUserName(String username) {
-// Logger.trace("Getting Userinformation with ID " + username + " from database.");
-//
-// // select userdatabase from UserDatabase userdatabase where userdatabase.username = :username
-// UserDatabase result = null;
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// for (UserDatabase user : nullGuard(allUsers)) {
-// if (user.getUsername().equals(username)) {
-// result = user;
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-// /**
-// *
-// * @param bpkwbpk
-// * @return
-// */
-// public static UserDatabase getUserWithUserBPKWBPK(String bpkwbpk) {
-// Logger.trace("Getting Userinformation with ID " + bpkwbpk + " from database.");
-//
-// // select userdatabase from UserDatabase userdatabase where userdatabase.bpk = :bpk
-// UserDatabase result = null;
-// List<UserDatabase> allUsers = getAllUsers();
-//
-// for (UserDatabase user : nullGuard(allUsers)) {
-// if (user.getBpk().equals(bpkwbpk)) {
-// result = user;
-// break;
-// }
-// }
-//
-// return result;
-// }
-//
-//}
+package at.gv.egovernment.moa.id.commons.db;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import at.gv.egiz.components.configuration.api.ConfigurationException;
+import at.gv.egovernment.moa.id.commons.config.ConfigurationMigrationUtils;
+import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
+import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration;
+import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+
+import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
+import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ *
+ *
+ */
+public class NewConfigurationDBRead {
+
+ private MOAIDConfiguration conf;
+
+ @Autowired(required = true)
+ public void setConfiguration(MOAIDConfiguration conf) {
+ // https://jira.spring.io/browse/SPR-3845
+ this.conf = conf;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T extends Iterable<?>> T nullGuard(T item) {
+ if (item == null) {
+ return (T) Collections.emptyList();
+ } else {
+ return item;
+ }
+
+ }
+
+ public Map<String, String> getOnlineApplicationKeyValueWithId(String id) {
+ try {
+ return conf.getOnlineApplication(id);
+
+ } catch (ConfigurationException e) {
+ Logger.warn("OnlineApplication with Id: " + id + " not found.", e);
+ return null;
+
+ }
+ }
+
+ /**
+ *
+ * @return
+ */
+ public List<OnlineApplication> getAllOnlineApplications() {
+ Logger.trace("Get All OnlineApplications from database.");
+
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ try {
+ String[] allUniqueOAIDs = conf.findConfigurationId(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + ".*." + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER);
+ if (allUniqueOAIDs != null) {
+ for (String uniqueOAID : allUniqueOAIDs) {
+ String oaKeyId = KeyValueUtils.getParentKey(uniqueOAID);
+
+ Logger.debug("Search service with KeyPrefix:" + oaKeyId);
+ Map<String, String> oaKeyValuePairs = conf.getPropertySubset(oaKeyId, true);
+
+ String serviceType = KeyValueUtils.getFirstChildAfterPrefix(oaKeyId, MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES);
+ Logger.debug("Identify Service as: " + serviceType);
+
+ if (oaKeyValuePairs != null) {
+ Logger.debug("Transform Key/Value to JaxB configuration ...");
+ oaKeyValuePairs.put(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES, serviceType);
+ OnlineApplication jaxBOA = ConfigurationMigrationUtils.convertKeyValueToHyberJaxBOnlineApplication(oaKeyValuePairs);
+
+ String hjID = KeyValueUtils.getFirstChildAfterPrefix(oaKeyId, KeyValueUtils.getParentKey(oaKeyId));
+ if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_GATEWAY))
+ jaxBOA.setHjid(Long.valueOf(hjID) + 1000000);
+ else if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_IIDP))
+ jaxBOA.setHjid(Long.valueOf(hjID) + 2000000);
+ else if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_VIDP))
+ jaxBOA.setHjid(Long.valueOf(hjID) + 3000000);
+ else
+ jaxBOA.setHjid(Long.valueOf(hjID));
+
+ Logger.debug("Transformation finished with JaxB hjID: " + hjID);
+ result.add(jaxBOA);
+
+ } else
+ Logger.info("No Service configuration with KeyPrefix: " + oaKeyId);
+ }
+ }
+ if (!result.isEmpty())
+ return result;
+
+ } catch (ConfigurationException e) {
+ Logger.error("Access configuration FAILED.", e);
+
+ }
+
+ return null;
+
+ }
+
+ /**
+ *
+ * @return
+ */
+ public List<OnlineApplication> getAllNewOnlineApplications() {
+ Logger.trace("Get All New OnlineApplications from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication
+ // where onlineapplication.isActive = '0' and onlineapplication.isAdminRequired = '1'
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allOAs)) {
+ if (!oa.isIsActive() && oa.isIsAdminRequired()) {
+ result.add(oa);
+ }
+ }
+
+ if (result.size() == 0) {
+ Logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration getMOAIDConfiguration() {
+ Logger.trace("Load MOAID Configuration from database.");
+ Map<String, String> generalConfig;
+ try {
+ generalConfig = conf.getPropertySubset(MOAIDConfigurationConstants.PREFIX_MOAID_GENERAL, false);
+ if (generalConfig != null) {
+ Logger.debug("Key/Value configuration found -> Start mapping process ...");
+
+ at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration result =
+ ConfigurationMigrationUtils.convertKeyValueToHyberJaxBMOAIDConfiguration(generalConfig);
+ Logger.debug("Configuration mapping process finished.");
+
+ return result;
+
+ }
+
+ } catch (ConfigurationException e) {
+ Logger.error("Configuration access FAILED!", e);
+ }
+
+ Logger.info("No general MOA-ID configuration found!");
+ return null;
+
+ }
+
+ /**
+ *
+ * @return
+ */
+ public List<OnlineApplication> getAllActiveOnlineApplications() {
+ Logger.trace("Get All New OnlineApplications from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication
+ // where onlineapplication.isActive = '1'
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allOAs)) {
+ if (oa.isIsActive()) {
+ result.add(oa);
+ }
+ }
+
+ if (result.size() == 0) {
+ Logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public OnlineApplication getActiveOnlineApplication(String id) {
+ Logger.trace("Getting Active OnlineApplication with ID " + id + " from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication
+ // where onlineapplication.publicURLPrefix =
+ // SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) and onlineapplication.isActive = '1'
+ OnlineApplication result = null;
+ List<OnlineApplication> allActiveOAs = getAllActiveOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allActiveOAs)) {
+ String publicUrlPrefix = oa.getPublicURLPrefix();
+ if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) {
+ if ((id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix))) {
+ if (result != null) {
+ Logger.warn("OAIdentifier match to more then one DB-entry!");
+ return null;
+ } else {
+ result = oa;
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param dbid
+ * @return
+ */
+ public OnlineApplication getOnlineApplication(long dbid) {
+ Logger.trace("Getting OnlineApplication with DBID " + dbid + " from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication where onlineapplication.hjid = :id
+ OnlineApplication result = null;
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allOAs)) {
+ if (oa.getHjid() == dbid) {
+ result = oa;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public OnlineApplication getOnlineApplication(String id) {
+ Logger.trace("Getting OnlineApplication with ID " + id + " from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication
+ // where onlineapplication.publicURLPrefix = SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix))
+ OnlineApplication result = null;
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allOAs)) {
+ String publicUrlPrefix = oa.getPublicURLPrefix();
+ if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) {
+ if (id.substring(0, publicUrlPrefix.length()).equals(publicUrlPrefix)) {
+ if (result != null) {
+ Logger.warn("OAIdentifier match to more then one DB-entry!");
+ return null;
+ } else {
+ result = oa;
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public List<OnlineApplication> searchOnlineApplications(String id) {
+ Logger.trace("Getting OnlineApplication with ID " + id + " from database.");
+
+ // select onlineapplication from OnlineApplication onlineapplication
+ // where onlineapplication.friendlyName like :id
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : nullGuard(allOAs)) {
+ if (oa.getFriendlyName().contains(id)) {
+ result.add(oa);
+ }
+ }
+
+ if (result.size() == 0) {
+ Logger.trace("No entries found.");
+ return null;
+ }
+
+ return result;
+ }
+
+
+}
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java
index a2b1f120e..ccc7f33f1 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBWrite.java
@@ -8,13 +8,14 @@
//
//import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;
//import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.GenericConfiguration;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
-//import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AuthComponentGeneral;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.ChainingModes;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.DefaultBKUs;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.GenericConfiguration;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication;
+//import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.SLRequestTemplates;
//import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
+//import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
//
///**
// * This class is used for writing to the key-value database.
@@ -30,108 +31,22 @@
// NewConfigurationDBWrite.conf = conf;
// }
//
-// private static boolean saveAuthComponentGeneral(AuthComponentGeneral dbo) {
-// return conf.set(MOAIDConfigurationConstants.AUTH_COMPONENT_GENERAL_KEY, dbo);
-// }
-//
-// private static boolean saveChainingModes(ChainingModes dbo) {
-// return conf.set(MOAIDConfigurationConstants.CHAINING_MODES_KEY, dbo);
-// }
-//
-// private static boolean saveOnlineApplication(OnlineApplication dbo) {
-//
-// List<OnlineApplication> storedObjects = conf.getList(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, OnlineApplication.class);
-// storedObjects.add(dbo);
-// return conf.set(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, storedObjects);
-// }
-//
-// private static boolean saveGenericConfiguration(GenericConfiguration dbo) {
-//
-// List<GenericConfiguration> storedObjects = conf.getList(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, GenericConfiguration.class);
-// storedObjects.add(dbo);
-// return conf.set(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, storedObjects);
-// }
-//
-// private static boolean saveTrustedCACertificates(String dbo) {
-// return conf.set(MOAIDConfigurationConstants.TRUSTED_CERTIFICATES_KEY, dbo);
-// }
-//
-// private static boolean saveDefaultBKUs(DefaultBKUs dbo) {
-// return conf.set(MOAIDConfigurationConstants.DEFAULT_BKUS_KEY, dbo);
-// }
-//
-// private static boolean saveSLRequestTemplates(SLRequestTemplates dbo) {
-// return conf.set(MOAIDConfigurationConstants.SLREQUEST_TEMPLATES_KEY, dbo);
-// }
-//
-// private static boolean saveTimeStampItem(Date dbo) {
-// return conf.set(MOAIDConfigurationConstants.TIMESTAMP_ITEM_KEY, dbo);
-// }
-//
-// private static boolean savePvp2RefreshItem(Date dbo) {
-// return conf.set(MOAIDConfigurationConstants.PVP2REFRESH_ITEM_KEY, dbo);
-// }
-//
-// /**
-// * Saves the given list of {@link OnlineApplication} objects to database.
-// * @param oas the list
-// * @return {@code true} on success; {@code false} otherwise.
-// */
-// public static boolean saveOnlineApplications(List<OnlineApplication> oas) {
-// return conf.set(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, oas);
-// }
-//
-// /**
-// * Saves the given list of {@link GenericConfiguration} objects to database.
-// * @param gcs the list
-// * @return {@code true} on success; {@code false} otherwise.
-// */
-// public static boolean saveGenericConfigurations(List<GenericConfiguration> gcs) {
-// return conf.set(MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, gcs);
-// }
-//
-//
+//
+//
// /**
-// * Saves the given object to database
-// * @param dbo the object to save
-// * @return {@code true} on success; {@code false} otherwise.
+// * @param user
// */
-// public static boolean save(Object dbo) {
-//
-// boolean result = false;
-//
-// if (dbo instanceof OnlineApplication) {
-//
-// result = saveOnlineApplication((OnlineApplication) dbo);
-//
-// } else if (dbo instanceof MOAIDConfiguration) {
-//
-// at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration moaconfig =
-// (at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration) dbo;
-// result = true;
-//
-// result &= saveAuthComponentGeneral(moaconfig.getAuthComponentGeneral());
-// result &= saveChainingModes(moaconfig.getChainingModes());
-// result &= saveDefaultBKUs(moaconfig.getDefaultBKUs());
-// result &= saveGenericConfigurations(moaconfig.getGenericConfiguration());
-// result &= savePvp2RefreshItem(moaconfig.getPvp2RefreshItem());
-// result &= saveSLRequestTemplates(moaconfig.getSLRequestTemplates());
-// result &= saveTrustedCACertificates(moaconfig.getTrustedCACertificates());
-// result &= saveTimeStampItem(moaconfig.getTimestampItem());
-//
-// } else if (dbo instanceof UserDatabase) {
-// // TODO implement user handling
-// }
-//
-// return result;
+// public void saveOrUpdate(UserDatabase user) throws MOADatabaseException{
+// // TODO Auto-generated method stub
+//
// }
//
// /**
-// * Deletes the object associated with the given key.
-// * @param key the key
+// * @param dbuser
// */
-// public static void delete(String key) {
-// conf.set(key, null);
+// public void delete(UserDatabase dbuser) {
+// // TODO Auto-generated method stub
+//
// }
//
//}
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/MOAIDConfiguration.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/MOAIDConfiguration.java
index 4807a81b3..696d7ac6d 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/MOAIDConfiguration.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/MOAIDConfiguration.java
@@ -190,7 +190,25 @@ public class MOAIDConfiguration
@XmlAttribute(name = "Hjid")
protected Long hjid;
+ protected String eventCodes = null;
+
+
+
/**
+ * @return the eventCodes
+ */
+ public String getEventCodes() {
+ return eventCodes;
+ }
+
+ /**
+ * @param eventCodes the eventCodes to set
+ */
+ public void setEventCodes(String eventCodes) {
+ this.eventCodes = eventCodes;
+ }
+
+ /**
* Gets the value of the authComponentGeneral property.
*
* @return
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/OnlineApplication.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/OnlineApplication.java
index 1beb8868e..79cdcacf5 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/OnlineApplication.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/deprecated/OnlineApplication.java
@@ -100,7 +100,39 @@ public class OnlineApplication
@XmlSchemaType(name = "boolean")
protected Boolean removeBPKFromAuthBlock;
+ protected Boolean isRevisionsLogActive = false;
+ protected String eventCodes = null;
+
+
/**
+ * @return the isRevisionsLogActive
+ */
+ public Boolean getIsRevisionsLogActive() {
+ return isRevisionsLogActive;
+ }
+
+ /**
+ * @param isRevisionsLogActive the isRevisionsLogActive to set
+ */
+ public void setIsRevisionsLogActive(Boolean isRevisionsLogActive) {
+ this.isRevisionsLogActive = isRevisionsLogActive;
+ }
+
+ /**
+ * @return the eventCodes
+ */
+ public String getEventCodes() {
+ return eventCodes;
+ }
+
+ /**
+ * @param eventCodes the eventCodes to set
+ */
+ public void setEventCodes(String eventCodes) {
+ this.eventCodes = eventCodes;
+ }
+
+ /**
* Gets the value of the publicURLPrefix property.
*
* @return
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
index 13d680b78..01ae2a354 100644
--- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/ValidationHelper.java
@@ -143,7 +143,7 @@ public class ValidationHelper {
long oaID = Long.valueOf(oaIDObj);
- if (oaID > 0 && oaID < Long.MAX_VALUE)
+ if (oaID >= 0 && oaID < Long.MAX_VALUE)
return true;
} catch (Throwable t) {
diff --git a/id/server/moa-id-commons/src/main/resources/META-INF/persistence.xml b/id/server/moa-id-commons/src/main/resources/META-INF/persistence.xml
index 1f7efd589..9bebfa66f 100644
--- a/id/server/moa-id-commons/src/main/resources/META-INF/persistence.xml
+++ b/id/server/moa-id-commons/src/main/resources/META-INF/persistence.xml
@@ -8,6 +8,7 @@ http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
<persistence-unit name="config" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>at.gv.egovernment.moa.id.commons.db.dao.config.ConfigProperty</class>
+ <!-- <class>at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase</class> -->
<properties>
</properties>
</persistence-unit>