diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-06-13 08:53:18 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2014-06-13 08:53:18 +0200 | 
| commit | f7d20da1c2ab2a952ae64a9447f189bfafd4e2a5 (patch) | |
| tree | bbad40cfa5fcb16a0fafce92a3b5d59e79bd7a9e | |
| parent | f274f348b3989b9b46e6ab596a60e6846495c3d3 (diff) | |
| download | moa-id-spss-f7d20da1c2ab2a952ae64a9447f189bfafd4e2a5.tar.gz moa-id-spss-f7d20da1c2ab2a952ae64a9447f189bfafd4e2a5.tar.bz2 moa-id-spss-f7d20da1c2ab2a952ae64a9447f189bfafd4e2a5.zip | |
new test credentials include a certificate with a test OID as x509 extension
add test OID checks
12 files changed, 135 insertions, 188 deletions
| diff --git a/id/readme_2.1.0.txt b/id/readme_2.1.0.txt deleted file mode 100644 index 19ccdb4b8..000000000 --- a/id/readme_2.1.0.txt +++ /dev/null @@ -1,172 +0,0 @@ -=============================================================================== -MOA ID Version Release 2.1.0 - Wichtige Informationen zur Installation -=============================================================================== - -------------------------------------------------------------------------------- -A. Neuerungen/Änderungen -------------------------------------------------------------------------------- - -Mit MOA ID Version 2.0.1 wurden folgende Neuerungen eingeführt, die jetzt  -erstmals in der Veröffentlichung enthalten sind (siehe auch history.txt im  -gleichen Verzeichnis): - -- Neuerungen: -  - IDP Interfederation für Single Sign-On -  - MOA-ID Truststore wird auch für Bezug PVP 2.1 metadaten über https verwendet. -  - Definition neuer Fehlercodes -    -- Änderungen -  - Anpassung VIDP Code für STORK -  - MOA-ID-Konfigurationstool mit überarbeiteter Online-Applikationskonfiguration  -  - Kleinere Bug-Fixes -  - Anpassung der protokollspezifischen Fehlerrückgabe  - -------------------------------------------------------------------------------- -B. Durchführung eines Updates -------------------------------------------------------------------------------- - -Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch -eine Aktualisierung bestehender Installationen möglich. - -............................................................................... -B.1 Durchführung eines Updates von Version 2.0.1  -............................................................................... - 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. -   Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. - -2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in -   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 -   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 -   CATALINA_HOME_ID/webapps. -    -5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach -   CATALINA_HOME_ID/webapps.    - -6. Update der STORK Konfiguration -     a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork -         in das Verzeichnis CATALINA_HOME\conf\moa-id\stork. -     b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->    -         2.4 Konfiguration des SamlEngines an. -          -7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configuration Konfigurationsdatei -   CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties      -     a.) general.ssl.certstore=certs/certstore -     b.) general.ssl.truststore=certs/truststore -  -8. Kopieren des folgenden zusätzlichen Ordners  MOA_ID_AUTH_INST/conf/moa-id-configuration/certs -   nach CATALINA_HOME\conf\moa-id-configuration\ -    -9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei -   CATALINA_HOME\conf\moa-id\moa-id.properties und Anpassung an das zu verwendeten Schlüsselpaar.      -     a.) protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion -         protocols.pvp2.idp.ks.assertion.encryption.keypassword=password -  -10. Kopieren der folgenden zusätzlichen Ordner aus MOA_ID_AUTH_INST/conf/moa-id/ -    nach CATALINA_HOME\conf\moa-id\ -      a.) MOA_ID_AUTH_INST/conf/moa-id/SLTemplates -> CATALINA_HOME\conf\moa-id\     -  -8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im -   Logging von MOA ID beim Einlesen der Konfiguration. - - -............................................................................... -B.2 Durchführung eines Updates von Version 2.0-RC1  -............................................................................... - -1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. -   Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. - -2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.0.1.zip) in -   ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST  -   bezeichnet. -   Für MOA ID Proxy: -   Entpacken Sie die Distribution von MOA-ID-Proxy (moa-id-proxy-2.0.1.zip) in -   ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_PROXY_INST  -   bezeichnet. - -3. 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 -   CATALINA_HOME_ID/webapps. - -5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach -   CATALINA_HOME_ID/webapps.   - -6. 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. - -7. 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). - -   a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: - -    1)  Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. -    2)  Kopieren Sie das Verzeichnis  -        MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis  -        CATALINA_HOME\conf\moa-spss. - -   b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie  -      folgt vor, um die Profile auf den aktuellen Stand zu bringen: - -    1)  Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den  -        entsprechenden Profilen im Verzeichnis  -        MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren  -        Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt  -        der einzelnen Profile aus der Distribution  -        (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden  -        Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles)  -        kopieren und dabei die vorhandenen gleichnamigen Zertifikate  -        überschreiben), also z.B: Kopieren des Inhalts von  -        MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ -        MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach  -        CATALINA_HOME\conf\moa-spss\trustProfiles\ -        MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. -            -8. Update der Default html-Templates für die Bürgerkartenauswahl. - -     a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates -         in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates.          -     b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates -         in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates.  - -9. Update der STORK Konfiguration -     a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork -         in das Verzeichnis CATALINA_HOME\conf\moa-id\stork. -     b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration ->    -         2.4 Konfiguration des SamlEngines an. -          -10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei -   CATALINA_HOME\conf\moa-id\moa-id.properties -      -     a.) configuration.validation.certificate.QC.ignore=false -     b.) protocols.pvp2.assertion.encryption.active=false           -                                     -11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im -   Logging von MOA ID beim Einlesen der Konfiguration. - -    -............................................................................... -B.3 Durchführung eines Updates von Version <= 1.5.1 -............................................................................... - -Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen -Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter  -Zuhilfenahme Ihrer bisherigen Konfiguration an. - diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index e7abf0f9a..44453afe3 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -414,17 +414,12 @@ public class AuthenticationServer implements MOAIDAuthConstants {          OAAuthParameter oaParam = AuthConfigurationProvider.getInstance()                  .getOnlineApplicationParameter(session.getPublicOAURLPrefix()); -        // if OA is type is business service the manifest validation result has -        // to be ignored -        boolean ignoreManifestValidationResult = (oaParam.getBusinessService()) ? true -                : false; -          // validates the <VerifyXMLSignatureResponse>          VerifyXMLSignatureResponseValidator.getInstance().validate(                  verifyXMLSignatureResponse,                  authConf.getIdentityLinkX509SubjectNames(),                  VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK, -                ignoreManifestValidationResult); +                oaParam);          session.setIdentityLink(identityLink);          // now validate the extended infoboxes @@ -1214,10 +1209,13 @@ public class AuthenticationServer implements MOAIDAuthConstants {              }          } +        OAAuthParameter oaParam = AuthConfigurationProvider.getInstance() +                .getOnlineApplicationParameter(session.getPublicOAURLPrefix()); +                  // validates the <VerifyXMLSignatureResponse>          VerifyXMLSignatureResponseValidator.getInstance().validate(vsresp,                  null, VerifyXMLSignatureResponseValidator.CHECK_AUTH_BLOCK, -                false); +                oaParam);          // Compare AuthBlock Data with information stored in session, especially          // date and time diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java index e2c0c1f18..497c79c1e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java @@ -142,6 +142,10 @@ public interface MOAIDAuthConstants {    public static final String PARAM_APPLET_HEIGTH = "heigth";    public static final String PARAM_APPLET_WIDTH = "width"; +  //TODO: set correct OID!!! +  public static final String TESTCREDENTIALROOTOID = "1.2.40.0.10.1";  +   +    	public static final Map<String, String> COUNTRYCODE_XX_TO_NAME =   			Collections.unmodifiableMap(new HashMap<String, String>() {  				private static final long serialVersionUID = 1L; 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 4fd7fa965..2b687a0c8 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 @@ -46,6 +46,7 @@  package at.gv.egovernment.moa.id.auth.validator; +import iaik.asn1.ObjectID;  import iaik.asn1.structures.Name;  import iaik.security.ecc.ecdsa.ECPublicKey;  import iaik.utils.RFC2253NameParserException; @@ -54,7 +55,10 @@ import iaik.x509.X509ExtensionInitException;  import java.security.PublicKey;  import java.security.interfaces.RSAPublicKey; +import java.util.ArrayList; +import java.util.Iterator;  import java.util.List; +import java.util.Set;  import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;  import at.gv.egovernment.moa.id.auth.data.IdentityLink; @@ -62,6 +66,7 @@ import at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse;  import at.gv.egovernment.moa.id.auth.exception.ValidateException;  import at.gv.egovernment.moa.id.config.ConfigurationException;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.config.auth.IOAAuthParameters;  import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;  import at.gv.egovernment.moa.logging.Logger; @@ -99,7 +104,7 @@ public class VerifyXMLSignatureResponseValidator {     * @param verifyXMLSignatureResponse the <code><VerifyXMLSignatureResponse></code>     * @param identityLinkSignersSubjectDNNames subject names configured     * @param whatToCheck is used to identify whether the identityLink or the Auth-Block is validated -   * @param ignoreManifestValidationResult specifies whether the validation result of the  +   * @param oaParam specifies whether the validation result of the      *                                       manifest has to be ignored (identityLink validation if     *                                       the OA is a business service) or not     * @throws ValidateException on any validation error @@ -108,7 +113,7 @@ public class VerifyXMLSignatureResponseValidator {    public void validate(VerifyXMLSignatureResponse verifyXMLSignatureResponse,                         List<String> identityLinkSignersSubjectDNNames,                          String whatToCheck, -                       boolean ignoreManifestValidationResult) +                       IOAAuthParameters oaParam)      throws ValidateException, ConfigurationException {      if (verifyXMLSignatureResponse.getSignatureCheckCode() != 0) @@ -137,8 +142,49 @@ public class VerifyXMLSignatureResponseValidator {      //check QC       if (AuthConfigurationProvider.getInstance().isCertifiacteQCActive() &&      		!whatToCheck.equals(CHECK_IDENTITY_LINK) && -    		!verifyXMLSignatureResponse.isQualifiedCertificate()) -        throw new ValidateException("validator.71", null); +    		!verifyXMLSignatureResponse.isQualifiedCertificate()) { +    	    	 +    	//check if testcards are active and certificate has an extension for test credentials +    	if (oaParam.isTestCredentialEnabled()) { +        	boolean foundTestCredentialOID = false; +        	try { +        		X509Certificate signerCert = verifyXMLSignatureResponse.getX509certificate(); +    		 +        		List<String> validOIDs = new ArrayList<String>(); +        		if (oaParam.getTestCredentialOIDs() != null) +        			validOIDs.addAll(oaParam.getTestCredentialOIDs()); +        		else +        			validOIDs.add(MOAIDAuthConstants.TESTCREDENTIALROOTOID); +    		 +        		Set<String> extentsions = signerCert.getCriticalExtensionOIDs(); +        		extentsions.addAll(signerCert.getNonCriticalExtensionOIDs()); +        		Iterator<String> extit = extentsions.iterator(); +        		while(extit.hasNext()) { +        			String certOID = extit.next(); +        			for (String el : validOIDs) { +        				if (certOID.startsWith(el)) +        					foundTestCredentialOID = true; +        			}    			 +        		} +        		 +        	} catch (Exception e) { +        		Logger.warn("Test credential OID extraction FAILED.", e); +        		 +        	} +        	//throw Exception if not TestCredentialOID is found +        	if (!foundTestCredentialOID) +        		throw new ValidateException("validator.72", null); +    		 +    	} else    	 +    		throw new ValidateException("validator.71", null);         +    } +     +    // if OA is type is business service the manifest validation result has +    // to be ignored +    boolean ignoreManifestValidationResult = false; +    if (whatToCheck.equals(CHECK_IDENTITY_LINK))    	 +    	ignoreManifestValidationResult = (oaParam.getBusinessService()) ? true +            : false;      if (ignoreManifestValidationResult) {        Logger.debug("OA type is business service, thus ignoring DSIG manifest validation result"); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java index dca0958f3..6fc1d28c1 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java @@ -279,7 +279,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {  		//Load MOAID-2.0 properties file  		File propertiesFile = new File(fileName); -		FileInputStream fis; +		FileInputStream fis = null;  		props = new Properties();  		// determine the directory of the root config file @@ -364,6 +364,11 @@ public class AuthConfigurationProvider extends ConfigurationProvider {  		} catch (ExceptionInInitializerError e) {  			throw new  ConfigurationException("config.17", null, e); +			 +		} finally { +			if (fis != null) +				fis.close(); +			  		} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/IOAAuthParameters.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/IOAAuthParameters.java index a59cc10e0..6398de34f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/IOAAuthParameters.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/IOAAuthParameters.java @@ -144,5 +144,9 @@ public interface IOAAuthParameters {  	 * @return  	 */  	boolean isOutboundSSOInterfederationAllowed(); +	 +	boolean isTestCredentialEnabled(); +	List<String> getTestCredentialOIDs(); +	  }
\ No newline at end of file diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java index 7fc5746ee..f6360f4cf 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java @@ -67,6 +67,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.OAStorkAttribute;  import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;  import at.gv.egovernment.moa.id.commons.db.dao.config.TemplateType;  import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType; +import at.gv.egovernment.moa.id.commons.db.dao.config.TestCredentials;  import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;  import at.gv.egovernment.moa.id.config.ConfigurationUtils;  import at.gv.egovernment.moa.id.config.OAParameter; @@ -520,4 +521,30 @@ public boolean isIDPPublicService() {  } + +/* (non-Javadoc) + * @see at.gv.egovernment.moa.id.config.auth.IOAAuthParameters#isTestCredentialEnabled() + */ +@Override +public boolean isTestCredentialEnabled() { +	TestCredentials testing = oa_auth.getTestCredentials(); +	if (testing != null && testing.isEnableTestCredentials())	 +		return true; +	else +		return false; +} + + +/* (non-Javadoc) + * @see at.gv.egovernment.moa.id.config.auth.IOAAuthParameters#getTestCredentialOIDs() + */ +@Override +public List<String> getTestCredentialOIDs() { +	TestCredentials testing = oa_auth.getTestCredentials(); +	if (testing != null && testing.getCredentialOID().size() > 0)  +		return testing.getCredentialOID(); +	else +		return null;	 +} +  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/DynamicOAAuthParameters.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/DynamicOAAuthParameters.java index 02ac09d70..eddf605a6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/DynamicOAAuthParameters.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/data/DynamicOAAuthParameters.java @@ -381,6 +381,24 @@ public class DynamicOAAuthParameters implements IOAAuthParameters {  		return false;  	} +	/* (non-Javadoc) +	 * @see at.gv.egovernment.moa.id.config.auth.IOAAuthParameters#isTestCredentialEnabled() +	 */ +	@Override +	public boolean isTestCredentialEnabled() { +		// TODO Auto-generated method stub +		return false; +	} + +	/* (non-Javadoc) +	 * @see at.gv.egovernment.moa.id.config.auth.IOAAuthParameters#getTestCredentialOIDs() +	 */ +	@Override +	public List<String> getTestCredentialOIDs() { +		// TODO Auto-generated method stub +		return null; +	} +  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java index 6c2f3e75a..b5220914c 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/monitoring/IdentityLinkTestModule.java @@ -38,6 +38,8 @@ import at.gv.egovernment.moa.id.auth.parser.VerifyXMLSignatureResponseParser;  import at.gv.egovernment.moa.id.auth.validator.IdentityLinkValidator;  import at.gv.egovernment.moa.id.auth.validator.VerifyXMLSignatureResponseValidator;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.config.auth.IOAAuthParameters; +import at.gv.egovernment.moa.id.config.auth.data.DynamicOAAuthParameters;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.MiscUtil; @@ -75,12 +77,14 @@ public class IdentityLinkTestModule implements TestModuleInterface {  			VerifyXMLSignatureResponse verifyXMLSignatureResponse = new VerifyXMLSignatureResponseParser(  					domVerifyXMLSignatureResponse).parseData(); -		 +			DynamicOAAuthParameters oaParam = new DynamicOAAuthParameters(); +			oaParam.setBusinessService(true); +			  			VerifyXMLSignatureResponseValidator.getInstance().validate(  					verifyXMLSignatureResponse,  					config.getIdentityLinkX509SubjectNames(),  					VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK, -					true); +					oaParam);  		} catch (ValidateException e) {  			//check if default Monitoring IDL is used then error is ignored diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties index 232411fd8..0f9792e79 100644 --- a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties +++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties @@ -201,6 +201,7 @@ validator.68=SigningTime im AUTH-Block konnte nicht eruiert werden.  validator.69=SigningTime im AUTH-Block und Serverzeit weichen zu stark ab ({0}).
  validator.70=Das einmale Tokken im signierten AuthBlock ({0}) stimmt nicht mit dem von generierten Tokken ({1}) \u00FCberein.
  validator.71=Das Signaturzertifikat ist nicht qualifiziert.
 +validator.72=Das Signaturzertifikat ist nicht qualifiziert und es wurde keine OID f\u00FCr Test Identit\u00E4ten gefunden.
  ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen
 diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java index 14bb1e4cc..0876cfac6 100644 --- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java +++ b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/invoke/SignatureVerificationTest.java @@ -61,6 +61,7 @@ import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;  import at.gv.egovernment.moa.id.auth.validator.VerifyXMLSignatureResponseValidator;  import at.gv.egovernment.moa.id.config.ConfigurationProvider;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.config.auth.data.DynamicOAAuthParameters;  import at.gv.egovernment.moa.util.DOMUtils; @@ -130,7 +131,10 @@ System.setProperty(      VerifyXMLSignatureResponseParser vParser = new VerifyXMLSignatureResponseParser(response);      VerifyXMLSignatureResponse vData = vParser.parseData();      VerifyXMLSignatureResponseValidator vValidate = VerifyXMLSignatureResponseValidator.getInstance(); -    vValidate.validate(vData, authConf.getIdentityLinkX509SubjectNames(), VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK, true); +     +	DynamicOAAuthParameters oaParam = new DynamicOAAuthParameters(); +	oaParam.setBusinessService(true); +    vValidate.validate(vData, authConf.getIdentityLinkX509SubjectNames(), VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK, oaParam);      vValidate.validateCertificate(vData,idl);      // check the result diff --git a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd index 3a2914cb4..2d5542b98 100644 --- a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd +++ b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd @@ -484,7 +484,7 @@  	<xsd:complexType name="InterfederationIDPType">  		<xsd:sequence>  			<xsd:element name="attributeQueryURL" type="xsd:string" minOccurs="0" maxOccurs="1"/> -			<xsd:element name="storeSSOSession" type="xsd:boolean" minOccurs="1" maxOccurs="1" default="true"/> +			<xsd:element name="storeSSOSession" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/>  		</xsd:sequence>  		<xsd:attribute name="inboundSSO" type="xsd:boolean" default="true"/>  		<xsd:attribute name="outboundSSO" type="xsd:boolean" default="true"/> @@ -530,6 +530,14 @@  								</xsd:sequence>  							</xsd:complexType>  						</xsd:element> +						<xsd:element name="testCredentials" minOccurs="0" maxOccurs="1"> +							<xsd:complexType> +								<xsd:sequence> +									<xsd:element name="credentialOID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> +								</xsd:sequence> +								<xsd:attribute name="enableTestCredentials" type="xsd:boolean" default="false"/> +							</xsd:complexType> +						</xsd:element>  						<xsd:element ref="OA_STORK" minOccurs="0"/>  						<xsd:element name="OA_SSO" minOccurs="0">  							<xsd:complexType> | 
