diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-05-24 12:23:41 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2019-05-24 12:23:41 +0200 | 
| commit | ac531e30d13d6714e2ac61f7329e6adc130aa288 (patch) | |
| tree | 2dbaa63a8d5197bd038e8d6b3f72ddc44c6590a4 /id/server | |
| parent | 996774dbf06b037d9f843e57a2cfac9bcc111a51 (diff) | |
| download | moa-id-spss-ac531e30d13d6714e2ac61f7329e6adc130aa288.tar.gz moa-id-spss-ac531e30d13d6714e2ac61f7329e6adc130aa288.tar.bz2 moa-id-spss-ac531e30d13d6714e2ac61f7329e6adc130aa288.zip | |
untested switch to EAAF-components 1.0.7
Diffstat (limited to 'id/server')
64 files changed, 291 insertions, 366 deletions
| diff --git a/id/server/auth-final/pom.xml b/id/server/auth-final/pom.xml index 504adb486..6301a10ec 100644 --- a/id/server/auth-final/pom.xml +++ b/id/server/auth-final/pom.xml @@ -130,61 +130,20 @@    		<artifactId>moa-id-frontend-resources</artifactId>  		</dependency> -		 -		<!-- Adding eIDAS module dependency automatically adds eIDAS protocol capabilities. --> -		<!--dependency> -			<groupId>MOA.id.server.modules</groupId> -			<artifactId>moa-id-module-eIDAS</artifactId> -		</dependency--> -		 -		  		<!-- Adding monitoring module dependency automatically adds monitoring capabilities. -->  		<dependency>  			<groupId>MOA.id.server.modules</groupId>  			<artifactId>moa-id-module-monitoring</artifactId>  		</dependency> -  		<dependency>  			<groupId>MOA.id.server.modules</groupId>  			<artifactId>moa-id-module-saml1</artifactId>  		</dependency> -		<dependency> -			<groupId>MOA.id.server.modules</groupId> -			<artifactId>moa-id-module-openID</artifactId> -		</dependency> - 		<dependency> -			<groupId>MOA.id.server.modules</groupId> -    	<artifactId>moa-id-module-elga_mandate_service</artifactId> -		</dependency> - 		<dependency> -			<groupId>MOA.id.server.modules</groupId> -			<artifactId>moa-id-modul-citizencard_authentication</artifactId> -		</dependency> -		<dependency> -			<groupId>MOA.id.server.modules</groupId>				 -		 	<artifactId>moa-id-module-sl20_authentication</artifactId> -		 </dependency>		 - -		<dependency> -			<groupId>MOA.id.server.modules</groupId> -			<artifactId>moa-id-module-AT_eIDAS_connector</artifactId> -		</dependency>  - -			<!--dependency> -				<groupId>MOA.id.server.modules</groupId> -				<artifactId>moa-id-modules-federated_authentication</artifactId> -			</dependency-->  - -		<!--dependency> -			<groupId>MOA.id.server.modules</groupId> -			<artifactId>moa-id-module-ssoTransfer</artifactId> -			<version>${moa-id-version}</version> -		</dependency-->          <!-- transitive dependencies we don't want to include into the war -->  		<dependency> diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index 4d8843ead..1fd6b3695 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -74,7 +74,6 @@      <dependency>
      	<groupId>at.gv.egiz.components</groupId>
      	<artifactId>egiz-spring-api</artifactId>
 -    	<version>0.1</version>
      </dependency>
      <dependency>
 @@ -244,6 +243,10 @@  			<groupId>commons-discovery</groupId>
  			<artifactId>commons-discovery</artifactId>
  		</dependency> -->
 +		<dependency>
 +			<groupId>org.apache.commons</groupId>
 +    		<artifactId>commons-text</artifactId>
 +		</dependency>
   		<dependency>
  			<groupId>commons-fileupload</groupId>
  			<artifactId>commons-fileupload</artifactId>
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java index acf59cebf..25a508687 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataBuilder.java @@ -53,6 +53,7 @@ import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;  import at.gv.egiz.eaaf.core.exceptions.EAAFAuthenticationException;  import at.gv.egiz.eaaf.core.exceptions.EAAFBuilderException;  import at.gv.egiz.eaaf.core.exceptions.EAAFConfigurationException; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.exceptions.EAAFParserException;  import at.gv.egiz.eaaf.core.exceptions.EAAFStorageException;  import at.gv.egiz.eaaf.core.exceptions.XPathException; @@ -60,6 +61,7 @@ import at.gv.egiz.eaaf.core.impl.data.Pair;  import at.gv.egiz.eaaf.core.impl.idp.AuthenticationData;  import at.gv.egiz.eaaf.core.impl.idp.auth.builder.AbstractAuthenticationDataBuilder;  import at.gv.egiz.eaaf.core.impl.idp.auth.builder.BPKBuilder; +import at.gv.egiz.eaaf.core.impl.idp.builder.SimpleStringAttributeGenerator;  import at.gv.egiz.eaaf.core.impl.utils.XPathUtils;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSessionStorageConstants;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSessionWrapper; @@ -84,7 +86,6 @@ import at.gv.egovernment.moa.id.data.MISMandate;  import at.gv.egovernment.moa.id.data.MOAAuthenticationData;  import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateNaturalPersonSourcePinAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateNaturalPersonSourcePinTypeAttributeBuilder; -import at.gv.egovernment.moa.id.protocols.builder.attributes.SimpleStringAttributeGenerator;  import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;  import at.gv.egovernment.moa.id.storage.IAuthenticationSessionStoreage;  import at.gv.egovernment.moa.id.util.IdentityLinkReSigner; @@ -134,7 +135,7 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder  	}  	@Override -	public IAuthData buildAuthenticationData(IRequest pendingReq) throws EAAFAuthenticationException { +	protected IAuthData buildDeprecatedAuthData(IRequest pendingReq) throws EAAFException {  		try {  			return buildAuthenticationData(pendingReq,   					pendingReq.getSessionData(AuthenticationSessionWrapper.class), @@ -145,7 +146,6 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder  			throw new EAAFAuthenticationException("builder.11", new Object[]{e.getMessage()}, e);  		} -		  	}  	private IAuthData buildAuthenticationData(IRequest pendingReq,  @@ -216,7 +216,7 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder  			IOAAuthParameters oaParam, IRequest protocolRequest) throws BuildException, ConfigurationException, EAAFBuilderException {  		try {  			//generate basic authentication data -			generateBasicAuthData(authData, protocolRequest, session); +			generateDeprecatedBasicAuthData(authData, protocolRequest, session);  			//set Austrian eID demo-mode flag  			authData.setIseIDNewDemoMode(Boolean.parseBoolean( @@ -926,4 +926,18 @@ public class AuthenticationDataBuilder extends AbstractAuthenticationDataBuilder  			}  		}		  	} + +	@Override +	protected IAuthData getAuthDataInstance(IRequest pendingReq) throws EAAFException { +		throw new RuntimeException("This method is NOT supported by MOA-ID"); +		 +	} + +	@Override +	protected void buildServiceSpecificAuthenticationData(IAuthData authData, IRequest pendingReq) +			throws EAAFException { +		throw new RuntimeException("This method is NOT supported by MOA-ID"); +		 +	} +  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java index cadaec2a0..8b587c550 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java @@ -674,5 +674,17 @@ public class AuthenticationSession implements Serializable, IAuthenticationSessi  			result.put(GENERIC_PREFIX + el.getKey(), el.getValue());  		return Collections.unmodifiableMap(result); +	} + +	@Override +	public boolean isEIDProcess() { +		return false; +		 +	} + +	@Override +	public void setEIDProcess(boolean value) { +		Logger.warn("set E-ID process will be ignored!!!"); +		  	}	  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java index c054976ec..636871a09 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java @@ -261,7 +261,6 @@ public Date getSigningDateTime() {    /* (non-Javadoc)   * @see at.gv.egovernment.moa.id.auth.data.IVerifiyXMLSignatureResponse#setSigningDateTime(java.util.Date)   */ -@Override  public void setSigningDateTime(Date signingDateTime) {  	this.signingDateTime = signingDateTime;    } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/EvaluateSSOConsentsTaskImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/EvaluateSSOConsentsTaskImpl.java index 375b144d7..4fefaf17b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/EvaluateSSOConsentsTaskImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/EvaluateSSOConsentsTaskImpl.java @@ -112,7 +112,7 @@ public class EvaluateSSOConsentsTaskImpl extends AbstractAuthServletTask {  			requestStoreage.storePendingRequest(pendingReq);  			//redirect to auth. protocol finalization -			performRedirectToProtocolFinialization(pendingReq, response); +			performRedirectToProtocolFinialization(executionContext, pendingReq, request, response);  		} catch (MOAIDException e) {  			throw new TaskExecutionException(pendingReq, e.getMessage(), e); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateBKUSelectionFrameTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateBKUSelectionFrameTask.java index 98e632bd8..cc070f8fd 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateBKUSelectionFrameTask.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateBKUSelectionFrameTask.java @@ -73,7 +73,7 @@ public class GenerateBKUSelectionFrameTask extends AbstractAuthServletTask {  					SPSpecificGUIBuilderConfigurationWithDBLoad.VIEW_BKUSELECTION,   					GeneralProcessEngineSignalController.ENDPOINT_BKUSELECTION_EVALUATION); -			guiBuilder.build(response, config, "BKU-Selection form"); +			guiBuilder.build(request, response, config, "BKU-Selection form");  		} catch (GUIBuildException e) {	  			Logger.warn("Can not build GUI:'BKU-Selection'. Msg:" + e.getMessage()); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateSSOConsentEvaluatorFrameTask.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateSSOConsentEvaluatorFrameTask.java index 3c364e924..64c3721df 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateSSOConsentEvaluatorFrameTask.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/internal/tasks/GenerateSSOConsentEvaluatorFrameTask.java @@ -71,7 +71,7 @@ public class GenerateSSOConsentEvaluatorFrameTask extends AbstractAuthServletTas  					SPSpecificGUIBuilderConfigurationWithDBLoad.VIEW_SENDASSERTION,   					GeneralProcessEngineSignalController.ENDPOINT_SENDASSERTION_EVALUATION); -			guiBuilder.build(response, config, "SendAssertion-Evaluation"); +			guiBuilder.build(request, response, config, "SendAssertion-Evaluation");  			//Log consents evaluator event to revisionslog  			revisionsLogger.logEvent(pendingReq, MOAIDEventConstants.AUTHPROCESS_SSO_ASK_USER_START); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java index c66353846..32660a3db 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java @@ -176,7 +176,7 @@ public class VerifyXMLSignatureResponseParser {    public IVerifiyXMLSignatureResponse parseData() throws ParseException { -    IVerifiyXMLSignatureResponse respData=new VerifyXMLSignatureResponse(); +	  VerifyXMLSignatureResponse respData=new VerifyXMLSignatureResponse();      try { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GUILayoutBuilderServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GUILayoutBuilderServlet.java index 18aa93cc9..6803264dd 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GUILayoutBuilderServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GUILayoutBuilderServlet.java @@ -59,7 +59,7 @@ public class GUILayoutBuilderServlet extends AbstractController {  	@Autowired AuthConfiguration authConfig;  	@Autowired IRequestStorage requestStoreage; -	@Autowired IGUIFormBuilder formBuilder; +	@Autowired IGUIFormBuilder formBuilder;	  	public GUILayoutBuilderServlet() {  		super(); @@ -93,7 +93,7 @@ public class GUILayoutBuilderServlet extends AbstractController {  			}  			//build GUI component -			formBuilder.build(resp, config, MOAIDConstants.DEFAULT_CONTENT_TYPE_HTML_UTF8, "BKUDetection-Frame"); +			formBuilder.build(req, resp, config, MOAIDConstants.DEFAULT_CONTENT_TYPE_HTML_UTF8, "BKUDetection-Frame");  		} catch (Exception e) { @@ -124,7 +124,7 @@ public class GUILayoutBuilderServlet extends AbstractController {  						null);  			//build GUI component -			formBuilder.build(resp, config, "text/css; charset=UTF-8", "CSS-Form"); +			formBuilder.build(req, resp, config, "text/css; charset=UTF-8", "CSS-Form");  		} catch (Exception e) {  			Logger.warn("GUI ressource:'CSS' generation FAILED.", e); @@ -153,7 +153,7 @@ public class GUILayoutBuilderServlet extends AbstractController {  						GeneralProcessEngineSignalController.ENDPOINT_BKUSELECTION_EVALUATION);  			//build GUI component -			formBuilder.build(resp, config, "text/javascript; charset=UTF-8", "JavaScript"); +			formBuilder.build(req, resp, config, "text/javascript; charset=UTF-8", "JavaScript");  		} catch (Exception e) {  			Logger.warn("GUI ressource:'JavaScript' generation FAILED.", e); @@ -168,7 +168,7 @@ public class GUILayoutBuilderServlet extends AbstractController {  					req.getParameter(EAAFConstants.PARAM_HTTP_TARGET_PENDINGREQUESTID));  			if (MiscUtil.isNotEmpty(pendingReqID)) {		 -				IRequest pendingReq = requestStorage.getPendingRequest(pendingReqID); +				IRequest pendingReq = requestStoreage.getPendingRequest(pendingReqID);  				if (pendingReq != null) {  					Logger.trace("GUI-Layout builder: Pending-request:"  							+ pendingReqID + " found -> Build specific template"); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GeneralProcessEngineSignalController.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GeneralProcessEngineSignalController.java index 87325989a..09b18d9c6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GeneralProcessEngineSignalController.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GeneralProcessEngineSignalController.java @@ -31,6 +31,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  /** @@ -50,7 +51,7 @@ public class GeneralProcessEngineSignalController extends AbstractProcessEngineS  							 "/signalProcess"  			                },   			        method = {RequestMethod.POST, RequestMethod.GET}) -	public void performGenericAuthenticationProcess(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performGenericAuthenticationProcess(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java index c39d78d8b..b7970e4fd 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/IDPSingleLogOutServlet.java @@ -37,7 +37,9 @@ import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod;  import at.gv.egiz.eaaf.core.api.IRequest; +import at.gv.egiz.eaaf.core.api.gui.IGUIFormBuilder;  import at.gv.egiz.eaaf.core.api.idp.auth.IAuthenticationManager; +import at.gv.egiz.eaaf.core.api.idp.auth.services.IProtocolAuthenticationService;  import at.gv.egiz.eaaf.core.api.idp.slo.ISLOInformationContainer;  import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.exceptions.GUIBuildException; @@ -72,11 +74,13 @@ public class IDPSingleLogOutServlet extends AbstractController {  	@Autowired IAuthenticationManager authManager;  	@Autowired IAuthenticationSessionStoreage authenicationStorage;  	@Autowired SingleLogOutBuilder sloBuilder; +	@Autowired IProtocolAuthenticationService protAuthService; +	@Autowired(required=true) private IGUIFormBuilder guiBuilder;  	@RequestMapping(value = "/idpSingleLogout", method = {RequestMethod.GET})  	public void doGet(HttpServletRequest req, HttpServletResponse resp) -			    throws ServletException, IOException { +			    throws ServletException, IOException, EAAFException {  		Logger.debug("Receive IDP-initiated SingleLogOut");  		String authURL = HTTPUtils.extractAuthURLFromRequest(req); @@ -117,21 +121,21 @@ public class IDPSingleLogOutServlet extends AbstractController {  						null);  				if (MOAIDAuthConstants.SLOSTATUS_SUCCESS.equals(status)) -					config.putCustomParameter("successMsg", +					config.putCustomParameter(null, "successMsg",  							MOAIDMessageProvider.getInstance().getMessage("slo.00", null));  				else -					config.putCustomParameterWithOutEscaption("errorMsg",  +					config.putCustomParameterWithOutEscaption(null, "errorMsg",   							MOAIDMessageProvider.getInstance().getMessage("slo.01", null));			 -				guiBuilder.build(resp, config, "Single-LogOut GUI"); +				guiBuilder.build(req, resp, config, "Single-LogOut GUI");  			} catch (GUIBuildException e) { -				handleErrorNoRedirect(e, req, resp, false);	 +				protAuthService.handleErrorNoRedirect(e, req, resp, false);	  			} catch (MOADatabaseException e) { -				handleErrorNoRedirect(e, req, resp, false); +				protAuthService.handleErrorNoRedirect(e, req, resp, false);  			} catch (EAAFException e) { -				handleErrorNoRedirect(e, req, resp, false); +				protAuthService.handleErrorNoRedirect(e, req, resp, false);  			} @@ -154,7 +158,7 @@ public class IDPSingleLogOutServlet extends AbstractController {  				}  			} catch (Exception e) { -				handleErrorNoRedirect(e, req, resp, false); +				protAuthService.handleErrorNoRedirect(e, req, resp, false);  			}				 @@ -166,7 +170,7 @@ public class IDPSingleLogOutServlet extends AbstractController {  						SLOInformationContainer sloContainer = transactionStorage.get(restartProcess, SLOInformationContainer.class);  						if (sloContainer == null) {  							Logger.info("No Single LogOut processing information with ID: " + restartProcess); -							handleErrorNoRedirect(new MOAIDException("slo.03", null), req, resp, false); +							protAuthService.handleErrorNoRedirect(new MOAIDException("slo.03", null), req, resp, false);  							return;  						} @@ -233,10 +237,10 @@ public class IDPSingleLogOutServlet extends AbstractController {  								DefaultGUIFormBuilderConfiguration.VIEW_SINGLELOGOUT,   								null);					 -						config.putCustomParameterWithOutEscaption("errorMsg",  +						config.putCustomParameterWithOutEscaption(null, "errorMsg",   								MOAIDMessageProvider.getInstance().getMessage("slo.01", null));		                	 -						guiBuilder.build(resp, config, "Single-LogOut GUI"); +						guiBuilder.build(req, resp, config, "Single-LogOut GUI");  					} catch (GUIBuildException e) {  						e.printStackTrace(); @@ -251,10 +255,10 @@ public class IDPSingleLogOutServlet extends AbstractController {  					DefaultGUIFormBuilderConfiguration.VIEW_SINGLELOGOUT,   					null);	 -			config.putCustomParameter("successMsg",  +			config.putCustomParameter(null, "successMsg",   					MOAIDMessageProvider.getInstance().getMessage("slo.02", null));	 -			guiBuilder.build(resp, config, "Single-LogOut GUI"); +			guiBuilder.build(req, resp, config, "Single-LogOut GUI");  		} catch (GUIBuildException e) {  			e.printStackTrace(); 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 478462adb..abb19c6cf 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 @@ -122,9 +122,9 @@ public class RedirectServlet {  							authURL,   							DefaultGUIFormBuilderConfiguration.VIEW_REDIRECT,   							null); -					config.putCustomParameterWithOutEscaption(URL, StringEscapeUtils.escapeHtml(url)); -					config.putCustomParameter(TARGET, redirectTarget); -					guiBuilder.build(resp, config, "RedirectForm.html"); +					config.putCustomParameterWithOutEscaption(null, URL, StringEscapeUtils.escapeHtml(url)); +					config.putCustomParameter(null, TARGET, redirectTarget); +					guiBuilder.build(req, resp, config, "RedirectForm.html");  				} else if (MiscUtil.isNotEmpty(interIDP)) {  					//store IDP identifier and redirect to generate AuthRequst service					 @@ -153,10 +153,10 @@ public class RedirectServlet {  							authURL,   							DefaultGUIFormBuilderConfiguration.VIEW_REDIRECT,   							null); -					config.putCustomParameterWithOutEscaption(URL, StringEscapeUtils.escapeHtml(url)); -					config.putCustomParameter(TARGET, redirectTarget); +					config.putCustomParameterWithOutEscaption(null, URL, StringEscapeUtils.escapeHtml(url)); +					config.putCustomParameter(null, TARGET, redirectTarget); -					guiBuilder.build(resp, config, "RedirectForm.html"); +					guiBuilder.build(req, resp, config, "RedirectForm.html");  				} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/SimpleStringAttributeGenerator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/SimpleStringAttributeGenerator.java deleted file mode 100644 index 5daa71b1f..000000000 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/SimpleStringAttributeGenerator.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2014 Federal Chancellery Austria - * MOA-ID has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ -package at.gv.egovernment.moa.id.protocols.builder.attributes; - -import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator; - -/** - * @author tlenz - * - */ -public class SimpleStringAttributeGenerator implements IAttributeGenerator<String> { - -	/* (non-Javadoc) -	 * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildStringAttribute(java.lang.String, java.lang.String, java.lang.String) -	 */ -	@Override -	public String buildStringAttribute(String friendlyName, String name, String value) { -		return value; -		 -	}  - -	/* (non-Javadoc) -	 * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildIntegerAttribute(java.lang.String, java.lang.String, int) -	 */ -	@Override -	public String buildIntegerAttribute(String friendlyName, String name, int value) { -		return String.valueOf(value); -		 -	} - -	/* (non-Javadoc) -	 * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildLongAttribute(java.lang.String, java.lang.String, long) -	 */ -	@Override -	public String buildLongAttribute(String friendlyName, String name, long value) { -		return String.valueOf(value); -		 -	} - -	/* (non-Javadoc) -	 * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator#buildEmptyAttribute(java.lang.String, java.lang.String) -	 */ -	@Override -	public String buildEmptyAttribute(String friendlyName, String name) { -		return null; -	} - -} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java index 8229fb405..19b79d165 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/SingleLogOutBuilder.java @@ -223,11 +223,11 @@ public class SingleLogOutBuilder {  						DefaultGUIFormBuilderConfiguration.VIEW_SINGLELOGOUT,   						null); -				config.putCustomParameterWithOutEscaption("redirectURLs", sloReqList); -				config.putCustomParameterWithOutEscaption("timeoutURL", timeOutURL); -				config.putCustomParameter("timeout", String.valueOf(SLOTIMEOUT)); +				config.putCustomParameterWithOutEscaption(null, "redirectURLs", sloReqList); +				config.putCustomParameterWithOutEscaption(null, "timeoutURL", timeOutURL); +				config.putCustomParameter(null, "timeout", String.valueOf(SLOTIMEOUT)); -		        guiBuilder.build(httpResp, config, "Single-LogOut GUI"); +		        guiBuilder.build(httpReq, httpResp, config, "Single-LogOut GUI");  			} else { @@ -249,16 +249,16 @@ public class SingleLogOutBuilder {  			        if (sloContainer.getSloFailedOAs() == null ||   			        		sloContainer.getSloFailedOAs().size() == 0) {  			        	revisionsLogger.logEvent(sloContainer.getSessionID(), sloContainer.getTransactionID(), MOAIDEventConstants.AUTHPROCESS_SLO_ALL_VALID); -			        	config.putCustomParameter("successMsg",  +			        	config.putCustomParameter(null, "successMsg",   			        			MOAIDMessageProvider.getInstance().getMessage("slo.00", null));  			        } else {  			        	revisionsLogger.logEvent(sloContainer.getSessionID(), sloContainer.getTransactionID(), MOAIDEventConstants.AUTHPROCESS_SLO_NOT_ALL_VALID); -			        	config.putCustomParameterWithOutEscaption("errorMsg",  +			        	config.putCustomParameterWithOutEscaption(null, "errorMsg",   			        			MOAIDMessageProvider.getInstance().getMessage("slo.01", null));  			        } -			        guiBuilder.build(httpResp, config, "Single-LogOut GUI"); +			        guiBuilder.build(httpReq, httpResp, config, "Single-LogOut GUI");  				} @@ -285,11 +285,11 @@ public class SingleLogOutBuilder {  						null);  				revisionsLogger.logEvent(sloContainer.getSessionID(), sloContainer.getTransactionID(), MOAIDEventConstants.AUTHPROCESS_SLO_NOT_ALL_VALID); -				config.putCustomParameterWithOutEscaption("errorMsg",  +				config.putCustomParameterWithOutEscaption(null, "errorMsg",   	        			MOAIDMessageProvider.getInstance().getMessage("slo.01", null));  	        	try { -					guiBuilder.build(httpResp, config, "Single-LogOut GUI"); +					guiBuilder.build(httpReq, httpResp, config, "Single-LogOut GUI");  				} catch (GUIBuildException e1) {  					Logger.warn("Can not build GUI:'Single-LogOut'. Msg:" + e.getMessage()); diff --git a/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml b/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml index 02c683305..794b62477 100644 --- a/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml +++ b/id/server/idserverlib/src/main/resources/moaid.authentication.beans.xml @@ -21,36 +21,15 @@  	<context:component-scan base-package="at.gv.egovernment.moa.id.auth.servlet" />  	<context:component-scan base-package="at.gv.egovernment.moa.id.protocols" /> -  - 	<bean id="PVPIDPCredentialProvider" - 				class="at.gv.egovernment.moa.id.protocols.pvp2x.signer.IDPCredentialProvider" /> -  - 	<bean id="PVP2XProtocol" - 				class="at.gv.egovernment.moa.id.protocols.pvp2x.PVP2XProtocol"> -		<property name="pvpIDPCredentials"> -			<ref bean="PVPIDPCredentialProvider" /> -		</property> - 	</bean> -  -  	<bean id="pvpMetadataService" - 				class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.MetadataAction"> -		<property name="pvpIDPCredentials"> -			<ref bean="PVPIDPCredentialProvider" /> -		</property> - 	</bean> -  -   	<bean id="PVPAuthenticationRequestAction" - 				class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.AuthenticationAction"> -		<property name="pvpIDPCredentials"> -			<ref bean="PVPIDPCredentialProvider" /> -		</property> - 	</bean> -  +      	<bean id="MOAAuthnRequestValidator"   			class="at.gv.egovernment.moa.id.protocols.pvp2x.validation.AuthnRequestValidator" />  	<bean id="MOAID_AuthenticationManager"   				class="at.gv.egovernment.moa.id.moduls.AuthenticationManager"/> +	 +	<bean id="simplePendingReqIdGenerationStrategy"  +				class="at.gv.egiz.eaaf.core.impl.utils.SimplePendingRequestIdGenerationStrategy"/>  	<bean id="AuthenticationDataBuilder"   				class="at.gv.egovernment.moa.id.auth.builder.AuthenticationDataBuilder"/> diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthConfig.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthConfig.java index c0ae06a82..75f704045 100644 --- a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthConfig.java +++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthConfig.java @@ -433,24 +433,12 @@ public class DummyAuthConfig implements AuthConfiguration {  	}  	@Override -	public URI getConfigurationFilePath() { -		// TODO Auto-generated method stub -		return null; -	} - -	@Override  	public URI getConfigurationRootDirectory() {  		// TODO Auto-generated method stub  		return null;  	}  	@Override -	public Properties getFullConfigurationProperties() { -		// TODO Auto-generated method stub -		return null; -	} - -	@Override  	public ISPConfiguration getServiceProviderConfiguration(String arg0) throws EAAFConfigurationException {  		// TODO Auto-generated method stub  		return null; diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthSession.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthSession.java index ad68e089e..2d033d858 100644 --- a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthSession.java +++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthSession.java @@ -292,5 +292,15 @@ public class DummyAuthSession implements IAuthenticationSession, AuthProzessData  	} +	@Override +	public boolean isEIDProcess() { +		return false; +	} + +	@Override +	public void setEIDProcess(boolean value) { +		 +	} +  } diff --git a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthStorage.java b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthStorage.java index 846819868..d774cc8c3 100644 --- a/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthStorage.java +++ b/id/server/idserverlib/src/test/java/at/gv/egovernment/moa/id/config/auth/data/DummyAuthStorage.java @@ -20,7 +20,7 @@ import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.storage.IAuthenticationSessionStoreage;  public class DummyAuthStorage implements IAuthenticationSessionStoreage { - +   	@Override  	public AuthenticationSession createInternalSSOSession(IRequest target) throws MOADatabaseException, BuildException {  		// TODO Auto-generated method stub diff --git a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java index caf672d05..049c2324e 100644 --- a/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java +++ b/id/server/idserverlib/src/test/java/test/tlenz/simpletest.java @@ -1,6 +1,5 @@  package test.tlenz; -import java.io.ByteArrayInputStream;  import java.io.File;  import java.io.FileInputStream;  import java.io.InputStream; @@ -27,8 +26,6 @@ import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;  import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;  import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;  import iaik.asn1.ASN1; -import iaik.asn1.ASN1Object; -import iaik.utils.ASN1InputStream;  /*******************************************************************************   * Copyright 2014 Federal Chancellery Austria @@ -76,7 +73,8 @@ public class simpletest {  		try  {  			try { -				String test = "3082065406092A864886F70D010702A082064530820641020101310B300906052B240302010500300B06092A864886F70D010701A08204B3308204AF30820397A00302010202030E6CBE300D06092A864886F70D0101050500308197310B300906035504061302415431483046060355040A0C3F412D5472757374204765732E20662E20536963686572686569747373797374656D6520696D20656C656B74722E20446174656E7665726B65687220476D6248311E301C060355040B0C15612D7369676E2D5072656D69756D2D5369672D3032311E301C06035504030C15612D7369676E2D5072656D69756D2D5369672D3032301E170D3133303431303130343633335A170D3138303431303038343633335A305E310B30090603550406130241543116301406035504030C0D41726D696E20466973636865723110300E06035504040C0746697363686572310E300C060355042A0C0541726D696E311530130603550405130C3933373131343838363833343059301306072A8648CE3D020106082A8648CE3D03010703420004BF7ADE98B7CD89A0559F2BA9463454E08DBE3516A86BB7B8F4FDBB42FF24A03991AF5BD63D72197F63AB03C88260C31E4A9C17DB5E8681FCAE1D7CF90EB1ACD1A38202053082020130110603551D0E040A0408433A176E9B70B5CD300E0603551D0F0101FF0404030206C030130603551D23040C300A80084DDFE1FF4BD9C9DF301E0603551D1104173015811361726D696E40666973636865722E6F722E617430090603551D1304023000307B06082B06010505070101046F306D304206082B060105050730028636687474703A2F2F7777772E612D74727573742E61742F63657274732F612D7369676E2D5072656D69756D2D5369672D3032612E637274302706082B06010505073001861B687474703A2F2F6F6373702E612D74727573742E61742F6F63737030590603551D2004523050304406062A280011010B303A303806082B06010505070201162C687474703A2F2F7777772E612D74727573742E61742F646F63732F63702F612D7369676E2D5072656D69756D3008060604008B300101302706082B060105050701030101FF041830163008060604008E460101300A06082B06010505070B0130819A0603551D1F04819230818F30818CA08189A081868681836C6461703A2F2F6C6461702E612D74727573742E61742F6F753D612D7369676E2D5072656D69756D2D5369672D30322C6F3D412D54727573742C633D41543F63657274696669636174657265766F636174696F6E6C6973743F626173653F6F626A656374636C6173733D65696443657274696669636174696F6E417574686F72697479300D06092A864886F70D01010505000382010100352830958A68A260CFEFB1DA157C1452E22735A2BBC40F51A19D22481766537630C8E0C99CCE50F614E437ABFF943C7D6A69CCB0F79ED6A9B5356182DFBA095F3534671073D586F70B002CEF846E6D4447031AFBFE5D727D2A893688294D494C37454C187F15611EFDFA84D64D0C9D4E3EC9FF8A126A842EDB70D1F9AD497A1A11CC1363AAFD76D7412F21248B855363D3AB771C538D5610BC7F0FCEA359F33F5FA6A228E0539C16AF12A1B2DE608719CBE39C41AFE5BD0CDDC781F00C6A86B21BA252DD23DAEBB3B91CADE8278B330945CA11D4A77188197E744BA9B5288E9D4A4C7502D706D7CEA569D258E116E6ACE42F4C24449803076C30A7BABE26CAE7318201693082016502010130819F308197310B300906035504061302415431483046060355040A0C3F412D5472757374204765732E20662E20536963686572686569747373797374656D6520696D20656C656B74722E20446174656E7665726B65687220476D6248311E301C060355040B0C15612D7369676E2D5072656D69756D2D5369672D3032311E301C06035504030C15612D7369676E2D5072656D69756D2D5369672D303202030E6CBE300906052B240302010500A05F301806092A864886F70D010903310B06092A864886F70D010701301E06092A864886F70D0109053111180F32303137303631393130303130305A302306092A864886F70D010904311604149D0A3FDC7F8CED863952B468C927AC87CE227B68300E060A04007F0007010104010605000440002B459189C71E69CC13E111ED1F493D89681E0A815CCEA297AC3D76A48A75E7D11081F08D7A0FAA4210205D2B8A0A7A83E0F5211AD51BDE2581D4C4E400C06AA1000000000000000000000"; +				//String test = "3082065406092A864886F70D010702A082064530820641020101310B300906052B240302010500300B06092A864886F70D010701A08204B3308204AF30820397A00302010202030E6CBE300D06092A864886F70D0101050500308197310B300906035504061302415431483046060355040A0C3F412D5472757374204765732E20662E20536963686572686569747373797374656D6520696D20656C656B74722E20446174656E7665726B65687220476D6248311E301C060355040B0C15612D7369676E2D5072656D69756D2D5369672D3032311E301C06035504030C15612D7369676E2D5072656D69756D2D5369672D3032301E170D3133303431303130343633335A170D3138303431303038343633335A305E310B30090603550406130241543116301406035504030C0D41726D696E20466973636865723110300E06035504040C0746697363686572310E300C060355042A0C0541726D696E311530130603550405130C3933373131343838363833343059301306072A8648CE3D020106082A8648CE3D03010703420004BF7ADE98B7CD89A0559F2BA9463454E08DBE3516A86BB7B8F4FDBB42FF24A03991AF5BD63D72197F63AB03C88260C31E4A9C17DB5E8681FCAE1D7CF90EB1ACD1A38202053082020130110603551D0E040A0408433A176E9B70B5CD300E0603551D0F0101FF0404030206C030130603551D23040C300A80084DDFE1FF4BD9C9DF301E0603551D1104173015811361726D696E40666973636865722E6F722E617430090603551D1304023000307B06082B06010505070101046F306D304206082B060105050730028636687474703A2F2F7777772E612D74727573742E61742F63657274732F612D7369676E2D5072656D69756D2D5369672D3032612E637274302706082B06010505073001861B687474703A2F2F6F6373702E612D74727573742E61742F6F63737030590603551D2004523050304406062A280011010B303A303806082B06010505070201162C687474703A2F2F7777772E612D74727573742E61742F646F63732F63702F612D7369676E2D5072656D69756D3008060604008B300101302706082B060105050701030101FF041830163008060604008E460101300A06082B06010505070B0130819A0603551D1F04819230818F30818CA08189A081868681836C6461703A2F2F6C6461702E612D74727573742E61742F6F753D612D7369676E2D5072656D69756D2D5369672D30322C6F3D412D54727573742C633D41543F63657274696669636174657265766F636174696F6E6C6973743F626173653F6F626A656374636C6173733D65696443657274696669636174696F6E417574686F72697479300D06092A864886F70D01010505000382010100352830958A68A260CFEFB1DA157C1452E22735A2BBC40F51A19D22481766537630C8E0C99CCE50F614E437ABFF943C7D6A69CCB0F79ED6A9B5356182DFBA095F3534671073D586F70B002CEF846E6D4447031AFBFE5D727D2A893688294D494C37454C187F15611EFDFA84D64D0C9D4E3EC9FF8A126A842EDB70D1F9AD497A1A11CC1363AAFD76D7412F21248B855363D3AB771C538D5610BC7F0FCEA359F33F5FA6A228E0539C16AF12A1B2DE608719CBE39C41AFE5BD0CDDC781F00C6A86B21BA252DD23DAEBB3B91CADE8278B330945CA11D4A77188197E744BA9B5288E9D4A4C7502D706D7CEA569D258E116E6ACE42F4C24449803076C30A7BABE26CAE7318201693082016502010130819F308197310B300906035504061302415431483046060355040A0C3F412D5472757374204765732E20662E20536963686572686569747373797374656D6520696D20656C656B74722E20446174656E7665726B65687220476D6248311E301C060355040B0C15612D7369676E2D5072656D69756D2D5369672D3032311E301C06035504030C15612D7369676E2D5072656D69756D2D5369672D303202030E6CBE300906052B240302010500A05F301806092A864886F70D010903310B06092A864886F70D010701301E06092A864886F70D0109053111180F32303137303631393130303130305A302306092A864886F70D010904311604149D0A3FDC7F8CED863952B468C927AC87CE227B68300E060A04007F0007010104010605000440002B459189C71E69CC13E111ED1F493D89681E0A815CCEA297AC3D76A48A75E7D11081F08D7A0FAA4210205D2B8A0A7A83E0F5211AD51BDE2581D4C4E400C06AA1000000000000000000000"; +				String test = "308006092a864886f70d010702a0803080020101310f300d06096086480165030402010500308006092a864886f70d0107010000a08204953082049130820379a0030201020203133594300d06092a864886f70d0101050500308197310b300906035504061302415431483046060355040a0c3f412d5472757374204765732e20662e20536963686572686569747373797374656d6520696d20656c656b74722e20446174656e7665726b65687220476d6248311e301c060355040b0c15612d7369676e2d5072656d69756d2d5369672d3032311e301c06035504030c15612d7369676e2d5072656d69756d2d5369672d3032301e170d3134303530323039303734395a170d3139303530323039303734395a3060310b30090603550406130241543117301506035504030c0e4d6178204d75737465726d616e6e3113301106035504040c0a4d75737465726d616e6e310c300a060355042a0c034d6178311530130603550405130c3237333736313333323837363059301306072a8648ce3d020106082a8648ce3d03010703420004f7be38b8b730fd5ab3b62a54de3ca256f0f81c0b99116affce3326258448a23a1406207d6e9a8b217fee06466d43d7bed6cbf27c4e3049600576b66f8836a5f3a38201e5308201e130110603551d0e040a04084daa6d7cb1103d48300e0603551d0f0101ff0404030206c030130603551d23040c300a80084ddfe1ff4bd9c9df30090603551d1304023000307b06082b06010505070101046f306d304206082b060105050730028636687474703a2f2f7777772e612d74727573742e61742f63657274732f612d7369676e2d5072656d69756d2d5369672d3032612e637274302706082b06010505073001861b687474703a2f2f6f6373702e612d74727573742e61742f6f63737030590603551d2004523050304406062a280011010b303a303806082b06010505070201162c687474703a2f2f7777772e612d74727573742e61742f646f63732f63702f612d7369676e2d5072656d69756d3008060604008b300101302706082b060105050701030101ff041830163008060604008e460101300a06082b06010505070b0130819a0603551d1f04819230818f30818ca08189a081868681836c6461703a2f2f6c6461702e612d74727573742e61742f6f753d612d7369676e2d5072656d69756d2d5369672d30322c6f3d412d54727573742c633d41543f63657274696669636174657265766f636174696f6e6c6973743f626173653f6f626a656374636c6173733d65696443657274696669636174696f6e417574686f72697479300d06092a864886f70d01010505000382010100cd7da6254ccf3aec8479bddc2539ceb9ef591a1b51d8757bb6851d2974c909ada603ec18cf96da6a829ca71a6e55d84855f4d7e34776dc1b709c551e466069d6f3e1b805491ef86a9ac3e95ad871d3d382eab50e9268ea0b7312e40304d8215c6c42e5a101a73f839f47aa55ef47642c471d9e1852c6a67c5b0b6aab13d0e7340c0fdfc284a90ee1460baf17cab1d1eecfb513704fdd2460e65dd56fb644e19cc0a80883f31da1d4872809797964e6dc3bd6e09beb45ebc39abcb9356f564f24e2b01fdd9aa6b5353c8ee37f6938fc4b7de1480b4889c9a9b16d16a161db060fb0aa3681175209b7e48b9892c6de847eb76c5122f0543e637b7bc259a8507b883182010d3082010902010130819f308197310b300906035504061302415431483046060355040a0c3f412d5472757374204765732e20662e20536963686572686569747373797374656d6520696d20656c656b74722e20446174656e7665726b65687220476d6248311e301c060355040b0c15612d7369676e2d5072656d69756d2d5369672d3032311e301c06035504030c15612d7369676e2d5072656d69756d2d5369672d30320203133594300d06096086480165030402010500300b06072a8648ce3d0201050004463044022079c3a32116fba799d77df0458e88f1d3370251382030f8d54f136afbe6635c39022072dc7bc7411a96b47717817f9c851954f6b511a30e47944221acc985bab6502b00000000000000000";  				byte[] bytes = new byte[test.length()/2];  				for (int i=0; i<test.length()/2; i++) {  					bytes[i] = (byte) Integer.parseInt(test.substring(i*2, i*2+2), 16);					 diff --git a/id/server/moa-id-commons/pom.xml b/id/server/moa-id-commons/pom.xml index 7ec1ddf73..5d4e7468a 100644 --- a/id/server/moa-id-commons/pom.xml +++ b/id/server/moa-id-commons/pom.xml @@ -57,6 +57,10 @@      <dependencies>      		<dependency>      			<groupId>at.gv.egiz.eaaf</groupId> +  				<artifactId>eaaf_core_api</artifactId> +    		</dependency> +    		<dependency> +    			<groupId>at.gv.egiz.eaaf</groupId>  	  			<artifactId>eaaf-core</artifactId>      		</dependency>          		<dependency> diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IVerifiyXMLSignatureResponse.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IVerifiyXMLSignatureResponse.java index 08dfcae71..b08a49895 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IVerifiyXMLSignatureResponse.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IVerifiyXMLSignatureResponse.java @@ -156,6 +156,5 @@ public interface IVerifiyXMLSignatureResponse {  	Date getSigningDateTime(); -	void setSigningDateTime(Date signingDateTime);  }
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/X509Utils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/X509Utils.java deleted file mode 100644 index 026b1a5fb..000000000 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/X509Utils.java +++ /dev/null @@ -1,62 +0,0 @@ -package at.gv.egovernment.moa.id.commons.utils; - -import java.security.cert.X509Certificate; -import java.util.List; - -import javax.security.auth.x500.X500Principal; - -public class X509Utils { - -	  /** -	   * Sorts the Certificate Chain by IssuerDN and SubjectDN. The [0]-Element should be the Hostname, -	   * the last Element should be the Root Certificate. -	   *  -	   * @param certs -	   *          The first element must be the correct one. -	   * @return sorted Certificate Chain -	   */ -	  public static List<X509Certificate> sortCertificates( -		      List<X509Certificate> certs) -		  { -		    int length = certs.size(); -		    if (certs.size() <= 1) -		    { -		      return certs; -		    } - -		    for (X509Certificate cert : certs) -		    { -		      if (cert == null) -		      { -		        throw new NullPointerException(); -		      } -		    } - -		    for (int i = 0; i < length; i++) -		    { -		      boolean found = false; -		      X500Principal issuer = certs.get(i).getIssuerX500Principal(); -		      for (int j = i + 1; j < length; j++) -		      { -		        X500Principal subject = certs.get(j).getSubjectX500Principal(); -		        if (issuer.equals(subject)) -		        { -		          // sorting necessary? -		          if (i + 1 != j) -		          { -		            X509Certificate tmp = certs.get(i + 1); -		            certs.set(i + 1, certs.get(j)); -		            certs.set(j, tmp); -		          } -		          found = true; -		        } -		      } -		      if (!found) -		      { -		        break; -		      } -		    } - -		    return certs; -		} -} diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/MOAIDGuiBilderConfigurationFactory.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/MOAIDGuiBilderConfigurationFactory.java index f32b90eb0..2422fdfa8 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/MOAIDGuiBilderConfigurationFactory.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/MOAIDGuiBilderConfigurationFactory.java @@ -6,12 +6,13 @@ import java.net.URI;  import at.gv.egiz.eaaf.core.api.IRequest;  import at.gv.egiz.eaaf.core.api.gui.IGUIBuilderConfiguration;  import at.gv.egiz.eaaf.core.api.gui.IGUIBuilderConfigurationFactory; +import at.gv.egiz.eaaf.core.api.gui.IVelocityGUIBuilderConfiguration;  import at.gv.egovernment.moa.id.auth.frontend.builder.DefaultGUIFormBuilderConfiguration;  import at.gv.egovernment.moa.id.auth.frontend.builder.SPSpecificGUIBuilderConfigurationWithFileSystemLoad;  import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants;  public class MOAIDGuiBilderConfigurationFactory implements IGUIBuilderConfigurationFactory { - +   	@Override  	public IGUIBuilderConfiguration getDefaultErrorGUI(String authURL) {  		return new DefaultGUIFormBuilderConfiguration(authURL,  @@ -20,7 +21,7 @@ public class MOAIDGuiBilderConfigurationFactory implements IGUIBuilderConfigurat  	}  	@Override -	public IGUIBuilderConfiguration getSPSpecificSAML2PostConfiguration(IRequest pendingReq, String viewName, URI configRootDir)  +	public IVelocityGUIBuilderConfiguration getSPSpecificSAML2PostConfiguration(IRequest pendingReq, String viewName, URI configRootDir)   			throws MalformedURLException {  		return new SPSpecificGUIBuilderConfigurationWithFileSystemLoad(  				pendingReq,  diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java index c9dcd291a..5ef48526e 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/AbstractServiceProviderSpecificGUIFormBuilderConfiguration.java @@ -26,10 +26,12 @@ import java.io.ByteArrayInputStream;  import java.io.InputStream;  import java.util.HashMap;  import java.util.Map; +import java.util.Map.Entry;  import org.apache.commons.lang.StringEscapeUtils;  import at.gv.egiz.eaaf.core.api.IRequest; +import at.gv.egiz.eaaf.core.api.gui.IVelocityGUIBuilderConfiguration;  import at.gv.egiz.eaaf.core.impl.gui.AbstractGUIFormBuilderConfiguration;  import at.gv.egovernment.moa.id.auth.frontend.utils.FormBuildUtils;  import at.gv.egovernment.moa.id.commons.MOAIDAuthConstants; @@ -42,7 +44,8 @@ import at.gv.egovernment.moa.util.MiscUtil;   * @author tlenz   *   */ -public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration { +public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration  +	implements IVelocityGUIBuilderConfiguration {  	public static final String VIEW_TEMPLATE_MAINGUI_DIRECTORY = "mainGUI/"; @@ -116,59 +119,65 @@ public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration  	 * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#getViewParameters()  	 */  	@Override -	public final Map<String, Object> getSpecificViewParameters() { -		Map<String, Object> params =  new HashMap<String, Object>(); -		params.put(PARAM_BKU_ONLINE, IOAAuthParameters.THIRDBKU); -		params.put(PARAM_BKU_HANDY, IOAAuthParameters.HANDYBKU); -		params.put(PARAM_BKU_LOCAL, IOAAuthParameters.LOCALBKU); +	public final void putSpecificViewParameters() { + +		if (customParameters == null) +			customParameters = new HashMap<String, Object>(); +		 +		setViewParameter(null, PARAM_BKU_ONLINE, IOAAuthParameters.THIRDBKU); +		setViewParameter(null, PARAM_BKU_HANDY, IOAAuthParameters.HANDYBKU); +		setViewParameter(null, PARAM_BKU_LOCAL, IOAAuthParameters.LOCALBKU);  		if (pendingReq != null) {							 -			params.put(PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId())); +			setViewParameter(null, PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId()));  			//add service-provider specific GUI parameters  			IOAAuthParameters oaParam = pendingReq.getServiceProviderConfiguration(IOAAuthParameters.class);  			if (oaParam != null) { -				params.put(PARAM_OANAME, StringEscapeUtils.escapeHtml(oaParam.getFriendlyName())); +				setViewParameter(null, PARAM_OANAME, StringEscapeUtils.escapeHtml(oaParam.getFriendlyName()));  				//set BKU URLs  				if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.LOCALBKU))) -					params.put(PARAM_BKU_URL_LOCAL, oaParam.getBKUURL(IOAAuthParameters.LOCALBKU)); +					setViewParameter(null, PARAM_BKU_URL_LOCAL, oaParam.getBKUURL(IOAAuthParameters.LOCALBKU));  				else -					params.put(PARAM_BKU_URL_LOCAL, MOAIDAuthConstants.DEFAULT_BKU_HTTPS); +					setViewParameter(null, PARAM_BKU_URL_LOCAL, MOAIDAuthConstants.DEFAULT_BKU_HTTPS);  				if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.HANDYBKU))) -					params.put(PARAM_BKU_URL_HANDY, oaParam.getBKUURL(IOAAuthParameters.HANDYBKU)); +					setViewParameter(null, PARAM_BKU_URL_HANDY, oaParam.getBKUURL(IOAAuthParameters.HANDYBKU));  				if (MiscUtil.isNotEmpty(oaParam.getBKUURL(IOAAuthParameters.THIRDBKU))) -					params.put(PARAM_BKU_URL_THIRD, oaParam.getBKUURL(IOAAuthParameters.THIRDBKU)); +					setViewParameter(null, PARAM_BKU_URL_THIRD, oaParam.getBKUURL(IOAAuthParameters.THIRDBKU));  				//set eIDAS login information if requird  				if (oaParam.isShowStorkLogin()) { -					addCountrySelection(params, oaParam); -					params.put(PARAM_EIDAS_VISIBLE, ""); +					addCountrySelection(customParameters, oaParam); +					setViewParameter(null, PARAM_EIDAS_VISIBLE, "");  				} else { -					params.put(PARAM_COUNTRYLIST, "");					 -					params.put(PARAM_EIDAS_VISIBLE, FormBuildUtils.TEMPLATEVISIBLE); +					setViewParameter(null, PARAM_COUNTRYLIST, "");					 +					setViewParameter(null, PARAM_EIDAS_VISIBLE, FormBuildUtils.TEMPLATEVISIBLE);  				} -				FormBuildUtils.customiceLayoutBKUSelection(params, oaParam); +				FormBuildUtils.customiceLayoutBKUSelection(customParameters, oaParam);  			} else -				FormBuildUtils.defaultLayoutBKUSelection(params); +				FormBuildUtils.defaultLayoutBKUSelection(customParameters);  		} else {  			//add default GUI parameters -			FormBuildUtils.defaultLayoutBKUSelection(params); +			FormBuildUtils.defaultLayoutBKUSelection(customParameters);  		}  		//add additional custom parameters -		if (customParameters != null) -			params.putAll(customParameters); +		if (customParameters != null) { +			for (Entry<String, Object> el : customParameters.entrySet()) +				setViewParameter(null, el.getKey(), el.getValue()); +		} + -		return params; +  	}  	/** @@ -246,6 +255,8 @@ public abstract class AbstractServiceProviderSpecificGUIFormBuilderConfiguration  	public void setTemplateClasspahtDir(String templateClasspahtDir) {  		this.templateClasspahtDir = templateClasspahtDir;  	} +	 +	 diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/DefaultGUIFormBuilderConfiguration.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/DefaultGUIFormBuilderConfiguration.java index e59c19219..85d8413ae 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/DefaultGUIFormBuilderConfiguration.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/DefaultGUIFormBuilderConfiguration.java @@ -25,10 +25,12 @@ package at.gv.egovernment.moa.id.auth.frontend.builder;  import java.io.InputStream;  import java.util.HashMap;  import java.util.Map; +import java.util.Map.Entry;  import org.apache.commons.lang.StringEscapeUtils;  import at.gv.egiz.eaaf.core.api.IRequest; +import at.gv.egiz.eaaf.core.api.gui.IVelocityGUIBuilderConfiguration;  import at.gv.egiz.eaaf.core.api.gui.ModifyableGuiBuilderConfiguration;  import at.gv.egiz.eaaf.core.impl.gui.AbstractGUIFormBuilderConfiguration; @@ -38,7 +40,7 @@ import at.gv.egiz.eaaf.core.impl.gui.AbstractGUIFormBuilderConfiguration;   * @author tlenz    *   */ -public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration implements ModifyableGuiBuilderConfiguration { +public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderConfiguration implements ModifyableGuiBuilderConfiguration, IVelocityGUIBuilderConfiguration {  	public static final String VIEW_REDIRECT = "redirectForm.html";  	public static final String VIEW_ERRORMESSAGE = "error_message.html"; @@ -76,7 +78,7 @@ public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderCo  	 * @see at.gv.egovernment.moa.id.auth.frontend.builder.ModifyableGuiBuilderConfiguration#putCustomParameterWithOutEscaption(java.lang.String, java.lang.Object)  	 */  	@Override -	public void putCustomParameterWithOutEscaption(String key, Object value) { +	public void putCustomParameterWithOutEscaption(String group, String key, Object value) {  		if (customParameters == null)  			customParameters = new HashMap<String, Object>(); @@ -87,7 +89,7 @@ public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderCo  	 * @see at.gv.egovernment.moa.id.auth.frontend.builder.ModifyableGuiBuilderConfiguration#putCustomParameter(java.lang.String, java.lang.String)  	 */  	@Override -	public void putCustomParameter(String key, String value) { +	public void putCustomParameter(String group, String key, String value) {  		if (customParameters == null)  			customParameters = new HashMap<String, Object>(); @@ -99,16 +101,17 @@ public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderCo  	 * @see at.gv.egovernment.moa.id.auth.frontend.builder.IGUIBuilderConfiguration#getViewParameters()  	 */  	@Override -	public Map<String, Object> getSpecificViewParameters() { -		Map<String, Object> params =  new HashMap<String, Object>(); +	public void putSpecificViewParameters() {  		if (pendingReq != null) {							 -			params.put(PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId())); +			setViewParameter(null, PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq.getPendingRequestId()));  		}		 -		if (customParameters != null) -			params.putAll(customParameters); +		//add additional custom parameters +		if (customParameters != null) { +			for (Entry<String, Object> el : customParameters.entrySet()) +				setViewParameter(null, el.getKey(), el.getValue()); +		} -		return params;  	}  	/* (non-Javadoc) @@ -137,4 +140,6 @@ public class DefaultGUIFormBuilderConfiguration extends AbstractGUIFormBuilderCo  		return null;  	} + +  } diff --git a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/GUIFormBuilderImpl.java b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/GUIFormBuilderImpl.java index 43d499589..20f919d0c 100644 --- a/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/GUIFormBuilderImpl.java +++ b/id/server/moa-id-frontend-resources/src/main/java/at/gv/egovernment/moa/id/auth/frontend/builder/GUIFormBuilderImpl.java @@ -30,9 +30,9 @@ import java.net.URI;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.stereotype.Service; -import at.gv.egiz.eaaf.core.api.gui.IGUIBuilderConfiguration; +import at.gv.egiz.eaaf.core.api.gui.IVelocityGUIBuilderConfiguration;  import at.gv.egiz.eaaf.core.exceptions.GUIBuildException; -import at.gv.egiz.eaaf.core.impl.gui.AbstractGUIFormBuilderImpl; +import at.gv.egiz.eaaf.core.impl.gui.AbstractVelocityGUIFormBuilderImpl;  import at.gv.egovernment.moa.id.commons.api.AuthConfiguration;  import at.gv.egovernment.moa.logging.Logger; @@ -41,7 +41,7 @@ import at.gv.egovernment.moa.logging.Logger;   *   */  @Service("guiFormBuilder") -public class GUIFormBuilderImpl extends AbstractGUIFormBuilderImpl { +public class GUIFormBuilderImpl extends AbstractVelocityGUIFormBuilderImpl {  	private static final String CONFIG_HTMLTEMPLATES_DIR = "htmlTemplates/"; @@ -55,7 +55,7 @@ public class GUIFormBuilderImpl extends AbstractGUIFormBuilderImpl {  	}  	@Override -	protected InputStream getInternalTemplate(IGUIBuilderConfiguration config) throws GUIBuildException { +	protected InputStream getInternalTemplate(IVelocityGUIBuilderConfiguration config) throws GUIBuildException {  		String viewName = config.getViewName();  		//load specific template diff --git a/id/server/moa-id-spring-initializer/pom.xml b/id/server/moa-id-spring-initializer/pom.xml index d838bbe53..967a7cc7c 100644 --- a/id/server/moa-id-spring-initializer/pom.xml +++ b/id/server/moa-id-spring-initializer/pom.xml @@ -26,7 +26,6 @@  		<dependency>      	<groupId>at.gv.egiz.components</groupId>      	<artifactId>egiz-spring-api</artifactId> -    	<version>0.1</version>      </dependency>      <dependency> diff --git a/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAContextCloseHandler.java b/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAContextCloseHandler.java index 59779060f..c97cf2c08 100644 --- a/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAContextCloseHandler.java +++ b/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAContextCloseHandler.java @@ -37,7 +37,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;  import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;  import org.springframework.stereotype.Component; -import at.gv.egiz.eaaf.core.api.IDestroyableObject; +import at.gv.egiz.components.spring.api.IDestroyableObject;  import at.gv.egovernment.moa.logging.Logger;  /** diff --git a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/servlet/CitizenCardAuthProcessEngineSignalController.java b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/servlet/CitizenCardAuthProcessEngineSignalController.java index 582af517c..b63501a6f 100644 --- a/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/servlet/CitizenCardAuthProcessEngineSignalController.java +++ b/id/server/modules/moa-id-modul-citizencard_authentication/src/main/java/at/gv/egovernment/moa/id/auth/servlet/CitizenCardAuthProcessEngineSignalController.java @@ -31,6 +31,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  /** @@ -47,7 +48,7 @@ public class CitizenCardAuthProcessEngineSignalController extends AbstractProces  			 				 "/VerifyIdentityLink"             					},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  } diff --git a/id/server/modules/moa-id-module-AT_eIDAS_connector/pom.xml b/id/server/modules/moa-id-module-AT_eIDAS_connector/pom.xml index c340f90c9..481313035 100644 --- a/id/server/modules/moa-id-module-AT_eIDAS_connector/pom.xml +++ b/id/server/modules/moa-id-module-AT_eIDAS_connector/pom.xml @@ -43,7 +43,10 @@    		<groupId>MOA.id.server</groupId>    		<artifactId>moa-id-lib</artifactId>    	</dependency> -   +    <dependency> +    	<groupId>at.gv.egiz.components</groupId> +    	<artifactId>egiz-spring-api</artifactId> +    </dependency>    	<dependency>  		<groupId>org.springframework</groupId> diff --git a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthMetadataController.java b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthMetadataController.java index 4898c8f1e..b80e995ed 100644 --- a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthMetadataController.java +++ b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthMetadataController.java @@ -37,6 +37,7 @@ import org.springframework.web.bind.annotation.RequestMethod;  import com.google.common.net.MediaType; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.data.Pair;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egiz.eaaf.core.impl.utils.HTTPUtils; @@ -72,7 +73,7 @@ public class EidasCentralAuthMetadataController extends AbstractController {  	@RequestMapping(value = EidasCentralAuthConstants.ENDPOINT_METADATA,   					method = {RequestMethod.GET}) -	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		//check PublicURL prefix  		try {  			String authURL = HTTPUtils.extractAuthURLFromRequest(req);		 @@ -101,7 +102,7 @@ public class EidasCentralAuthMetadataController extends AbstractController {  		} catch (Exception e) {  			Logger.warn("Build federated-authentication PVP metadata FAILED.", e); -			handleErrorNoRedirect(e, req, resp, false); +			protAuthService.handleErrorNoRedirect(e, req, resp, false);  		} diff --git a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthSignalController.java b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthSignalController.java index 1486ef841..60a98213e 100644 --- a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthSignalController.java +++ b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/controller/EidasCentralAuthSignalController.java @@ -32,6 +32,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.id.auth.modules.eIDAScentralAuth.EidasCentralAuthConstants;  import at.gv.egovernment.moa.logging.Logger; @@ -55,7 +56,7 @@ public class EidasCentralAuthSignalController extends AbstractProcessEngineSigna  								EidasCentralAuthConstants.ENDPOINT_REDIRECT  							},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/utils/EidasCentralAuthMetadataProvider.java b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/utils/EidasCentralAuthMetadataProvider.java index cd3f1f788..3a4bcdc48 100644 --- a/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/utils/EidasCentralAuthMetadataProvider.java +++ b/id/server/modules/moa-id-module-AT_eIDAS_connector/src/main/java/at/gv/egovernment/moa/id/auth/modules/eIDAScentralAuth/utils/EidasCentralAuthMetadataProvider.java @@ -44,7 +44,7 @@ import org.opensaml.xml.parse.BasicParserPool;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.stereotype.Service; -import at.gv.egiz.eaaf.core.api.IDestroyableObject; +import at.gv.egiz.components.spring.api.IDestroyableObject;  import at.gv.egiz.eaaf.modules.pvp2.impl.metadata.MetadataFilterChain;  import at.gv.egiz.eaaf.modules.pvp2.impl.metadata.SimpleMetadataProvider;  import at.gv.egiz.eaaf.modules.pvp2.impl.validation.metadata.SchemaValidationFilter; diff --git a/id/server/modules/moa-id-module-eIDAS/pom.xml b/id/server/modules/moa-id-module-eIDAS/pom.xml index 5f4192645..6dabb938e 100644 --- a/id/server/modules/moa-id-module-eIDAS/pom.xml +++ b/id/server/modules/moa-id-module-eIDAS/pom.xml @@ -69,6 +69,12 @@    					</exclusion>    				</exclusions>    			</dependency> +  			 +  			<dependency> +    			<groupId>com.google.code.gson</groupId> +    			<artifactId>gson</artifactId> +    			<version>2.8.5</version> +			</dependency>    	<dependency>   		 <groupId>eu.eidas.extension.eID4U</groupId> @@ -76,6 +82,11 @@    		<version>${eID4U.module.version}</version>    	</dependency> +    <dependency> +    	<groupId>at.gv.egiz.components</groupId> +    	<artifactId>egiz-spring-api</artifactId> +    </dependency> +     	 <dependency>      	<groupId>com.google.code.findbugs</groupId>      	<artifactId>jsr305</artifactId> diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/AustrianAuthWitheID4UAuthenticationModulImpl.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/AustrianAuthWitheID4UAuthenticationModulImpl.java index d3aa7b4a0..6efa55ac8 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/AustrianAuthWitheID4UAuthenticationModulImpl.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/AustrianAuthWitheID4UAuthenticationModulImpl.java @@ -30,6 +30,7 @@ import at.gv.egiz.eaaf.core.api.IRequest;  import at.gv.egiz.eaaf.core.api.IRequestStorage;  import at.gv.egiz.eaaf.core.api.data.EAAFConstants;  import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext; +import at.gv.egiz.eaaf.core.exceptions.PendingReqIdValidationException;  import at.gv.egovernment.moa.id.auth.modules.internal.DefaultCitizenCardAuthModuleImpl;  import at.gv.egovernment.moa.id.protocols.eidas.EIDASData;  import at.gv.egovernment.moa.logging.Logger; @@ -72,11 +73,19 @@ public class AustrianAuthWitheID4UAuthenticationModulImpl extends DefaultCitizen  				Logger.warn("Process execution context contains NO 'pendingReqId'. Looks very suspect!");  			else { -				IRequest pendingReq = requestStore.getPendingRequest(pendingReqId); -				if (pendingReq != null && pendingReq instanceof EIDASData) { -					return "eID4UAttributCollectionAuthentication"; -				 +				IRequest pendingReq; +				try { +					pendingReq = requestStore.getPendingRequest(pendingReqId); +					if (pendingReq != null && pendingReq instanceof EIDASData) { +						return "eID4UAttributCollectionAuthentication"; +					 +					} +					 +				} catch (PendingReqIdValidationException e) { +					Logger.warn("Validation of PendingRequestId FAILED. Reason: " + e.getMessage()); +					  				} +				  			}  		}	 diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eID4UAPSignalServlet.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eID4UAPSignalServlet.java index c8c65ce76..65b6d1725 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eID4UAPSignalServlet.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eID4UAPSignalServlet.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.id.protocols.oauth20.OAuth20Constants;  import at.gv.egovernment.moa.id.util.CookieUtils; @@ -26,7 +27,7 @@ public class eID4UAPSignalServlet extends AbstractProcessEngineSignalController  	@RequestMapping(value = {eID4UConstants.HTTP_ENDPOINT_AP_CONSENT_RETURN },   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eIDASSignalServlet.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eIDASSignalServlet.java index 49d98ed33..70c86dad8 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eIDASSignalServlet.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/eIDASSignalServlet.java @@ -32,6 +32,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.logging.Logger; @@ -54,7 +55,7 @@ public class eIDASSignalServlet extends AbstractProcessEngineSignalController {  			 					"/eidas/sp/redirect"  							},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java index feeff6f84..2a401bb04 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java @@ -29,7 +29,7 @@ import org.opensaml.xml.XMLObject;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.stereotype.Service; -import at.gv.egiz.eaaf.core.api.IDestroyableObject; +import at.gv.egiz.components.spring.api.IDestroyableObject;  import at.gv.egiz.eaaf.core.api.IGarbageCollectorProcessing;  import at.gv.egiz.eaaf.core.api.IPostStartupInitializable;  import at.gv.egiz.eaaf.core.api.idp.IConfiguration; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/CollectAddtionalAttributesTask.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/CollectAddtionalAttributesTask.java index a58bc4f8d..d2ddc7ef8 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/CollectAddtionalAttributesTask.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/CollectAddtionalAttributesTask.java @@ -16,6 +16,7 @@ import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;  import at.gv.egiz.eaaf.core.api.storage.ITransactionStorage;  import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;  import at.gv.egiz.eaaf.core.impl.idp.auth.modules.AbstractAuthServletTask; +import at.gv.egiz.eaaf.core.impl.idp.builder.SimpleStringAttributeGenerator;  import at.gv.egiz.eaaf.core.impl.idp.builder.attributes.BPKAttributeBuilder;  import at.gv.egiz.eaaf.core.impl.utils.Random;  import at.gv.egiz.eid4u.api.attributes.Definitions; @@ -23,7 +24,6 @@ import at.gv.egovernment.moa.id.auth.builder.AuthenticationDataBuilder;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSessionWrapper;  import at.gv.egovernment.moa.id.auth.modules.eidas.eID4UConstants;  import at.gv.egovernment.moa.id.auth.modules.eidas.eid4u.utils.AttributeScopeMapper; -import at.gv.egovernment.moa.id.protocols.builder.attributes.SimpleStringAttributeGenerator;  import at.gv.egovernment.moa.id.protocols.eidas.EIDASData;  import at.gv.egovernment.moa.id.protocols.oauth20.OAuth20Constants;  import at.gv.egovernment.moa.id.protocols.oauth20.OAuth20SessionObject; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java index d2323d161..4a6f83e5f 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java @@ -36,9 +36,9 @@ import at.gv.egiz.eaaf.core.api.idp.IAuthData;  import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;  import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;  import at.gv.egiz.eaaf.core.impl.data.Pair; +import at.gv.egiz.eaaf.core.impl.idp.builder.SimpleStringAttributeGenerator;  import at.gv.egiz.eaaf.modules.pvp2.impl.builder.PVPAttributeBuilder;  import at.gv.egovernment.moa.id.data.IMOAAuthData; -import at.gv.egovernment.moa.id.protocols.builder.attributes.SimpleStringAttributeGenerator;  import at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute;  import at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASMetadata;  import at.gv.egovernment.moa.logging.Logger; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java index 7c9e66ba0..3996ad59c 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java @@ -48,7 +48,7 @@ import at.gv.egiz.eaaf.core.api.idp.IModulInfo;  import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;  import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.gui.velocity.VelocityProvider; -import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractAuthProtocolModulController; +import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;  import at.gv.egovernment.moa.id.advancedlogging.MOAIDEventConstants;  import at.gv.egovernment.moa.id.auth.modules.eidas.Constants; @@ -82,7 +82,7 @@ import eu.eidas.engine.exceptions.EIDASSAMLEngineException;   * @author tlenz   */  @Controller  -public class EIDASProtocol extends AbstractAuthProtocolModulController implements IModulInfo { +public class EIDASProtocol extends AbstractController implements IModulInfo {  	public static final String eIDAS_GENERIC_REQ_DATA_LEVELOFASSURENCE = "eIDAS_GENERIC_REQ_DATA_LEVELOFASSURENCE"; @@ -169,7 +169,7 @@ public class EIDASProtocol extends AbstractAuthProtocolModulController implement  		pendingReq.setAction(eIDASAuthenticationRequest.class.getName());  		//switch to session authentication -		performAuthentication(req, resp, pendingReq); +		protAuthService.performAuthentication(req, resp, pendingReq);  	}      /* diff --git a/id/server/modules/moa-id-module-elga_mandate_service/pom.xml b/id/server/modules/moa-id-module-elga_mandate_service/pom.xml index 3b5d1ba66..86cb4b1a7 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/pom.xml +++ b/id/server/modules/moa-id-module-elga_mandate_service/pom.xml @@ -34,6 +34,11 @@    			</dependency>    			<dependency> +    			<groupId>at.gv.egiz.components</groupId> +    			<artifactId>egiz-spring-api</artifactId> +    		</dependency> +  			 +  			<dependency>    				<groupId>MOA.id.server.modules</groupId>    				<artifactId>moa-id-modul-citizencard_authentication</artifactId>    				<exclusions> diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateMetadataController.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateMetadataController.java index d52cd750a..be7778abc 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateMetadataController.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateMetadataController.java @@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.RequestMethod;  import com.google.common.net.MediaType; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egiz.eaaf.core.impl.utils.HTTPUtils;  import at.gv.egiz.eaaf.modules.pvp2.api.IPVP2BasicConfiguration; @@ -67,7 +68,7 @@ public class ELGAMandateMetadataController extends AbstractController {  	@RequestMapping(value = "/sp/elga_mandate/metadata",   					method = {RequestMethod.GET}) -	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		//check PublicURL prefix  		try {  			String authURL = HTTPUtils.extractAuthURLFromRequest(req);		 @@ -94,7 +95,7 @@ public class ELGAMandateMetadataController extends AbstractController {  		} catch (Exception e) {  			Logger.warn("Build federated-authentication PVP metadata FAILED.", e); -			handleErrorNoRedirect(e, req, resp, false); +			protAuthService.handleErrorNoRedirect(e, req, resp, false);  		} diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateSignalController.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateSignalController.java index 503884edd..7effbc905 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateSignalController.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/controller/ELGAMandateSignalController.java @@ -32,6 +32,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.id.auth.modules.elgamandates.ELGAMandatesAuthConstants;  import at.gv.egovernment.moa.logging.Logger; @@ -55,7 +56,7 @@ public class ELGAMandateSignalController extends AbstractProcessEngineSignalCont  			 					"/sp/elga_mandate/redirect"  							},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/EvaluateMandateServiceTask.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/EvaluateMandateServiceTask.java index 5c1f8e7bb..9980c4884 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/EvaluateMandateServiceTask.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/EvaluateMandateServiceTask.java @@ -94,7 +94,7 @@ public class EvaluateMandateServiceTask extends AbstractAuthServletTask {  				requestStoreage.storePendingRequest(pendingReq);  				//redirect to protocol finalization -				performRedirectToProtocolFinialization(pendingReq, response); +				performRedirectToProtocolFinialization(executionContext, pendingReq, request, response);  			} diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/SelectMandateServiceTask.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/SelectMandateServiceTask.java index 854f9d2bb..1cd697c4e 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/SelectMandateServiceTask.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/tasks/SelectMandateServiceTask.java @@ -69,7 +69,7 @@ public class SelectMandateServiceTask extends AbstractAuthServletTask {  						GeneralProcessEngineSignalController.ENDPOINT_GENERIC,  						authConfig.getConfigurationRootDirectory().toURL().toString()); -				guiBuilder.build(response, config, "Mandate-Service selection"); +				guiBuilder.build(request, response, config, "Mandate-Service selection");  				Logger.debug("GUI for mandate-service selection is generated. Wait for user interaction ... "); diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java index 7bb98c719..aa4dfbe60 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java @@ -44,7 +44,7 @@ import org.opensaml.xml.parse.BasicParserPool;  import org.springframework.beans.factory.annotation.Autowired;  import org.springframework.stereotype.Service; -import at.gv.egiz.eaaf.core.api.IDestroyableObject; +import at.gv.egiz.components.spring.api.IDestroyableObject;  import at.gv.egiz.eaaf.modules.pvp2.impl.metadata.MetadataFilterChain;  import at.gv.egiz.eaaf.modules.pvp2.impl.metadata.SimpleMetadataProvider;  import at.gv.egiz.eaaf.modules.pvp2.impl.validation.metadata.SchemaValidationFilter; diff --git a/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java b/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java index 0952ba0a6..4f3c683ce 100644 --- a/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java +++ b/id/server/modules/moa-id-module-openID/src/main/java/at/gv/egovernment/moa/id/protocols/oauth20/protocol/OAuth20Protocol.java @@ -23,7 +23,7 @@ import at.gv.egiz.eaaf.core.api.idp.IModulInfo;  import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.exceptions.InvalidProtocolRequestException;  import at.gv.egiz.eaaf.core.exceptions.ProtocolNotActiveException; -import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractAuthProtocolModulController; +import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egiz.eaaf.core.impl.idp.controller.protocols.RequestImpl;  import at.gv.egovernment.moa.id.advancedlogging.MOAIDEventConstants;  import at.gv.egovernment.moa.id.auth.servlet.RedirectServlet; @@ -37,7 +37,7 @@ import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.MiscUtil;  @Controller -public class OAuth20Protocol extends AbstractAuthProtocolModulController implements IModulInfo { +public class OAuth20Protocol extends AbstractController implements IModulInfo {  	public static final String NAME = OAuth20Protocol.class.getName();  	public static final String PATH = "id_oauth20"; @@ -101,7 +101,7 @@ public class OAuth20Protocol extends AbstractAuthProtocolModulController impleme  				req.getRemoteAddr());  		//process request -		performAuthentication(req, resp, (RequestImpl)pendingReq); +		protAuthService.performAuthentication(req, resp, (RequestImpl)pendingReq);  	} @@ -135,7 +135,7 @@ public class OAuth20Protocol extends AbstractAuthProtocolModulController impleme  				req.getRemoteAddr());  		//process request -		performAuthentication(req, resp, (RequestImpl)pendingReq); +		protAuthService.performAuthentication(req, resp, (RequestImpl)pendingReq);  	} diff --git a/id/server/modules/moa-id-module-sl20_authentication/pom.xml b/id/server/modules/moa-id-module-sl20_authentication/pom.xml index 74aa6682b..6ad72adde 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/pom.xml +++ b/id/server/modules/moa-id-module-sl20_authentication/pom.xml @@ -45,6 +45,10 @@    		<groupId>MOA.id.server</groupId>    		<artifactId>moa-id-lib</artifactId>    	</dependency>  +	<dependency>  +		<groupId>at.gv.egiz.eaaf</groupId> +	  	<artifactId>eaaf_module_auth_sl20</artifactId>  +	</dependency>  	<dependency>      	<groupId>com.google.code.gson</groupId> @@ -65,6 +69,7 @@  </dependency> +  	<!-- Dependencies for testing -->    	<dependency>  		<groupId>org.springframework</groupId>  		<artifactId>spring-test</artifactId> @@ -75,6 +80,27 @@        <artifactId>junit</artifactId>        <scope>test</scope>      </dependency> +    <dependency> +		<groupId>xerces</groupId> +		<artifactId>xercesImpl</artifactId> +		<scope>test</scope> +	</dependency> +	<dependency> +		<groupId>xalan-bin-dist</groupId> +		<artifactId>xml-apis</artifactId> +		<scope>test</scope> +	</dependency> +	<dependency> +		<groupId>xalan-bin-dist</groupId> +		<artifactId>xalan</artifactId> +		<scope>test</scope> +	</dependency> +	<dependency> +		<groupId>xalan-bin-dist</groupId> +		<artifactId>serializer</artifactId> +		<scope>test</scope> +	</dependency> +        </dependencies>  </project> diff --git a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/SL20SignalServlet.java b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/SL20SignalServlet.java index a8c4a941e..a5a472ed8 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/SL20SignalServlet.java +++ b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/SL20SignalServlet.java @@ -31,6 +31,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.logging.Logger; @@ -54,7 +55,7 @@ public class SL20SignalServlet extends AbstractProcessEngineSignalController {  							  Constants.HTTP_ENDPOINT_RESUME  							},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		Logger.trace("Receive req. on SL2.0 servlet with pendingReqId ... ");		  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java index a02f86376..39364f062 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java +++ b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/JsonSecurityUtils.java @@ -32,6 +32,7 @@ import com.google.gson.JsonSyntaxException;  import at.gv.egiz.eaaf.core.impl.utils.FileUtils;  import at.gv.egiz.eaaf.core.impl.utils.KeyStoreUtils; +import at.gv.egiz.eaaf.core.impl.utils.X509Utils;  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.Constants;  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.data.VerificationResult;  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.exceptions.SL20Exception; @@ -40,11 +41,11 @@ import at.gv.egovernment.moa.id.auth.modules.sl20_auth.exceptions.SLCommandoBuil  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.exceptions.SLCommandoParserException;  import at.gv.egovernment.moa.id.commons.api.AuthConfiguration;  import at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException; -import at.gv.egovernment.moa.id.commons.utils.X509Utils;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Base64Utils;  import at.gv.egovernment.moa.util.MiscUtil; +  @Service  public class JsonSecurityUtils implements IJOSETools{ diff --git a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/verifier/QualifiedeIDVerifier.java b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/verifier/QualifiedeIDVerifier.java index 599a67dfd..8a288b9b8 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/verifier/QualifiedeIDVerifier.java +++ b/id/server/modules/moa-id-module-sl20_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/sl20/verifier/QualifiedeIDVerifier.java @@ -19,6 +19,7 @@ import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils;  import at.gv.egiz.eaaf.modules.pvp2.impl.utils.SAML2Utils;  import at.gv.egiz.eaaf.modules.pvp2.sp.impl.utils.AssertionAttributeExtractor;  import at.gv.egovernment.moa.id.auth.builder.SignatureVerificationUtils; +import at.gv.egovernment.moa.id.auth.exception.ValidateException;  import at.gv.egovernment.moa.id.auth.invoke.SignatureVerificationInvoker;  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.exceptions.SL20eIDDataValidationException;  import at.gv.egovernment.moa.id.auth.modules.sl20_auth.sl20.SL20Constants; @@ -112,7 +113,7 @@ public class QualifiedeIDVerifier {  			// date and time  			validateSigningDateTime(sigVerifyResult, authBlockExtractor); -		} catch ( Exception e) { +		} catch ( ValidateException e) {  			Logger.warn("Validation of eID information FAILED. ", e);  			throw new SL20eIDDataValidationException(new Object[] {  					SL20Constants.SL20_COMMAND_PARAM_EID_RESULT_IDL, diff --git a/id/server/modules/moa-id-module-sl20_authentication/src/test/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/dummydata/DummyAuthConfig.java b/id/server/modules/moa-id-module-sl20_authentication/src/test/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/dummydata/DummyAuthConfig.java index fe12e9b76..7b82eb253 100644 --- a/id/server/modules/moa-id-module-sl20_authentication/src/test/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/dummydata/DummyAuthConfig.java +++ b/id/server/modules/moa-id-module-sl20_authentication/src/test/java/at/gv/egovernment/moa/id/auth/modules/sl20_auth/dummydata/DummyAuthConfig.java @@ -400,11 +400,6 @@ public class DummyAuthConfig implements AuthConfiguration {  		return false;  	} -	@Override -	public URI getConfigurationFilePath() { -		// TODO Auto-generated method stub -		return null; -	}  	@Override  	public URI getConfigurationRootDirectory() { @@ -413,12 +408,6 @@ public class DummyAuthConfig implements AuthConfiguration {  	}  	@Override -	public Properties getFullConfigurationProperties() { -		// TODO Auto-generated method stub -		return null; -	} - -	@Override  	public ISPConfiguration getServiceProviderConfiguration(String arg0) throws EAAFConfigurationException {  		// TODO Auto-generated method stub  		return null; diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/data/SSOTransferAuthenticationData.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/data/SSOTransferAuthenticationData.java index e7280f847..efbfd8472 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/data/SSOTransferAuthenticationData.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/data/SSOTransferAuthenticationData.java @@ -393,5 +393,17 @@ public class SSOTransferAuthenticationData implements IMOAAuthData {  		return null;  	} +	@Override +	public String getEncryptedSourceId() { +		// TODO Auto-generated method stub +		return null; +	} + +	@Override +	public String getEncryptedSourceIdType() { +		// TODO Auto-generated method stub +		return null; +	} +  } diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferServlet.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferServlet.java index dc2baab7d..3ab826bcd 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferServlet.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferServlet.java @@ -158,7 +158,7 @@ public class SSOTransferServlet{  					DefaultGUIFormBuilderConfiguration.VIEW_SSO_SESSION_TRANSFER,   					null); -			internalCreateQRCodeForTransfer(resp, authURL,  +			internalCreateQRCodeForTransfer(req, resp, authURL,   					"123456", "/TestTransmitSSOSession", config);  		} catch (MOAIDException | MOADatabaseException e) { @@ -423,7 +423,7 @@ public class SSOTransferServlet{  				String ssoSessionId = authenticationSessionStorage.getInternalSSOSessionWithSSOID(ssoid);  				if(ssoSessionId != null) { -					internalCreateQRCodeForTransfer(resp, authURL,  +					internalCreateQRCodeForTransfer(req, resp, authURL,   							ssoSessionId,   							SSOTransferConstants.SERVLET_SSOTRANSFER_TO_SMARTPHONE, config); @@ -432,10 +432,10 @@ public class SSOTransferServlet{  			} -			config.putCustomParameter("errorMsg",  +			config.putCustomParameter(null, "errorMsg",   					"No active Single Sign-On session found! SSO Session transfer is not possible."); -			guiBuilder.build(resp, config, "SSO-Transfer-Module"); +			guiBuilder.build(req, resp, config, "SSO-Transfer-Module");  		} catch (MOAIDException | MOADatabaseException e) {  			e.printStackTrace(); @@ -518,7 +518,7 @@ public class SSOTransferServlet{  	} -	private void internalCreateQRCodeForTransfer(HttpServletResponse resp, String authURL, +	private void internalCreateQRCodeForTransfer(HttpServletRequest req, HttpServletResponse resp, String authURL,  			String moaSessionID, String servletEndPoint, DefaultGUIFormBuilderConfiguration config) throws Exception {  		SSOTransferContainer container = new SSOTransferContainer();							  		String token = Random.nextRandom(); @@ -572,12 +572,12 @@ public class SSOTransferServlet{  		ByteArrayOutputStream qrStream =   				QRCode.from(qrResult.toString()).to(ImageType.GIF).withSize(350, 350).stream();							  		String base64EncodedImage = Base64Utils.encode(qrStream.toByteArray());							 -		config.putCustomParameter("QRImage", base64EncodedImage); +		config.putCustomParameter(null, "QRImage", base64EncodedImage); -		config.putCustomParameterWithOutEscaption("successMsg", "Scan the QR-Code with your <i>SSO-Transfer App</i> to start the transfer operation."); +		config.putCustomParameterWithOutEscaption(null, "successMsg", "Scan the QR-Code with your <i>SSO-Transfer App</i> to start the transfer operation."); -		guiBuilder.build(resp, config, "SSO-Session Transfer-Module"); +		guiBuilder.build(req, resp, config, "SSO-Session Transfer-Module");  	} diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferSignalServlet.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferSignalServlet.java index bf215373d..169eb464b 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferSignalServlet.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/servlet/SSOTransferSignalServlet.java @@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod;  import at.gv.egiz.eaaf.core.api.IRequest; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egiz.eaaf.core.impl.utils.TransactionIDUtils;  import at.gv.egovernment.moa.id.commons.api.exceptions.MOAIDException; @@ -53,13 +54,13 @@ public class SSOTransferSignalServlet extends AbstractProcessEngineSignalControl  	@RequestMapping(value = {	"/SSOTransferSignalEndpoint"  							},   							method = {RequestMethod.POST, RequestMethod.GET}) -	public void performSSOTransfer(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performSSOTransfer(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	}  	@Override -	protected void signalProcessManagement(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	protected void signalProcessManagement(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		String pendingRequestID = StringEscapeUtils.escapeHtml(getPendingRequestId(req));  		IRequest pendingReq = null;  		try {	 diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/InitializeRestoreSSOSessionTask.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/InitializeRestoreSSOSessionTask.java index 921e3844b..7132eb08e 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/InitializeRestoreSSOSessionTask.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/InitializeRestoreSSOSessionTask.java @@ -85,7 +85,7 @@ public class InitializeRestoreSSOSessionTask extends AbstractAuthServletTask {  			Pair<DHPublicKeySpec, PrivateKey> dhKeyIDP = ssoTransferUtils.createSpecificKey(dhSpec.getP(), dhSpec.getG());  			String nonce = Random.nextLongRandom(); -			GUIUtils.buildSSOTransferGUI(guiBuilder, response, authURL,  +			GUIUtils.buildSSOTransferGUI(guiBuilder, request, response, authURL,   					pendingReq.getPendingRequestId(), nonce, dhKeyIDP.getF());  			//store DH params and nonce to pending-request diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/RestoreSSOSessionTask.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/RestoreSSOSessionTask.java index 90b74ebd7..d89d0bd2b 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/RestoreSSOSessionTask.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/task/RestoreSSOSessionTask.java @@ -267,7 +267,7 @@ public class RestoreSSOSessionTask extends AbstractAuthServletTask {  						}	 -						GUIUtils.buildSSOTransferGUI(guiBuilder, response,  +						GUIUtils.buildSSOTransferGUI(guiBuilder, request, response,   								authURL, pendingReq.getPendingRequestId(), nonce, container.getDhParams().getF());  					} catch (IOException | MOAIDException e) { diff --git a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/utils/GUIUtils.java b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/utils/GUIUtils.java index 1a4a9b80b..2814874bd 100644 --- a/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/utils/GUIUtils.java +++ b/id/server/modules/moa-id-module-ssoTransfer/src/main/java/at/gv/egovernment/moa/id/auth/modules/ssotransfer/utils/GUIUtils.java @@ -26,6 +26,7 @@ import java.io.ByteArrayOutputStream;  import java.io.IOException;  import javax.crypto.spec.DHPublicKeySpec; +import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import com.google.gson.JsonObject; @@ -50,9 +51,9 @@ public class GUIUtils {  	public static final int REFESH_TIMEOUT = 5 * 1000; //5 sec  	public static void buildSSOTransferGUI( -			IGUIFormBuilder guiBuilder, HttpServletResponse httpResp, +			IGUIFormBuilder guiBuilder, HttpServletRequest httpReq,HttpServletResponse httpResp,  			String authURL, String pendingReqID) throws ConfigurationException, IOException { -		buildSSOTransferGUI(guiBuilder, httpResp, authURL, pendingReqID, null, null); +		buildSSOTransferGUI(guiBuilder, httpReq, httpResp, authURL, pendingReqID, null, null);  	} @@ -66,7 +67,7 @@ public class GUIUtils {  	 * @throws ConfigurationException   	 * @throws IOException   	 */ -	public static void buildSSOTransferGUI(IGUIFormBuilder guiBuilder, HttpServletResponse response, String authURL, +	public static void buildSSOTransferGUI(IGUIFormBuilder guiBuilder, HttpServletRequest request, HttpServletResponse response, String authURL,  			String requestID, String nonce, DHPublicKeySpec dhKeyIDP) throws ConfigurationException, IOException {  		try {  			String containerURL = authURL @@ -103,12 +104,12 @@ public class GUIUtils {  					DefaultGUIFormBuilderConfiguration.VIEW_SSO_SESSION_TRANSFER,   					null); -			config.putCustomParameter("QRImage", base64EncodedImage);		 -			config.putCustomParameterWithOutEscaption("successMsg", "Select the SSO Session in your <i>SSO-Transfer App</i> and scan the QR-Code to start the process.");			 -			config.putCustomParameterWithOutEscaption("timeoutURL", containerURL); -			config.putCustomParameter("timeout", String.valueOf(REFESH_TIMEOUT)); +			config.putCustomParameter(null, "QRImage", base64EncodedImage);		 +			config.putCustomParameterWithOutEscaption(null, "successMsg", "Select the SSO Session in your <i>SSO-Transfer App</i> and scan the QR-Code to start the process.");			 +			config.putCustomParameterWithOutEscaption(null, "timeoutURL", containerURL); +			config.putCustomParameter(null, "timeout", String.valueOf(REFESH_TIMEOUT)); -			guiBuilder.build(response, config, "SSO-Transfer-Module"); +			guiBuilder.build(request, response, config, "SSO-Transfer-Module");  		} catch (GUIBuildException e) {  			Logger.warn("Can not build GUI:'BKU-Selection'. Msg:" + e.getMessage(), e); diff --git a/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthMetadataController.java b/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthMetadataController.java index 6a733adb8..8eb6e7b92 100644 --- a/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthMetadataController.java +++ b/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthMetadataController.java @@ -34,6 +34,7 @@ import org.springframework.web.bind.annotation.RequestMethod;  import com.google.common.net.MediaType; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egiz.eaaf.core.impl.utils.HTTPUtils;  import at.gv.egiz.eaaf.modules.pvp2.api.IPVP2BasicConfiguration; @@ -67,7 +68,7 @@ public class FederatedAuthMetadataController extends AbstractController {  	@RequestMapping(value = "/sp/federated/metadata",   					method = {RequestMethod.GET}) -	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void getSPMetadata(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		//check PublicURL prefix  		try {  			String authURL = HTTPUtils.extractAuthURLFromRequest(req);		 @@ -94,7 +95,7 @@ public class FederatedAuthMetadataController extends AbstractController {  		} catch (Exception e) {  			Logger.warn("Build federated-authentication PVP metadata FAILED.", e); -			handleErrorNoRedirect(e, req, resp, false); +			protAuthService.handleErrorNoRedirect(e, req, resp, false);  		} diff --git a/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthSignalController.java b/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthSignalController.java index 5edd36248..ae68261ee 100644 --- a/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthSignalController.java +++ b/id/server/modules/moa-id-modules-federated_authentication/src/main/java/at/gv/egovernment/moa/id/auth/modules/federatedauth/controller/FederatedAuthSignalController.java @@ -32,6 +32,7 @@ import org.springframework.stereotype.Controller;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestMethod; +import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractProcessEngineSignalController;  import at.gv.egovernment.moa.id.auth.modules.federatedauth.FederatedAuthConstants;  import at.gv.egovernment.moa.logging.Logger; @@ -55,7 +56,7 @@ public class FederatedAuthSignalController extends AbstractProcessEngineSignalCo  			 					"/sp/federated/redirect"  							},   					method = {RequestMethod.POST, RequestMethod.GET}) -	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException { +	public void performCitizenCardAuthentication(HttpServletRequest req, HttpServletResponse resp) throws IOException, EAAFException {  		signalProcessManagement(req, resp);  	} diff --git a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java index 7a9557baf..10ae63e17 100644 --- a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java +++ b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1AuthenticationServer.java @@ -53,6 +53,7 @@ import at.gv.egiz.eaaf.core.exceptions.EAAFBuilderException;  import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.impl.data.Pair;  import at.gv.egiz.eaaf.core.impl.idp.auth.builder.BPKBuilder; +import at.gv.egiz.eaaf.core.impl.idp.builder.SimpleStringAttributeGenerator;  import at.gv.egiz.eaaf.core.impl.utils.DOMUtils;  import at.gv.egiz.eaaf.core.impl.utils.Random;  import at.gv.egovernment.moa.id.auth.AuthenticationServer; @@ -78,7 +79,6 @@ import at.gv.egovernment.moa.id.protocols.builder.attributes.BPKListAttributeBui  import at.gv.egovernment.moa.id.protocols.builder.attributes.EncryptedBPKAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateNaturalPersonBPKListAttributeBuilder;  import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateNaturalPersonEncBPKListAttributeBuilder; -import at.gv.egovernment.moa.id.protocols.builder.attributes.SimpleStringAttributeGenerator;  import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants;  import at.gv.egovernment.moa.logging.Logger;  import at.gv.egovernment.moa.util.Base64Utils; diff --git a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java index 20c66d7a2..bb1f3c155 100644 --- a/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java +++ b/id/server/modules/moa-id-modules-saml1/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java @@ -42,7 +42,7 @@ import at.gv.egiz.eaaf.core.exceptions.EAAFException;  import at.gv.egiz.eaaf.core.exceptions.EAAFStorageException;  import at.gv.egiz.eaaf.core.exceptions.InvalidProtocolRequestException;  import at.gv.egiz.eaaf.core.exceptions.ProtocolNotActiveException; -import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractAuthProtocolModulController; +import at.gv.egiz.eaaf.core.impl.idp.controller.AbstractController;  import at.gv.egovernment.moa.id.advancedlogging.MOAIDEventConstants;  import at.gv.egovernment.moa.id.auth.exception.WrongParametersException;  import at.gv.egovernment.moa.id.auth.servlet.RedirectServlet; @@ -66,7 +66,7 @@ import at.gv.egovernment.moa.util.URLEncoder;   */   @Controller -public class SAML1Protocol extends AbstractAuthProtocolModulController implements IModulInfo { +public class SAML1Protocol extends AbstractController implements IModulInfo {  	@Autowired private SAML1AuthenticationServer saml1AuthServer; @@ -127,7 +127,7 @@ public class SAML1Protocol extends AbstractAuthProtocolModulController implement  		//preProcess SAML1 Request  		preProcess(req, resp, pendingReq); -		performAuthentication(req, resp, pendingReq); +		protAuthService.performAuthentication(req, resp, pendingReq);  		return;  	} | 
