diff options
20 files changed, 147 insertions, 37 deletions
| diff --git a/common/pom.xml b/common/pom.xml index 70d0dc13c..3d790d29b 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -95,6 +95,11 @@              <version>1.7.6</version>          </dependency> -->          <dependency> +            <groupId>log4j</groupId> +            <artifactId>log4j</artifactId> +            <version>1.2.17</version> +        </dependency> +        <dependency>  					<groupId>org.slf4j</groupId>  					<artifactId>slf4j-log4j12</artifactId>  					<version>1.7.7</version> 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/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>
 @@ -145,12 +145,12 @@  			<dependency>
    				<groupId>org.opensaml</groupId>
    				<artifactId>opensaml</artifactId>
 -  				<version>2.6.1</version>
 +  				<version>2.6.3</version>
    			</dependency>  		
  			<dependency>
  				<groupId>org.opensaml</groupId>
  				<artifactId>xmltooling</artifactId>
 -				<version>1.4.1</version>
 +				<version>1.4.3</version>
  			</dependency>
 @@ -309,19 +309,19 @@                  <groupId>iaik.prod</groupId>
                  <artifactId>iaik_jce_full</artifactId>
                  <!-- <version>4.0_MOA</version>-->
 -                <version>5.101</version>
 +                <version>5.2</version>
                  <scope>compile</scope>
              </dependency>
              <dependency>
                  <groupId>iaik.prod</groupId>
                  <artifactId>iaik_moa</artifactId>
 -                <version>1.5</version>
 +                <version>1.51</version>
                  <scope>compile</scope>
              </dependency>
              <dependency>
                  <groupId>iaik.prod</groupId>
                  <artifactId>iaik_cms</artifactId>
 -                <version>4.1_MOA</version>
 +                <version>5.0</version>
                  <scope>compile</scope>
              </dependency>
              <dependency>
 diff --git a/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.jar b/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.jarBinary files differ new file mode 100644 index 000000000..cecf54927 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.jar diff --git a/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.pom b/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.pom new file mode 100644 index 000000000..f279a300b --- /dev/null +++ b/repository/iaik/prod/iaik_cms/5.0/iaik_cms-5.0.pom @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +  <modelVersion>4.0.0</modelVersion> +  <groupId>iaik.prod</groupId> +  <artifactId>iaik_cms</artifactId> +  <version>5.0</version> +  <description>POM was created from install:install-file</description> +</project> diff --git a/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.jar b/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.jarBinary files differ new file mode 100644 index 000000000..c10f494ff --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.jar diff --git a/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.pom b/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.pom new file mode 100644 index 000000000..f12cc5542 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/5.2/iaik_jce_full-5.2.pom @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +  <modelVersion>4.0.0</modelVersion> +  <groupId>iaik.prod</groupId> +  <artifactId>iaik_jce_full</artifactId> +  <version>5.2</version> +  <description>POM was created from install:install-file</description> +</project> diff --git a/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.jar b/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.jarBinary files differ new file mode 100644 index 000000000..3e94e44a5 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.jar diff --git a/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.pom b/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.pom new file mode 100644 index 000000000..ccfb5558c --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.51/iaik_moa-1.51.pom @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" +    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +  <modelVersion>4.0.0</modelVersion> +  <groupId>iaik.prod</groupId> +  <artifactId>iaik_moa</artifactId> +  <version>1.51</version> +  <description>POM was created from install:install-file</description> +</project> diff --git a/spss/server/history.txt b/spss/server/history.txt index 01a38524e..2dbd62760 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -3,6 +3,9 @@  ##############  - Libraries aktuallisert    - iaik-tsl Version 1.1 (Implementiert ETSI TS119612 V1.2.1) +  - iaik_moa Version 1.51 +  - iaik_jce_full_MOA Version 5.2 +  - iaik_cms_MOA Version 5.0  - Update der Standard Trustprofile  ############## | 
