aboutsummaryrefslogtreecommitdiff
path: root/id
diff options
context:
space:
mode:
Diffstat (limited to 'id')
-rw-r--r--id/ConfigWebTool/pom.xml12
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java9
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java14
-rw-r--r--id/history.txt4
-rw-r--r--id/readme_2.1.1.txt29
-rw-r--r--id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html19
-rw-r--r--id/server/idserverlib/pom.xml16
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java8
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/RedirectServlet.java3
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java24
-rw-r--r--id/server/idserverlib/src/main/resources/resources/templates/slo_template.html2
-rw-r--r--id/server/stork2-commons/pom.xml14
-rw-r--r--id/server/stork2-saml-engine/pom.xml8
13 files changed, 121 insertions, 41 deletions
diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml
index e30cad73b..ec027b497 100644
--- a/id/ConfigWebTool/pom.xml
+++ b/id/ConfigWebTool/pom.xml
@@ -104,10 +104,22 @@
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>xmltooling</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
index f29780f05..def880da8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java
@@ -102,7 +102,7 @@ public class GeneralMOAIDConfig {
private List<File> fileUpload = null;
private List<String> fileUploadContentType;
- private List<String> fileUploadFileName;
+ private List<String> fileUploadFileName = new ArrayList<String>();
private Map<String, byte[]> secLayerTransformation = null;
private String ssoTarget = null;
@@ -271,8 +271,6 @@ public class GeneralMOAIDConfig {
SecurityLayer seclayer = auth.getSecurityLayer();
if (seclayer != null) {
List<TransformsInfoType> list = seclayer.getTransformsInfo();
-
- fileUploadFileName = new ArrayList<String>();
for (TransformsInfoType el : list) {
fileUploadFileName.add(el.getFilename());
@@ -335,10 +333,7 @@ public class GeneralMOAIDConfig {
SLRequestTemplateOnline = slreq.getOnlineBKU();
}
- } else {
- fileUploadFileName = new ArrayList<String>();
-
- }
+ }
}
/**
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
index 32ffd2ba3..7f609d95e 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java
@@ -594,8 +594,18 @@ public class EditGeneralConfigAction extends BasicAction {
dbmoasp.setVerifyAuthBlock(moaauth);
}
moaauth.setTrustProfileID(moaconfig.getMoaspssAuthTrustProfile());
-
- moaauth.getVerifyTransformsInfoProfileID().set(0, moaconfig.getAuthTransformList().get(0));
+
+ if (moaauth.getVerifyTransformsInfoProfileID() != null &&
+ moaauth.getVerifyTransformsInfoProfileID().size() > 0)
+ moaauth.getVerifyTransformsInfoProfileID().set(0, moaconfig.getAuthTransformList().get(0));
+
+ else {
+ if (moaauth.getVerifyTransformsInfoProfileID() == null) {
+ moaauth.setVerifyTransformsInfoProfileID(new ArrayList<String>());
+
+ }
+ moaauth.getVerifyTransformsInfoProfileID().add(moaconfig.getAuthTransformList().get(0));
+ }
SecurityLayer seclayertrans = dbauth.getSecurityLayer();
if (seclayertrans == null) {
diff --git a/id/history.txt b/id/history.txt
index 8f0eaa8d8..d1e9f6ec7 100644
--- a/id/history.txt
+++ b/id/history.txt
@@ -7,6 +7,7 @@ Version MOA-ID Release 2.1.1: Änderungen seit Version MOA-ID 2.1.0
- Änderungen
- Anpassung VIDP Code für STORK
+ - Behebt Konflikte im Zusammenhang mit IAIK_JCE Security Provider und BouncyCastleProvider
- Anpassung des Codes für IDP Interfederation
- Neue A-Trust Zertifikate
- Kleinere Bug-Fixes
@@ -30,6 +31,9 @@ Version MOA-ID Release 2.1.1: Änderungen seit Version MOA-ID 2.1.0
> xerces:xercesImpl 2.11.0
> postgresql:postgresql 9.3-1102-jdbc41
> junit:junit 3.8.2
+ > iaik_moa Version 1.51
+ > iaik_jce_full_MOA Version 5.2
+ > OpenSAML Version 2.6.3
-------------------------------------------------------------------------------
diff --git a/id/readme_2.1.1.txt b/id/readme_2.1.1.txt
index 4d9c2960f..d4903de34 100644
--- a/id/readme_2.1.1.txt
+++ b/id/readme_2.1.1.txt
@@ -36,37 +36,50 @@ B.1 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1
ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
bezeichnet.
-3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
+ JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach.
+
+4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr
+ unterstuetzt).
+
+5. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
auch das komplette Verzeichnis moa-id-auth.
-4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
CATALINA_HOME_ID/webapps.
-5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
+7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach
CATALINA_HOME_ID/webapps.
-6. Hinzufügen der zusätzlichen Konfigurationsparameter in der
+8. Hinzufügen der zusätzlichen Konfigurationsparameter in der
MOA-ID-Configuration Konfigurationsdatei
CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties
a.) general.moaconfig.key=..... (Passwort zum Ver- und
Entschlüsseln von Konfigurationsparametern in der Datenbank)
-7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
+9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth
Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties
a.) configuration.moaconfig.key=..... (Passwort zum Ver- und
Entschlüsseln von Konfigurationsparametern in der Datenbank)
+
+10. Kopieren der folgenden Dateien
+ a.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html ->
+ CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html
+ Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der
+ Datei slo_template.html bevor Sie diese durch die neue Version ersetzen.
-8. Update des Cert-Stores.
+11. Update des Cert-Stores.
Kopieren Sie den Inhalt des Verzeichnisses
MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis
CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie
vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann
bejahen sie das.
-9. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
+12. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen
wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile
beibehalten wollen, dann gehen Sie vor, wie in Punkt b).
@@ -94,7 +107,7 @@ B.1 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1
CATALINA_HOME\conf\moa-spss\trustProfiles\
MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw.
-10. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
Logging von MOA ID beim Einlesen der Konfiguration.
diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
index 88279ee96..6cefe4054 100644
--- a/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
+++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/slo_template.html
@@ -380,7 +380,21 @@
function sloTimeOut() {
window.location.href="$timeoutURL";
- }
+ }
+ function RestartAfterDelay() {
+ var eDate = null;
+ var MilliSekZeit = 0;
+ var SysDatumJetzt = new Date();
+ var SysDatumJetztMilli = SysDatumJetzt.getTime();
+
+ do {
+ eDate = new Date();
+ MilliSekZeit = eDate.getTime();
+
+ } while ((MilliSekZeit-SysDatumJetztMilli) < $timeout);
+
+ sloTimeOut();
+ }
</script>
#end
@@ -389,7 +403,7 @@
</head>
#if($timeoutURL)
- <body onload='setTimeout(sloTimeOut(), $timeout);'>
+ <body onload='setTimeout(sloTimeOut, $timeout);'>
#else
<body>
#end
@@ -446,6 +460,5 @@
#foreach( $el in $redirectURLs )
<iframe src=$el class="reqframe"></iframe>
#end
-
</body>
</html> \ No newline at end of file
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index a8ffd10bc..00d128ca5 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -226,11 +226,23 @@
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml</artifactId>
- </dependency>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>xmltooling</artifactId>
- </dependency>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<!-- <dependency>
<groupId>regexp</groupId>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
index 80afd9f82..db36356c0 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
@@ -3,7 +3,6 @@
package at.gv.egovernment.moa.id.auth;
-import iaik.cms.ecc.IaikEccProvider;
import iaik.pki.PKIException;
import iaik.pki.jsse.IAIKX509TrustManager;
import iaik.security.ecc.provider.ECCProvider;
@@ -11,12 +10,9 @@ import iaik.security.provider.IAIK;
import java.io.IOException;
import java.security.GeneralSecurityException;
-import java.security.Security;
-import java.util.Properties;
import javax.activation.CommandMap;
import javax.activation.MailcapCommandMap;
-import javax.mail.Session;
import javax.net.ssl.SSLSocketFactory;
import at.gv.egovernment.moa.id.config.ConfigurationException;
@@ -119,8 +115,8 @@ public class MOAIDAuthInitializer {
Logger.warn(MOAIDMessageProvider.getInstance().getMessage(
"init.01", null), e);
}
-
- IAIK.addAsProvider();
+
+ IAIK.addAsProvider();
ECCProvider.addAsProvider();
// Initializes SSLSocketFactory store
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/RedirectServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/RedirectServlet.java
index 6e1811c8b..532ccb7ba 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/RedirectServlet.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/RedirectServlet.java
@@ -33,6 +33,7 @@ import at.gv.egovernment.moa.id.auth.builder.RedirectFormBuilder;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.moduls.SSOManager;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -63,7 +64,7 @@ public class RedirectServlet extends AuthServlet{
String redirectTarget = DEFAULT_REDIRECTTARGET;
try {
oa = ConfigurationDBRead.getActiveOnlineApplication(url);
- if (oa == null) {
+ if (oa == null && !url.startsWith(AuthConfigurationProvider.getInstance().getPublicURLPrefix())) {
resp.sendError(HttpServletResponse.SC_FORBIDDEN, "Parameters not valid");
return;
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
index 2b687a0c8..284a77126 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
@@ -53,6 +53,7 @@ import iaik.utils.RFC2253NameParserException;
import iaik.x509.X509Certificate;
import iaik.x509.X509ExtensionInitException;
+import java.security.InvalidKeyException;
import java.security.PublicKey;
import java.security.interfaces.RSAPublicKey;
import java.util.ArrayList;
@@ -266,14 +267,25 @@ public class VerifyXMLSignatureResponseValidator {
}
//compare ECDSAPublicKeys
- if((idl.getPublicKey()[i] instanceof iaik.security.ecc.ecdsa.ECPublicKey) &&
- (pubKeySignature instanceof iaik.security.ecc.ecdsa.ECPublicKey)) {
+ if( ( (idl.getPublicKey()[i] instanceof java.security.interfaces.ECPublicKey) ||
+ (idl.getPublicKey()[i] instanceof iaik.security.ecc.ecdsa.ECPublicKey)) &&
+ ( (pubKeySignature instanceof java.security.interfaces.ECPublicKey) ||
+ (pubKeySignature instanceof iaik.security.ecc.ecdsa.ECPublicKey) ) ) {
- ECPublicKey ecdsaPubKeySignature = (ECPublicKey) pubKeySignature;
- ECPublicKey ecdsakey = (ECPublicKey) pubKeysIdentityLink[i];
+ try {
+ ECPublicKey ecdsaPubKeySignature = new ECPublicKey(pubKeySignature.getEncoded());
+ ECPublicKey ecdsakey = new ECPublicKey(pubKeysIdentityLink[i].getEncoded());
+
+ if(ecdsakey.equals(ecdsaPubKeySignature))
+ found = true;
+
+ } catch (InvalidKeyException e) {
+ Logger.warn("ECPublicKey can not parsed into a iaik.ECPublicKey", e);
+ throw new ValidateException("validator.09", null);
+ }
- if(ecdsakey.equals(ecdsaPubKeySignature))
- found = true;
+
+
}
// Logger.debug("IDL-Pubkey=" + idl.getPublicKey()[i].getClass().getName()
diff --git a/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html b/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
index 88279ee96..b241e85cf 100644
--- a/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
+++ b/id/server/idserverlib/src/main/resources/resources/templates/slo_template.html
@@ -389,7 +389,7 @@
</head>
#if($timeoutURL)
- <body onload='setTimeout(sloTimeOut(), $timeout);'>
+ <body onload='setTimeout(sloTimeOut, $timeout);'>
#else
<body>
#end
diff --git a/id/server/stork2-commons/pom.xml b/id/server/stork2-commons/pom.xml
index d0fd5a1ad..555d6cec7 100644
--- a/id/server/stork2-commons/pom.xml
+++ b/id/server/stork2-commons/pom.xml
@@ -13,13 +13,21 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<stork.version>1.4.0</stork.version>
- <opensaml.version>2.6.2</opensaml.version>
+ <opensaml.version>2.6.3</opensaml.version>
</properties>
<version>${stork.version}</version>
<description>
The STORKCommons library provides beans, Java Interfaces and utility classes to integrate PEPS and SAML Engine.
</description>
+ <repositories>
+ <repository>
+ <id>shibboleth.internet2.edu</id>
+ <name>Internet2</name>
+ <url>https://build.shibboleth.net/nexus/content/groups/public/</url>
+ </repository>
+ </repositories>
+
<dependencies>
<!-- Joda -->
@@ -55,8 +63,8 @@
</dependency>
<dependency>
- <groupId>org.opensaml</groupId>
- <artifactId>opensaml</artifactId>
+ <groupId>org.opensaml</groupId>
+ <artifactId>opensaml</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
diff --git a/id/server/stork2-saml-engine/pom.xml b/id/server/stork2-saml-engine/pom.xml
index 89ddab22a..30f2bff7c 100644
--- a/id/server/stork2-saml-engine/pom.xml
+++ b/id/server/stork2-saml-engine/pom.xml
@@ -49,12 +49,12 @@
<groupId>eu.stork</groupId>
<artifactId>Commons</artifactId>
<version>${commons.version}</version>
- <exclusions>
+<!-- <exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
</exclusion>
- </exclusions>
+ </exclusions> -->
</dependency>
<dependency>
@@ -82,6 +82,10 @@
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
+ <exclusion>
+ <artifactId>bcprov-jdk15on</artifactId>
+ <groupId>org.bouncycastle</groupId>
+ </exclusion>
</exclusions>
</dependency>