diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-11-27 14:53:10 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-11-27 14:53:10 +0100 | 
| commit | 9b3f7876fe480698d2da970b0b1ca6de0874ec48 (patch) | |
| tree | 7d82380c03c209322df84b8ea5cb790bb82955ff | |
| parent | ae9711c0bf2fab5a52c9ed305cc8d020df2f0041 (diff) | |
| download | moa-id-spss-9b3f7876fe480698d2da970b0b1ca6de0874ec48.tar.gz moa-id-spss-9b3f7876fe480698d2da970b0b1ca6de0874ec48.tar.bz2 moa-id-spss-9b3f7876fe480698d2da970b0b1ca6de0874ec48.zip | |
BugFix:
@ConfigurationTool:
 - Set identification types in case of businesses applications (Firmenbuchnummer, Vereinsnummer, ERjBnummer)
@ MOA-ID:
 - Set identification types in case of businesses applications if identification type is empty(Firmenbuchnummer, Vereinsnummer, ERjBnummer)
 - SAML1 Assertion: hide BaseID only if the BaseID is included
 - STORK Configuration: Nullpointer exception if not STORK config is found.
13 files changed, 68 insertions, 13 deletions
| diff --git a/id/ConfigWebTool/.classpath b/id/ConfigWebTool/.classpath index 5bde2110d..0e6d0b69f 100644 --- a/id/ConfigWebTool/.classpath +++ b/id/ConfigWebTool/.classpath @@ -26,6 +26,7 @@  	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">  		<attributes>  			<attribute name="maven.pomderived" value="true"/> +			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>  		</attributes>  	</classpathentry>  	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml index 3ef980bca..729065ca4 100644 --- a/id/ConfigWebTool/pom.xml +++ b/id/ConfigWebTool/pom.xml @@ -39,7 +39,6 @@        <dependency>      		<groupId>MOA.id.server</groupId>      		<artifactId>moa-id-lib</artifactId> -    		<version>1.9.97-SNAPSHOT</version>      	</dependency>        <dependency> diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java index 9dc49bba8..c5ea0acd1 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java @@ -47,8 +47,11 @@ public class Constants {  	public static final String PUBLICSERVICE_URL_POSTFIX = ".gv.at";  	public static final String IDENIFICATIONTYPE_FN = "FN"; +	public static final String IDENIFICATIONTYPE_FN_TYPE = "Firmenbuchnummer";  	public static final String IDENIFICATIONTYPE_ERSB = "ERSB"; +	public static final String IDENIFICATIONTYPE_ERSB_TYPE = "ERJPZahl";  	public static final String IDENIFICATIONTYPE_ZVR = "ZVR"; +	public static final String IDENIFICATIONTYPE_ZVR_TYPE = "Vereinsnummer";  	public static final String IDENIFICATIONTYPE_BASEID = "urn:publicid:gv.at:baseid+";  	public static final String IDENIFICATIONTYPE_BASEID_FN = IDENIFICATIONTYPE_BASEID + "X" + IDENIFICATIONTYPE_FN; diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java index 04b4da19a..5bde5dd66 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java @@ -747,27 +747,34 @@ ServletResponseAware {  			dboa.setType(Constants.MOA_CONFIG_BUSINESSSERVICE);  			String num = generalOA.getIdentificationNumber().replaceAll(" ", ""); +			String type = null;  			if (num.startsWith(Constants.IDENIFICATIONTYPE_FN)) {  				num = num.substring(Constants.IDENIFICATIONTYPE_FN.length());  				num = at.gv.egovernment.moa.util.StringUtils.deleteLeadingZeros(num);  				//num = StringUtils.leftPad(num, 7, '0'); +				type = Constants.IDENIFICATIONTYPE_FN_TYPE;  			} -			if (num.startsWith(Constants.IDENIFICATIONTYPE_ZVR)) +			if (num.startsWith(Constants.IDENIFICATIONTYPE_ZVR)) {  				num = num.substring(Constants.IDENIFICATIONTYPE_ZVR.length()); +				type = Constants.IDENIFICATIONTYPE_ZVR_TYPE; +			} -			if (num.startsWith(Constants.IDENIFICATIONTYPE_ERSB)) +			if (num.startsWith(Constants.IDENIFICATIONTYPE_ERSB)) {  				num = num.substring(Constants.IDENIFICATIONTYPE_ERSB.length()); +				type = Constants.IDENIFICATIONTYPE_ERSB_TYPE;	 +			}  			IdentificationNumber idnumber = new IdentificationNumber(); +			idnumber.setType(type);  			idnumber.setValue(  					Constants.PREFIX_WPBK +   					generalOA.getIdentificationType() +   					"+" +   					num); -			 +						  			authoa.setIdentificationNumber(idnumber);  		}  diff --git a/id/server/auth/.settings/org.eclipse.wst.common.component b/id/server/auth/.settings/org.eclipse.wst.common.component index 2250777cb..10109d2c2 100644 --- a/id/server/auth/.settings/org.eclipse.wst.common.component +++ b/id/server/auth/.settings/org.eclipse.wst.common.component @@ -6,9 +6,15 @@          <dependent-module archiveName="moa-common-2.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-common/moa-common">              <dependency-type>uses</dependency-type>          </dependent-module> +        <dependent-module archiveName="moa-id-lib-1.9.97-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-id-lib/moa-id-lib"> +            <dependency-type>uses</dependency-type> +        </dependent-module>          <dependent-module archiveName="stork-saml-engine-1.5.2.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/stork-saml-engine/stork-saml-engine">              <dependency-type>uses</dependency-type>          </dependent-module> +        <dependent-module archiveName="moa-id-commons-1.9.97-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-id-commons/moa-id-commons"> +            <dependency-type>uses</dependency-type> +        </dependent-module>      <property name="context-root" value="moa-id-auth"/>      <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>          <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> 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 af23d4c78..96fdbef02 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 @@ -1155,7 +1155,14 @@ public class AuthenticationServer implements MOAIDAuthConstants {  		CreateXMLSignatureResponse csresp = new CreateXMLSignatureResponseParser(  				xmlCreateXMLSignatureReadResponse).parseResponse(); +		 +		Element signature = csresp.getDsigSignature(); +		 +		  		try { +			String test = DOMUtils.serializeNode(signature); +			 +			  			String serializedAssertion = DOMUtils.serializeNode(csresp  					.getSamlAssertion());  			session.setAuthBlock(serializedAssertion); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java index f5d603480..3a308f6da 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java @@ -190,9 +190,22 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion           gebeORwbpk = MessageFormat.format(WBPK_ATTRIBUTE, new Object[] { identityLinkValue, identityLinkType });           wbpkNSDeclaration = " xmlns:pr=\"" + PD_NS_URI + "\""; -         //adding type of wbPK domain identifier         +         //adding type of wbPK domain identifier +          +        String idtype = oaParam.getIdentityLinkDomainIdentifierType(); +        if (MiscUtil.isEmpty(idtype)) { +        	if (identityLinkType.contains("FN")) +        		idtype = "Firmenbuchnummer"; +        	else if (identityLinkType.contains("ZVR")) +        		idtype = "Vereinsnummer"; +        	else if (identityLinkType.contains("ERSB")) +        		idtype = "ERJPZahl"; +        	else  +        		idtype = "Bereichskennung"; +        } +        	          ExtendedSAMLAttribute idLinkDomainIdentifierTypeAttribute =  -             new ExtendedSAMLAttributeImpl("IdentityLinkDomainIdentifierType", oaParam.getIdentityLinkDomainIdentifierType(), Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY); +             new ExtendedSAMLAttributeImpl("IdentityLinkDomainIdentifierType", idtype, Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY);          extendedSAMLAttributes.add(idLinkDomainIdentifierTypeAttribute); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java index fd5ff6744..5d94d2f16 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java @@ -27,8 +27,11 @@ package at.gv.egovernment.moa.id.auth.builder;  import org.w3c.dom.Element;  import org.w3c.dom.Node; +import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;  import at.gv.egovernment.moa.id.auth.data.IdentityLink;  import at.gv.egovernment.moa.id.auth.exception.BuildException; +import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration; +import at.gv.egovernment.moa.util.Constants;  import at.gv.egovernment.moa.util.DOMUtils;  import at.gv.egovernment.moa.util.XPathUtils; @@ -65,9 +68,12 @@ public class PersonDataBuilder {      try {        Element prPerson = (Element)identityLink.getPrPerson().cloneNode(true); -      if (! provideStammzahl) { -        Node prIdentification = XPathUtils.selectSingleNode(prPerson, "pr:Identification/pr:Value");        -        //remove IdentificationValue +       +      Node prType = XPathUtils.selectSingleNode(prPerson, "pr:Identification/pr:Type"); + +      if (! provideStammzahl &&  +    		  Constants.URN_PREFIX_BASEID.equals(prType.getFirstChild().getNodeValue())) { +        Node prIdentification = XPathUtils.selectSingleNode(prPerson, "pr:Identification/pr:Value");           prIdentification.getFirstChild().setNodeValue("");        }        String xmlString = DOMUtils.serializeNode(prPerson); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java index 3bc152ec8..91040dde2 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java @@ -36,7 +36,7 @@ public class StartAuthenticationBuilder {  	    Logger.info("Starting authentication for a citizen of country: " + (StringUtils.isEmpty(moasession.getCcc()) ? "AT" : moasession.getCcc()));      	    // STORK or normal authentication -	    if (storkConfig.isSTORKAuthentication(moasession.getCcc())) { +	    if (storkConfig != null && storkConfig.isSTORKAuthentication(moasession.getCcc())) {  	    	//STORK authentication  	    	Logger.trace("Found C-PEPS configuration for citizen of country: " + moasession.getCcc());  	    	Logger.debug("Starting STORK authentication"); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java index 222faec37..07d006bc2 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetForeignIDServlet.java @@ -156,9 +156,15 @@ public class GetForeignIDServlet extends AuthServlet {  	    	try {  				session.setSignerCertificate(AuthenticationServer.getCertificateFromXML(signature)); +				 +				//String test = DOMUtils.serializeNode(signature); +				  			} catch (CertificateException e) {  				Logger.error("Could not extract certificate from CreateXMLSignatureResponse");  				throw new MOAIDException("auth.14", null); +//			} catch (TransformerException e) { +//				// TODO Auto-generated catch block +//				e.printStackTrace();  			}
  	    	// make SZR request to the identity link
 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 304771edf..9c2797c36 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 @@ -428,12 +428,13 @@ public class AuthConfigurationProvider extends ConfigurationProvider {  		//build STORK Config	  		AuthComponentGeneral auth = getAuthComponentGeneral(); +		  		ForeignIdentities foreign = auth.getForeignIdentities();  		if (foreign == null ) {  			Logger.warn("Error in MOA-ID Configuration. No STORK configuration found."); -		} else    -			storkconfig = new STORKConfig(foreign.getSTORK(), props, rootConfigFileDir); +		} //else    +			//storkconfig = new STORKConfig(foreign.getSTORK(), props, rootConfigFileDir);  		//load Chaining modes diff --git a/id/server/proxy/.settings/org.eclipse.wst.common.component b/id/server/proxy/.settings/org.eclipse.wst.common.component index 5ef4c6bfe..5b7986017 100644 --- a/id/server/proxy/.settings/org.eclipse.wst.common.component +++ b/id/server/proxy/.settings/org.eclipse.wst.common.component @@ -6,9 +6,15 @@          <dependent-module archiveName="moa-common-2.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-common/moa-common">
              <dependency-type>uses</dependency-type>
          </dependent-module>
 +        <dependent-module archiveName="moa-id-lib-1.9.97-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-id-lib/moa-id-lib">
 +            <dependency-type>uses</dependency-type>
 +        </dependent-module>
          <dependent-module archiveName="stork-saml-engine-1.5.2.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/stork-saml-engine/stork-saml-engine">
              <dependency-type>uses</dependency-type>
          </dependent-module>
 +        <dependent-module archiveName="moa-id-commons-1.9.97-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/moa-id-commons/moa-id-commons">
 +            <dependency-type>uses</dependency-type>
 +        </dependent-module>
      <property name="context-root" value="moa-id-proxy"/>
      <wb-resource deploy-path="/" source-path="src/main/webapp"/>
      <property name="java-output-path" value="/target/classes"/>
 @@ -186,7 +186,7 @@              <dependency>
                  <groupId>MOA.id.server</groupId>
                  <artifactId>moa-id-lib</artifactId>
 -                <version>1.9.96-SNAPSHOT</version>
 +                <version>1.9.97-SNAPSHOT</version>
                  <scope>compile</scope>
              </dependency>
              <dependency>
 | 
