diff options
Diffstat (limited to 'id/ConfigWebTool/src/main')
18 files changed, 1257 insertions, 962 deletions
| diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java index 39cd0980b..ef6c951c2 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java @@ -326,6 +326,11 @@ public class ConfigurationProvider {  		return configRootDir;  	} +	public boolean isMOAIDMode() { +		String result = props.getProperty("general.moaidmode.active", "true"); +		return Boolean.parseBoolean(result); +	} +	  	public String getMOAIDInstanceURL() {  		return props.getProperty("general.moaid.instance.url");  	} diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java index dc6e840d7..3929238f6 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/GeneralMOAIDConfig.java @@ -55,6 +55,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoT  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TrustAnchor;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyAuthBlock;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyIdentityLink; +import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;  import at.gv.egovernment.moa.id.configuration.Constants;  import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;  import at.gv.egovernment.moa.id.configuration.data.pvp2.ContactForm; @@ -88,6 +89,7 @@ public class GeneralMOAIDConfig {  	private String mandateURL = null;  	private String szrgwURL = null;  	private String elgaMandateServiceURL = null; +	private String eidSystemServiceURL = null;  	private boolean protocolActiveSAML1 = false;  	private boolean protocolActivePVP21 = true; @@ -131,7 +133,16 @@ public class GeneralMOAIDConfig {  	private String publicURLPrefix = null;  	private boolean virtualPublicURLPrefixEnabled = false; +	private boolean moaidMode = false; +	  	public GeneralMOAIDConfig() { +		try { +			this.moaidMode = ConfigurationProvider.getInstance().isMOAIDMode(); +		} catch (ConfigurationException e) { +			e.printStackTrace(); +			 +		} +				  		chainigmodelist = new HashMap<String, String>();  		 ChainingModeType[] values = ChainingModeType.values();  		 for (int i=0; i<values.length; i++) { @@ -165,6 +176,24 @@ public class GeneralMOAIDConfig {  			AuthComponentGeneral auth = config.getAuthComponentGeneral();  			//get ELGA mandate service URLs from configuration +			if (MiscUtil.isNotEmpty(config.getEidSystemServiceURLs())) { +				if (KeyValueUtils.isCSVValueString(config.getEidSystemServiceURLs())) +					eidSystemServiceURL = KeyValueUtils.normalizeCSVValueString(config.getEidSystemServiceURLs()); +				 +				else { +					if (config.getEidSystemServiceURLs().contains(KeyValueUtils.CSV_DELIMITER)) { +						//remove trailing comma if exist +						eidSystemServiceURL = config.getEidSystemServiceURLs().substring(0,  +								config.getEidSystemServiceURLs().indexOf(KeyValueUtils.CSV_DELIMITER)); +													 +					} else							 +						eidSystemServiceURL = config.getEidSystemServiceURLs(); +					 +				}			 +			} +			 +			 +			//get ELGA mandate service URLs from configuration  			if (MiscUtil.isNotEmpty(config.getElgaMandateServiceURLs())) {  				if (KeyValueUtils.isCSVValueString(config.getElgaMandateServiceURLs()))  					elgaMandateServiceURL = KeyValueUtils.normalizeCSVValueString(config.getElgaMandateServiceURLs()); @@ -184,35 +213,6 @@ public class GeneralMOAIDConfig {  			if (auth != null) { -				ForeignIdentities foreign = auth.getForeignIdentities(); -				 -				if (foreign != null) { -					ConnectionParameterClientAuthType connect_foreign = foreign.getConnectionParameter(); -					if (connect_foreign != null) { -						if (MiscUtil.isNotEmpty(connect_foreign.getURL())) { -							if (KeyValueUtils.isCSVValueString(connect_foreign.getURL())) -								szrgwURL = KeyValueUtils.normalizeCSVValueString(connect_foreign.getURL()); -							 -							else { -								if (connect_foreign.getURL().contains(KeyValueUtils.CSV_DELIMITER)) { -									//remove trailing comma if exist -									szrgwURL = connect_foreign.getURL().substring(0,  -											connect_foreign.getURL().indexOf(KeyValueUtils.CSV_DELIMITER)); -																 -								} else							 -									szrgwURL = connect_foreign.getURL(); -								 -							} -						 -						} -					} -					 -					STORK stork = foreign.getSTORK(); -					if (stork != null) { -						//TODO: add Stork config -						 -					}	 -				}  				GeneralConfiguration authgen = auth.getGeneralConfiguration();  				if (authgen != null) { @@ -239,9 +239,7 @@ public class GeneralMOAIDConfig {  						} else							  							publicURLPrefix = tmp;  					} -					 -					 -					 +										  					TimeOuts timeouts = authgen.getTimeOuts();  					if (timeouts != null) { @@ -253,56 +251,92 @@ public class GeneralMOAIDConfig {  							timeoutMOASessionUpdated = String.valueOf(timeouts.getMOASessionUpdated().longValue());  					} -				} -								 -				MOASP moaspss = auth.getMOASP(); -				if (moaspss != null) { -					ConnectionParameterClientAuthType con = moaspss.getConnectionParameter(); -					if (con != null) -						moaspssURL = con.getURL(); -					VerifyAuthBlock authblock = moaspss.getVerifyAuthBlock(); -					if (authblock != null) { -						moaspssAuthTrustProfile = authblock.getTrustProfileID(); -						moaspssAuthTrustProfileTest = authblock.getTestTrustProfileID(); -						 -						List<String> list = authblock.getVerifyTransformsInfoProfileID(); -						if (list.size() == 1)  -							moaspssAuthTransformations += list.get(0); -						else { -							for (String el : list) -								moaspssAuthTransformations += el + LINE_DELIMITER + "\n"; +					 +					//deactive STORK +					if (isMoaidMode()) { +						ForeignIdentities foreign = auth.getForeignIdentities();				 +						if (foreign != null) { +							ConnectionParameterClientAuthType connect_foreign = foreign.getConnectionParameter(); +							if (connect_foreign != null) { +								if (MiscUtil.isNotEmpty(connect_foreign.getURL())) { +									if (KeyValueUtils.isCSVValueString(connect_foreign.getURL())) +										szrgwURL = KeyValueUtils.normalizeCSVValueString(connect_foreign.getURL()); +									 +									else { +										if (connect_foreign.getURL().contains(KeyValueUtils.CSV_DELIMITER)) { +											//remove trailing comma if exist +											szrgwURL = connect_foreign.getURL().substring(0,  +													connect_foreign.getURL().indexOf(KeyValueUtils.CSV_DELIMITER)); +																		 +										} else							 +											szrgwURL = connect_foreign.getURL(); +										 +									} +								 +								} +							} +							 +							STORK stork = foreign.getSTORK(); +							if (stork != null) { +								//TODO: add Stork config +								 +							}	  						}  					} -					VerifyIdentityLink idl = moaspss.getVerifyIdentityLink(); -					if (idl != null) { -						moaspssIdlTrustProfile = idl.getTrustProfileID(); -						moaspssIdlTrustProfileTest = idl.getTestTrustProfileID(); -					}  				} -				 -				OnlineMandates mandates = auth.getOnlineMandates(); -				if (mandates != null)  { -					ConnectionParameterClientAuthType con = mandates.getConnectionParameter(); -					if (con != null) { -						if (MiscUtil.isNotEmpty(con.getURL())) { -							if (KeyValueUtils.isCSVValueString(con.getURL())) -								mandateURL = KeyValueUtils.normalizeCSVValueString(con.getURL()); +					 +				if (isMoaidMode()) { +					MOASP moaspss = auth.getMOASP(); +					if (moaspss != null) { +						ConnectionParameterClientAuthType con = moaspss.getConnectionParameter(); +						if (con != null) +							moaspssURL = con.getURL(); +						 +						VerifyAuthBlock authblock = moaspss.getVerifyAuthBlock(); +						if (authblock != null) { +							moaspssAuthTrustProfile = authblock.getTrustProfileID(); +							moaspssAuthTrustProfileTest = authblock.getTestTrustProfileID(); +							List<String> list = authblock.getVerifyTransformsInfoProfileID(); +							if (list.size() == 1)  +								moaspssAuthTransformations += list.get(0);  							else { -								if (con.getURL().contains(KeyValueUtils.CSV_DELIMITER)) { -									//remove trailing comma if exist -									mandateURL = con.getURL().substring(0,  -											con.getURL().indexOf(KeyValueUtils.CSV_DELIMITER)); -																 -								} else							 -									mandateURL = con.getURL(); -								 +								for (String el : list) +									moaspssAuthTransformations += el + LINE_DELIMITER + "\n";  							} +						} +						VerifyIdentityLink idl = moaspss.getVerifyIdentityLink(); +						if (idl != null) { +							moaspssIdlTrustProfile = idl.getTrustProfileID(); +							moaspssIdlTrustProfileTest = idl.getTestTrustProfileID(); +						} +					} +					 +					OnlineMandates mandates = auth.getOnlineMandates(); +					if (mandates != null)  { +						ConnectionParameterClientAuthType con = mandates.getConnectionParameter(); +						if (con != null) { +							if (MiscUtil.isNotEmpty(con.getURL())) { +								if (KeyValueUtils.isCSVValueString(con.getURL())) +									mandateURL = KeyValueUtils.normalizeCSVValueString(con.getURL()); +								 +								else { +									if (con.getURL().contains(KeyValueUtils.CSV_DELIMITER)) { +										//remove trailing comma if exist +										mandateURL = con.getURL().substring(0,  +												con.getURL().indexOf(KeyValueUtils.CSV_DELIMITER)); +																	 +									} else							 +										mandateURL = con.getURL(); +									 +								} +							 +							} +																			  						} -																		  					}  				} @@ -330,9 +364,12 @@ public class GeneralMOAIDConfig {  					} -					OAuth oauth = protocols.getOAuth(); -					if (oauth != null) { -						protocolActiveOAuth = oauth.isIsActive(); +					if (isMoaidMode()) { +						OAuth oauth = protocols.getOAuth(); +						if (oauth != null) { +							protocolActiveOAuth = oauth.isIsActive(); +							 +						}  					} @@ -361,73 +398,79 @@ public class GeneralMOAIDConfig {  							pvp2OrgName = org.getName();  							pvp2OrgURL = org.getURL();  						} -					}	 +					} +					  				} -				SecurityLayer seclayer = auth.getSecurityLayer(); -				if (seclayer != null) { -					List<TransformsInfoType> list = seclayer.getTransformsInfo(); +				if (isMoaidMode()) { +					SecurityLayer seclayer = auth.getSecurityLayer(); +					if (seclayer != null) { +						List<TransformsInfoType> list = seclayer.getTransformsInfo(); +						 +						for (TransformsInfoType el : list) { +							fileUploadFileName.add(el.getFilename()); +						} +					} -					for (TransformsInfoType el : list) { -						fileUploadFileName.add(el.getFilename()); +					SSO sso = auth.getSSO(); +					if (sso != null) { +						ssoFriendlyName = sso.getFriendlyName(); +						 +	//					IdentificationNumber idl = sso.getIdentificationNumber(); +	//					if (idl != null)  +	//						ssoIdentificationNumber = idl.getValue(); +						 +						//INFO: only for backup +						if (MiscUtil.isEmpty(publicURLPrefix)) +							publicURLPrefix = sso.getPublicURL(); +						 +						ssoSpecialText = sso.getSpecialText(); +						 +						if (MiscUtil.isNotEmpty(sso.getTarget()) && +								sso.getTarget().startsWith(Constants.PREFIX_WPBK)) { +							ssoTarget = sso.getTarget().substring(Constants.PREFIX_WPBK.length()). +									replace("+", ""); +							 +						} else					 +							ssoTarget = sso.getTarget(); +						  					}  				} -				SSO sso = auth.getSSO(); -				if (sso != null) { -					ssoFriendlyName = sso.getFriendlyName(); -					 -//					IdentificationNumber idl = sso.getIdentificationNumber(); -//					if (idl != null)  -//						ssoIdentificationNumber = idl.getValue(); -					 -					//INFO: only for backup -					if (MiscUtil.isEmpty(publicURLPrefix)) -						publicURLPrefix = sso.getPublicURL(); -					 -					ssoSpecialText = sso.getSpecialText(); -					 -					if (MiscUtil.isNotEmpty(sso.getTarget()) && -							sso.getTarget().startsWith(Constants.PREFIX_WPBK)) { -						ssoTarget = sso.getTarget().substring(Constants.PREFIX_WPBK.length()). -								replace("+", ""); +				ChainingModes modes = config.getChainingModes(); +				if (modes != null) { +					ChainingModeType defaultmode = modes.getSystemDefaultMode(); +					if (defaultmode != null) { -					} else					 -						ssoTarget = sso.getTarget(); +						defaultchainigmode = defaultmode.value(); +						 +					} +					List<TrustAnchor> trustanchor = modes.getTrustAnchor(); +					if (trustanchor != null) { +						//TODO: set addional trust anchors!!!! +					}  				} -			} -			 -			ChainingModes modes = config.getChainingModes(); -			if (modes != null) { -				ChainingModeType defaultmode = modes.getSystemDefaultMode(); -				if (defaultmode != null) { -					 -					defaultchainigmode = defaultmode.value(); -					 +				 +				DefaultBKUs defaultbkus = config.getDefaultBKUs(); +				if (defaultbkus != null) { +					defaultBKUHandy = defaultbkus.getHandyBKU(); +					defaultBKULocal = defaultbkus.getLocalBKU(); +					defaultBKUOnline = defaultbkus.getOnlineBKU();  				} -				List<TrustAnchor> trustanchor = modes.getTrustAnchor(); -				if (trustanchor != null) { -					//TODO: set addional trust anchors!!!! +				SLRequestTemplates slreq = config.getSLRequestTemplates(); +				if (slreq != null) { +					SLRequestTemplateHandy = slreq.getHandyBKU(); +					SLRequestTemplateLocal = slreq.getLocalBKU(); +					SLRequestTemplateOnline = slreq.getOnlineBKU();  				} +			  			}  			trustedCACerts = config.getTrustedCACertificates(); -			DefaultBKUs defaultbkus = config.getDefaultBKUs(); -			if (defaultbkus != null) { -				defaultBKUHandy = defaultbkus.getHandyBKU(); -				defaultBKULocal = defaultbkus.getLocalBKU(); -				defaultBKUOnline = defaultbkus.getOnlineBKU(); -			} -			 -			SLRequestTemplates slreq = config.getSLRequestTemplates(); -			if (slreq != null) { -				SLRequestTemplateHandy = slreq.getHandyBKU(); -				SLRequestTemplateLocal = slreq.getLocalBKU(); -				SLRequestTemplateOnline = slreq.getOnlineBKU(); -			} +  		}   	} @@ -1099,10 +1142,26 @@ public class GeneralMOAIDConfig {  			this.elgaMandateServiceURL = elgaMandateServiceURL;  	} -	 -	 -	 -	 +	/** +	 * @return the eidSystemServiceURL +	 */ +	public String getEidSystemServiceURL() { +		return eidSystemServiceURL; +	} + +	public boolean isMoaidMode() { +		return moaidMode; +	} + +	/** +	 * @param eidSystemServiceURL the E-ID Service URL to set +	 */ +	public void setEidSystemServiceURL(String eidSystemServiceURL) { +		if (MiscUtil.isNotEmpty(eidSystemServiceURL)) +			this.eidSystemServiceURL = KeyValueUtils.removeAllNewlineFromString(eidSystemServiceURL); +		else +			this.eidSystemServiceURL = eidSystemServiceURL; +	}  } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java index e896bb80b..b3db074a2 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAAuthenticationData.java @@ -66,9 +66,11 @@ public class OAAuthenticationData implements IOnlineApplicationData {  	private List<String> misServicesList = new ArrayList<String>();  	private List<String> elgaServicesList = new ArrayList<String>();  	private List<String> szrgwServicesList = new ArrayList<String>(); +	private List<String> eidServicesList = new ArrayList<String>();  	private String misServiceSelected = null;  	private String elgaServiceSelected = null;	  	private String szrgwServiceSelected = null; +	private String eidServiceSelected = null;  	private boolean calculateHPI = false; @@ -90,10 +92,20 @@ public class OAAuthenticationData implements IOnlineApplicationData {  	private boolean sl20Active = false;  	private String sl20EndPoints = null; +	private boolean isMoaidMode = false; +	  	/** +	 * @param isMoaidMode   	 *   	 */  	public OAAuthenticationData() { +		try { +			this.isMoaidMode = ConfigurationProvider.getInstance().isMOAIDMode(); +		} catch (ConfigurationException e) { +			e.printStackTrace(); +			 +		} +		  		 keyBoxIdentifierList = new HashMap<String, String>();  		 MOAKeyBoxSelector[] values = MOAKeyBoxSelector.values();  		 for (int i=0; i<values.length; i++) { @@ -105,18 +117,27 @@ public class OAAuthenticationData implements IOnlineApplicationData {  		 try {				  			 MOAIDConfiguration dbconfig = ConfigurationProvider.getInstance().getDbRead().getMOAIDConfiguration(); -				 			  -			 try { -				 elgaServicesList = KeyValueUtils.getListOfCSVValues(dbconfig.getElgaMandateServiceURLs()); -				 misServicesList = KeyValueUtils.getListOfCSVValues( -						 dbconfig.getAuthComponentGeneral().getOnlineMandates().getConnectionParameter().getURL()); -			 } catch (NullPointerException e) {} -								 +				 +			 if (this.isMoaidMode) { +				 try { +					 elgaServicesList = KeyValueUtils.getListOfCSVValues(dbconfig.getElgaMandateServiceURLs()); +					 misServicesList = KeyValueUtils.getListOfCSVValues( +							 dbconfig.getAuthComponentGeneral().getOnlineMandates().getConnectionParameter().getURL()); +				 } catch (NullPointerException e) {} +									 +				 try { +					 szrgwServicesList = KeyValueUtils.getListOfCSVValues( +							 dbconfig.getAuthComponentGeneral().getForeignIdentities().getConnectionParameter().getURL()); +				 } catch (NullPointerException e) {} +				  +			 } +			  +			   			 try { -				 szrgwServicesList = KeyValueUtils.getListOfCSVValues( -						 dbconfig.getAuthComponentGeneral().getForeignIdentities().getConnectionParameter().getURL()); +				 eidServicesList = KeyValueUtils.getListOfCSVValues(dbconfig.getEidSystemServiceURLs());  			 } catch (NullPointerException e) {} +			   		} catch (ConfigurationException e) {  			log.error("MOA-ID-Configuration initialization FAILED.", e); @@ -151,7 +172,8 @@ public class OAAuthenticationData implements IOnlineApplicationData {  	public List<String> parse(OnlineApplication dbOA, AuthenticatedUser authUser, HttpServletRequest request) {  		keyBoxIdentifier = dbOA.getKeyBoxIdentifier().value(); -		szrgwServiceSelected = dbOA.getSelectedSZRGWServiceURL(); +		szrgwServiceSelected = dbOA.getSelectedSZRGWServiceURL();		 +		eidServiceSelected = dbOA.getSelectedEIDServiceURL();          AuthComponentOA oaauth = dbOA.getAuthComponentOA();  		if (oaauth != null) { @@ -302,6 +324,10 @@ public class OAAuthenticationData implements IOnlineApplicationData {          if (MiscUtil.isNotEmpty(getSzrgwServiceSelected()))          	dbOA.setSelectedSZRGWServiceURL(getSzrgwServiceSelected()); +         +        if (MiscUtil.isNotEmpty(getEidServiceSelected())) +        	dbOA.setSelectedEIDServiceURL(getEidServiceSelected()); +                  if (authUser.isAdmin()) {              //store BKU-URLs @@ -800,7 +826,18 @@ public class OAAuthenticationData implements IOnlineApplicationData {  		return szrgwServicesList;  	} +	public List<String> getEidServicesList() { +		return eidServicesList; +	} + +	public String getEidServiceSelected() { +		return eidServiceSelected; +	} +	public void setEidServiceSelected(String eidServiceSelected) { +		this.eidServiceSelected = eidServiceSelected; +	} +  	public boolean isSl20Active() {  		return sl20Active;  	} @@ -820,7 +857,9 @@ public class OAAuthenticationData implements IOnlineApplicationData {  		else  			this.sl20EndPoints = sl20EndPoints;  	} + +	public boolean isMoaidMode() { +		return isMoaidMode; +	} -	 -	  } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java index b2671302c..84516c73f 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OATargetConfiguration.java @@ -61,6 +61,7 @@ public class OATargetConfiguration implements IOnlineApplicationData {  	private String foreignbPKTargets = null;  	private String additionalbPKTargets = null;  	private boolean eidDemoActive = false; +  private boolean eidProxyActive = false;  	public OATargetConfiguration() {  		 targetList = TargetValidator.getListOfTargets(); @@ -187,7 +188,7 @@ public class OATargetConfiguration implements IOnlineApplicationData {  		//parse 'Austrian eID mode'  flag  		eidDemoActive = dbOA.getIseIDDemoModeActive(); -		 +		eidProxyActive = dbOA.getIseIDProxyModeActive();  		return null;  	} @@ -301,6 +302,7 @@ public class OATargetConfiguration implements IOnlineApplicationData {          dbOA.setForeignbPKTargetList(getForeignbPKTargets());                  dbOA.setAdditionalbPKTargetList(getAdditionalbPKTargets());          dbOA.setIseIDDemoModeActive(isEidDemoActive()); +        dbOA.setIseIDProxyModeActive(isEidProxyActive());  		return null;  	} @@ -490,7 +492,14 @@ public class OATargetConfiguration implements IOnlineApplicationData {  		this.eidDemoActive = eidDemoActive;  	} -	 +	 public boolean isEidProxyActive() { +	    return eidProxyActive; +	  } + + +	  public void setEidProxyActive(boolean eidProxyActive) { +	    this.eidProxyActive = eidProxyActive; +	  } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicAction.java index 0d0cda246..9bbbe3df0 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicAction.java @@ -56,6 +56,17 @@ public class BasicAction extends ActionSupport implements ServletRequestAware,  	protected HttpSession session = null;      protected String formID; +    protected static boolean isMoaidMode = false; +     +    public BasicAction() { +		try { +			isMoaidMode = ConfigurationProvider.getInstance().isMOAIDMode(); +		} catch (ConfigurationException e) { +			log.warn("Can NOT load configuration. Set 'moaidmode' to 'false'", e); +		} +	} +     +      	protected void populateBasicInformations() throws BasicActionException {  		try {  			configuration = ConfigurationProvider.getInstance(); @@ -115,6 +126,12 @@ public class BasicAction extends ActionSupport implements ServletRequestAware,      public void setFormID(String formID) {          this.formID = formID;      } + + +	public static boolean isMoaidMode() { +		return isMoaidMode; +	} +      } diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java index 9e0b8b1cd..20db561d6 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/BasicOAAction.java @@ -88,10 +88,14 @@ public class BasicOAAction extends BasicAction {      private InputStream stream = null; +    +          /**  	 *   	 */ -	public BasicOAAction() { +	public BasicOAAction() {			 +		super(); +		      	formList = new LinkedHashMap<String, IOnlineApplicationData>();      	OAGeneralConfig generalOA = new OAGeneralConfig(); diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java index c3e8c459e..8e057db0f 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditGeneralConfigAction.java @@ -65,7 +65,9 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.TransformsInfoT  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyAuthBlock;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.VerifyIdentityLink;  import at.gv.egovernment.moa.id.commons.validation.ValidationHelper; +import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException;  import at.gv.egovernment.moa.id.configuration.Constants; +import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;  import at.gv.egovernment.moa.id.configuration.data.GeneralMOAIDConfig;  import at.gv.egovernment.moa.id.configuration.data.GeneralStorkConfig;  import at.gv.egovernment.moa.id.configuration.exception.BasicActionException; @@ -100,19 +102,22 @@ public class EditGeneralConfigAction extends BasicAction {  			MOAIDConfiguration dbconfig = configuration.getDbRead().getMOAIDConfiguration(); -			 +						  			moaconfig = new GeneralMOAIDConfig(); -			moaconfig.parse(dbconfig); -			storkconfig = new GeneralStorkConfig(); -			storkconfig.parse(dbconfig); - +			moaconfig.parse(dbconfig);			              if (moaconfig == null) {                  log.error("MOA configuration is null");              } -            if (storkconfig == null) { -                log.error("Stork configuration is null"); +            if (moaconfig.isMoaidMode()) { +            	storkconfig = new GeneralStorkConfig(); +            	storkconfig.parse(dbconfig); +            	if (storkconfig == null) { +            		log.error("Stork configuration is null"); +            	}              } + +   			formID = Random.nextRandom();  			session.setAttribute(Constants.SESSION_FORMID, formID); @@ -149,13 +154,21 @@ public class EditGeneralConfigAction extends BasicAction {  		}  		session.setAttribute(Constants.SESSION_FORMID, null); +		boolean isMoaidMode = false; +		try { +			isMoaidMode = ConfigurationProvider.getInstance().isMOAIDMode(); +		} catch (ConfigurationException e) { +			log.warn("Can NOT load configuration. Set 'moaidmode' to 'false'", e); +		} +		  		if (authUser.isAdmin()) {  			MOAConfigValidator validator = new MOAConfigValidator(); -			List<String> errors = validator.validate(moaconfig, request); +			List<String> errors = validator.validate(moaconfig, request, isMoaidMode); -			errors.addAll(new StorkConfigValidator().validate(storkconfig, request));  +			if (isMoaidMode) +				errors.addAll(new StorkConfigValidator().validate(storkconfig, request));   			if (errors.size() > 0) {  				log.info("General MOA-ID configuration has some errors."); @@ -181,7 +194,7 @@ public class EditGeneralConfigAction extends BasicAction {  				}				  			} -			String error = saveFormToDatabase();			 +			String error = saveFormToDatabase(isMoaidMode);			  			if (error != null) {  				log.warn("General MOA-ID config can not be stored in Database"); @@ -218,7 +231,7 @@ public class EditGeneralConfigAction extends BasicAction {  		return Constants.STRUTS_SUCCESS;  	} -	private String saveFormToDatabase() { +	private String saveFormToDatabase(boolean isMoaidMode) {          log.debug("Saving form to database");  //        log.error("Saving form to db"); @@ -370,20 +383,24 @@ public class EditGeneralConfigAction extends BasicAction {  		} +		  		OAuth oauth= dbprotocols.getOAuth();  		if (oauth == null) {  			oauth = new OAuth();  			dbprotocols.setOAuth(oauth);  		} -		oauth.setIsActive(moaconfig.isProtocolActiveOAuth()); -		 +					  		PVP2 pvp2 = dbprotocols.getPVP2();  		if (pvp2 == null) {  			pvp2 = new PVP2();  			dbprotocols.setPVP2(pvp2);  		} -		pvp2.setIsActive(moaconfig.isProtocolActivePVP21()); +		if (isMoaidMode) { +			oauth.setIsActive(moaconfig.isProtocolActiveOAuth()); +			pvp2.setIsActive(moaconfig.isProtocolActivePVP21()); +			 +		}  		if (MiscUtil.isNotEmpty(moaconfig.getPvp2IssuerName()))  			pvp2.setIssuerName(moaconfig.getPvp2IssuerName()); @@ -437,80 +454,6 @@ public class EditGeneralConfigAction extends BasicAction {  		if (MiscUtil.isNotEmpty(moaconfig.getPvp2Contact().getType()))  			cont.setType(moaconfig.getPvp2Contact().getType()); -		SSO dbsso = dbauth.getSSO(); -		if (dbsso == null) { -			dbsso = new SSO(); -			dbauth.setSSO(dbsso); -		} -		 -		if (MiscUtil.isNotEmpty(moaconfig.getSsoFriendlyName())) -			dbsso.setFriendlyName(StringHelper.getUTF8String( -					moaconfig.getSsoFriendlyName())); -		if (MiscUtil.isNotEmpty(moaconfig.getSsoSpecialText())) -			dbsso.setSpecialText(StringHelper.getUTF8String( -					moaconfig.getSsoSpecialText())); -//		if (MiscUtil.isNotEmpty(moaconfig.getSsoPublicUrl())) -//			dbsso.setPublicURL(moaconfig.getSsoPublicUrl()); -		 -		if (MiscUtil.isNotEmpty(moaconfig.getSsoTarget())) { -			 -			if (!ValidationHelper.isValidAdminTarget(moaconfig.getSsoTarget())) { -				String num = moaconfig.getSsoTarget().replaceAll(" ", ""); -				String pre = null; -				if (num.startsWith(Constants.IDENIFICATIONTYPE_FN)) { -					num = num.substring(Constants.IDENIFICATIONTYPE_FN.length()); -					 -					num = at.gv.egovernment.moa.util.StringUtils.deleteLeadingZeros(num); -					pre = Constants.IDENIFICATIONTYPE_FN; -				} -				 -				if (num.startsWith(Constants.IDENIFICATIONTYPE_ZVR)) { -					num = num.substring(Constants.IDENIFICATIONTYPE_ZVR.length()); -					pre = Constants.IDENIFICATIONTYPE_ZVR; -				} -				 -				if (num.startsWith(Constants.IDENIFICATIONTYPE_ERSB)){ -					num = num.substring(Constants.IDENIFICATIONTYPE_ERSB.length()); -					pre = Constants.IDENIFICATIONTYPE_ERSB; -				} -							 -				dbsso.setTarget(Constants.PREFIX_WPBK + pre + "+" + num); -				 -			} else { -				dbsso.setTarget(moaconfig.getSsoTarget()); -				 -			} -		} -//		if (MiscUtil.isNotEmpty(moaconfig.getSsoIdentificationNumber())) { -//			IdentificationNumber ssoid = dbsso.getIdentificationNumber(); -//			if (ssoid == null) { -//				ssoid = new IdentificationNumber(); -//				dbsso.setIdentificationNumber(ssoid); -//			} -//			ssoid.setValue(moaconfig.getSsoIdentificationNumber()); -//		} -				 -		DefaultBKUs dbbkus = dbconfig.getDefaultBKUs(); - -		if (dbbkus == null) { -			dbbkus = new DefaultBKUs(); -			dbconfig.setDefaultBKUs(dbbkus); -		} -		 -		if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKUHandy())) -			dbbkus.setHandyBKU(moaconfig.getDefaultBKUHandy()); -		else -			dbbkus.setHandyBKU(new String()); -		 -		if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKUOnline())) -			dbbkus.setOnlineBKU(moaconfig.getDefaultBKUOnline()); -		else -			dbbkus.setOnlineBKU(new String()); -		 -		if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKULocal())) -			dbbkus.setLocalBKU(moaconfig.getDefaultBKULocal()); -		else -			dbbkus.setLocalBKU(new String());  		ChainingModes dbchainingmodes = dbconfig.getChainingModes();  		if (dbchainingmodes == null) { @@ -521,230 +464,334 @@ public class EditGeneralConfigAction extends BasicAction {  		dbchainingmodes.setSystemDefaultMode(  				ChainingModeType.fromValue("pkix")); -		IdentityLinkSigners idlsigners = dbauth.getIdentityLinkSigners(); -		if (idlsigners == null) { -			idlsigners = new IdentityLinkSigners(); -			dbauth.setIdentityLinkSigners(idlsigners); -		} - -		ForeignIdentities dbforeign = dbauth.getForeignIdentities(); -		if (dbforeign == null) { -			dbforeign = new ForeignIdentities(); -			dbauth.setForeignIdentities(dbforeign); -		} -		if (MiscUtil.isNotEmpty(moaconfig.getSzrgwURL())) { -			ConnectionParameterClientAuthType forcon = dbforeign.getConnectionParameter(); -			if (forcon == null) { -				forcon = new ConnectionParameterClientAuthType(); -				dbforeign.setConnectionParameter(forcon); +		if (isMoaidMode) { +			SSO dbsso = dbauth.getSSO(); +			if (dbsso == null) { +				dbsso = new SSO(); +				dbauth.setSSO(dbsso);  			} -			if (KeyValueUtils.isCSVValueString(moaconfig.getSzrgwURL())) -				forcon.setURL(KeyValueUtils.normalizeCSVValueString(moaconfig.getSzrgwURL())); +			if (MiscUtil.isNotEmpty(moaconfig.getSsoFriendlyName())) +				dbsso.setFriendlyName(StringHelper.getUTF8String( +						moaconfig.getSsoFriendlyName())); +			if (MiscUtil.isNotEmpty(moaconfig.getSsoSpecialText())) +				dbsso.setSpecialText(StringHelper.getUTF8String( +						moaconfig.getSsoSpecialText())); +	//		if (MiscUtil.isNotEmpty(moaconfig.getSsoPublicUrl())) +	//			dbsso.setPublicURL(moaconfig.getSsoPublicUrl()); +			 +			if (MiscUtil.isNotEmpty(moaconfig.getSsoTarget())) { -			else { -				if (moaconfig.getSzrgwURL().contains(KeyValueUtils.CSV_DELIMITER)) -					forcon.setURL( -							moaconfig.getSzrgwURL().trim().substring(0,  -									moaconfig.getSzrgwURL().indexOf(KeyValueUtils.CSV_DELIMITER))); +				if (!ValidationHelper.isValidAdminTarget(moaconfig.getSsoTarget())) { +					String num = moaconfig.getSsoTarget().replaceAll(" ", ""); +					String pre = null; +					if (num.startsWith(Constants.IDENIFICATIONTYPE_FN)) { +						num = num.substring(Constants.IDENIFICATIONTYPE_FN.length()); +						 +						num = at.gv.egovernment.moa.util.StringUtils.deleteLeadingZeros(num); +						pre = Constants.IDENIFICATIONTYPE_FN; +					} -				else -					forcon.setURL( -							StringUtils.chomp(moaconfig.getSzrgwURL().trim())); -				 +					if (num.startsWith(Constants.IDENIFICATIONTYPE_ZVR)) { +						num = num.substring(Constants.IDENIFICATIONTYPE_ZVR.length()); +						pre = Constants.IDENIFICATIONTYPE_ZVR; +					} +					 +					if (num.startsWith(Constants.IDENIFICATIONTYPE_ERSB)){ +						num = num.substring(Constants.IDENIFICATIONTYPE_ERSB.length()); +						pre = Constants.IDENIFICATIONTYPE_ERSB; +					} +								 +					dbsso.setTarget(Constants.PREFIX_WPBK + pre + "+" + num); +					 +				} else { +					dbsso.setTarget(moaconfig.getSsoTarget()); +					 +				} +			} +	//		if (MiscUtil.isNotEmpty(moaconfig.getSsoIdentificationNumber())) { +	//			IdentificationNumber ssoid = dbsso.getIdentificationNumber(); +	//			if (ssoid == null) { +	//				ssoid = new IdentificationNumber(); +	//				dbsso.setIdentificationNumber(ssoid); +	//			} +	//			ssoid.setValue(moaconfig.getSsoIdentificationNumber()); +	//		} +					 +			DefaultBKUs dbbkus = dbconfig.getDefaultBKUs(); +	 +			if (dbbkus == null) { +				dbbkus = new DefaultBKUs(); +				dbconfig.setDefaultBKUs(dbbkus);  			} +			 +			if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKUHandy())) +				dbbkus.setHandyBKU(moaconfig.getDefaultBKUHandy()); +			else +				dbbkus.setHandyBKU(new String()); +			 +			if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKUOnline())) +				dbbkus.setOnlineBKU(moaconfig.getDefaultBKUOnline()); +			else +				dbbkus.setOnlineBKU(new String()); +			 +			if (MiscUtil.isNotEmpty(moaconfig.getDefaultBKULocal())) +				dbbkus.setLocalBKU(moaconfig.getDefaultBKULocal()); +			else +				dbbkus.setLocalBKU(new String()); -		} + -        ForeignIdentities foreign = dbauth.getForeignIdentities(); -		if (foreign != null) { -			STORK stork = foreign.getSTORK(); -			if (stork == null) { -				stork = new STORK(); -				foreign.setSTORK(stork); -				 +			IdentityLinkSigners idlsigners = dbauth.getIdentityLinkSigners(); +			if (idlsigners == null) { +				idlsigners = new IdentityLinkSigners(); +				dbauth.setIdentityLinkSigners(idlsigners); +			} +	 +			ForeignIdentities dbforeign = dbauth.getForeignIdentities(); +			if (dbforeign == null) { +				dbforeign = new ForeignIdentities(); +				dbauth.setForeignIdentities(dbforeign);  			} - -            try { -            	log.error("QAAAA " + storkconfig.getDefaultQaa()); -            	stork.setGeneral_eIDAS_LOA(storkconfig.getDefaultQaa()); -				if (storkconfig.getAttributes() != null) { -					List<StorkAttribute> dbStorkAttr = new ArrayList<StorkAttribute>(); -					stork.setAttributes(dbStorkAttr); -						 +			if (MiscUtil.isNotEmpty(moaconfig.getSzrgwURL())) { +				ConnectionParameterClientAuthType forcon = dbforeign.getConnectionParameter(); +				if (forcon == null) { +					forcon = new ConnectionParameterClientAuthType(); +					dbforeign.setConnectionParameter(forcon); +				} +				 +				if (KeyValueUtils.isCSVValueString(moaconfig.getSzrgwURL())) +					forcon.setURL(KeyValueUtils.normalizeCSVValueString(moaconfig.getSzrgwURL())); -					for (StorkAttribute attr : storkconfig.getAttributes()) { -						if (attr != null && MiscUtil.isNotEmpty(attr.getName())) -							dbStorkAttr.add(attr); +				else { +					if (moaconfig.getSzrgwURL().contains(KeyValueUtils.CSV_DELIMITER)) +						forcon.setURL( +								moaconfig.getSzrgwURL().trim().substring(0,  +										moaconfig.getSzrgwURL().indexOf(KeyValueUtils.CSV_DELIMITER))); -						else -							log.info("Remove null or empty STORK attribute"); -					} -											 -				} else -					stork.setAttributes((List<StorkAttribute>) (new ArrayList<StorkAttribute>())); -				 -				if (storkconfig.getCpepslist() != null) { -					List<CPEPS> dbStorkCPEPS = new ArrayList<CPEPS>(); -					stork.setCPEPS(dbStorkCPEPS); +					else +						forcon.setURL( +								StringUtils.chomp(moaconfig.getSzrgwURL().trim())); +					 +				} +			 +			} +			 +	        ForeignIdentities foreign = dbauth.getForeignIdentities(); +			if (foreign != null) { +				STORK stork = foreign.getSTORK(); +				if (stork == null) { +					stork = new STORK(); +					foreign.setSTORK(stork); -					for (CPEPS cpeps : storkconfig.getCpepslist()) { -						if (cpeps != null && MiscUtil.isNotEmpty(cpeps.getURL()) && -								MiscUtil.isNotEmpty(cpeps.getCountryCode())) { +				} +	 +	            try { +	            	log.error("QAAAA " + storkconfig.getDefaultQaa()); +	            	stork.setGeneral_eIDAS_LOA(storkconfig.getDefaultQaa()); +				 +					if (storkconfig.getAttributes() != null) { +						List<StorkAttribute> dbStorkAttr = new ArrayList<StorkAttribute>(); +						stork.setAttributes(dbStorkAttr); -							if (cpeps.getCountryCode().equals("CC") &&  -									cpeps.getURL().equals("http://")) -								log.info("Remove dummy STORK CPEPS entry."); -								 -							else							 -								dbStorkCPEPS.add(cpeps); +						 +						for (StorkAttribute attr : storkconfig.getAttributes()) { +							if (attr != null && MiscUtil.isNotEmpty(attr.getName())) +								dbStorkAttr.add(attr); -						} else -							log.info("Remove null or emtpy STORK CPEPS configuration"); -					} +							else +								log.info("Remove null or empty STORK attribute"); +						} +												 +					} else +						stork.setAttributes((List<StorkAttribute>) (new ArrayList<StorkAttribute>())); +					 +					if (storkconfig.getCpepslist() != null) { +						List<CPEPS> dbStorkCPEPS = new ArrayList<CPEPS>(); +						stork.setCPEPS(dbStorkCPEPS); +						 +						for (CPEPS cpeps : storkconfig.getCpepslist()) { +							if (cpeps != null && MiscUtil.isNotEmpty(cpeps.getURL()) && +									MiscUtil.isNotEmpty(cpeps.getCountryCode())) { +								 +								if (cpeps.getCountryCode().equals("CC") &&  +										cpeps.getURL().equals("http://")) +									log.info("Remove dummy STORK CPEPS entry."); +									 +								else							 +									dbStorkCPEPS.add(cpeps); +								 +							} else +								log.info("Remove null or emtpy STORK CPEPS configuration"); +						} +					 +					} else +						stork.setCPEPS((List<CPEPS>) (new ArrayList<CPEPS>())); -				} else -					stork.setCPEPS((List<CPEPS>) (new ArrayList<CPEPS>())); -			 -            } catch (Exception e) { -                e.printStackTrace(); -                 -            } - -            try{ -               log.info("CPEPS LIST: " + storkconfig.getCpepslist().size() ); -               log.trace("CPEPS 1:" + storkconfig.getCpepslist().get(0).getCountryCode() +storkconfig.getCpepslist().get(0).getURL()); -                -            }   catch (Exception ex) { -                log.info("CPEPS LIST is null"); -                 -            } -		} - -		//write MIS Mandate-Service URLs -		if (MiscUtil.isNotEmpty(moaconfig.getMandateURL())) { -			OnlineMandates dbmandate = dbauth.getOnlineMandates(); -			if (dbmandate == null) { -				dbmandate = new OnlineMandates(); -				dbauth.setOnlineMandates(dbmandate); +	            } catch (Exception e) { +	                e.printStackTrace(); +	                 +	            } +	 +	            try{ +	               log.info("CPEPS LIST: " + storkconfig.getCpepslist().size() ); +	               log.trace("CPEPS 1:" + storkconfig.getCpepslist().get(0).getCountryCode() +storkconfig.getCpepslist().get(0).getURL()); +	                +	            }   catch (Exception ex) { +	                log.info("CPEPS LIST is null"); +	                 +	            }  			} -			ConnectionParameterClientAuthType dbmandateconnection = dbmandate.getConnectionParameter(); -			 -			if (dbmandateconnection == null) { -				dbmandateconnection = new ConnectionParameterClientAuthType(); -				dbmandate.setConnectionParameter(dbmandateconnection); +	 +			//write MIS Mandate-Service URLs +			if (MiscUtil.isNotEmpty(moaconfig.getMandateURL())) { +				OnlineMandates dbmandate = dbauth.getOnlineMandates(); +				if (dbmandate == null) { +					dbmandate = new OnlineMandates(); +					dbauth.setOnlineMandates(dbmandate); +				} +				ConnectionParameterClientAuthType dbmandateconnection = dbmandate.getConnectionParameter(); +				 +				if (dbmandateconnection == null) { +					dbmandateconnection = new ConnectionParameterClientAuthType(); +					dbmandate.setConnectionParameter(dbmandateconnection); +				} +				 +				if (KeyValueUtils.isCSVValueString(moaconfig.getMandateURL())) +					dbmandateconnection.setURL(KeyValueUtils.normalizeCSVValueString(moaconfig.getMandateURL())); +					 +				else { +					if (moaconfig.getMandateURL().contains(KeyValueUtils.CSV_DELIMITER)) +						dbmandateconnection.setURL( +								moaconfig.getMandateURL().trim().substring(0,  +										moaconfig.getMandateURL().indexOf(KeyValueUtils.CSV_DELIMITER))); +						 +					else +						dbmandateconnection.setURL( +								StringUtils.chomp(moaconfig.getMandateURL().trim())); +					 +				}						  			} -			if (KeyValueUtils.isCSVValueString(moaconfig.getMandateURL())) -				dbmandateconnection.setURL(KeyValueUtils.normalizeCSVValueString(moaconfig.getMandateURL())); -				 -			else { -				if (moaconfig.getMandateURL().contains(KeyValueUtils.CSV_DELIMITER)) -					dbmandateconnection.setURL( -							moaconfig.getMandateURL().trim().substring(0,  -									moaconfig.getMandateURL().indexOf(KeyValueUtils.CSV_DELIMITER))); +			//write ELGA Mandate-Service URLs +			if (MiscUtil.isNotEmpty(moaconfig.getElgaMandateServiceURL())) {			 +				if (KeyValueUtils.isCSVValueString(moaconfig.getElgaMandateServiceURL())) +					dbconfig.setElgaMandateServiceURLs(KeyValueUtils.normalizeCSVValueString(moaconfig.getElgaMandateServiceURL())); -				else -					dbmandateconnection.setURL( -							StringUtils.chomp(moaconfig.getMandateURL().trim())); -				 -			}						 +				else { +					if (moaconfig.getElgaMandateServiceURL().contains(KeyValueUtils.CSV_DELIMITER)) +						dbconfig.setElgaMandateServiceURLs( +								moaconfig.getElgaMandateServiceURL().trim().substring(0,  +										moaconfig.getElgaMandateServiceURL().indexOf(KeyValueUtils.CSV_DELIMITER))); +						 +					else +						dbconfig.setElgaMandateServiceURLs( +								StringUtils.chomp(moaconfig.getElgaMandateServiceURL().trim())); +					 +				}						 +			} else +				dbconfig.setElgaMandateServiceURLs(null);  		} -		//write ELGA Mandate-Service URLs -		if (MiscUtil.isNotEmpty(moaconfig.getElgaMandateServiceURL())) {			 -			if (KeyValueUtils.isCSVValueString(moaconfig.getElgaMandateServiceURL())) -				dbconfig.setElgaMandateServiceURLs(KeyValueUtils.normalizeCSVValueString(moaconfig.getElgaMandateServiceURL())); +		 +		//write E-ID System URLs +		if (MiscUtil.isNotEmpty(moaconfig.getEidSystemServiceURL())) {			 +			if (KeyValueUtils.isCSVValueString(moaconfig.getEidSystemServiceURL())) +				dbconfig.setEidSystemServiceURLs(KeyValueUtils.normalizeCSVValueString(moaconfig.getEidSystemServiceURL()));  			else { -				if (moaconfig.getElgaMandateServiceURL().contains(KeyValueUtils.CSV_DELIMITER)) -					dbconfig.setElgaMandateServiceURLs( -							moaconfig.getElgaMandateServiceURL().trim().substring(0,  -									moaconfig.getElgaMandateServiceURL().indexOf(KeyValueUtils.CSV_DELIMITER))); +				if (moaconfig.getEidSystemServiceURL().contains(KeyValueUtils.CSV_DELIMITER)) +					dbconfig.setEidSystemServiceURLs( +							moaconfig.getEidSystemServiceURL().trim().substring(0,  +									moaconfig.getEidSystemServiceURL().indexOf(KeyValueUtils.CSV_DELIMITER)));  				else -					dbconfig.setElgaMandateServiceURLs( -							StringUtils.chomp(moaconfig.getElgaMandateServiceURL().trim())); +					dbconfig.setEidSystemServiceURLs( +							StringUtils.chomp(moaconfig.getEidSystemServiceURL().trim())); -			}						 -		} -		 -		 -		 -		MOASP dbmoasp = dbauth.getMOASP(); -		if (dbmoasp == null) { -			dbmoasp = new MOASP(); -			dbauth.setMOASP(dbmoasp); -		} -		if (MiscUtil.isNotEmpty(moaconfig.getMoaspssURL())) { -			ConnectionParameterClientAuthType moaspcon = dbmoasp.getConnectionParameter(); -			if (moaspcon == null) { -				moaspcon = new ConnectionParameterClientAuthType(); -				dbmoasp.setConnectionParameter(moaspcon);  			} -			moaspcon.setURL(moaconfig.getMoaspssURL()); -		} -		VerifyIdentityLink moaidl = dbmoasp.getVerifyIdentityLink(); -		if (moaidl == null) { -			moaidl = new VerifyIdentityLink(); -			dbmoasp.setVerifyIdentityLink(moaidl); -		} -		moaidl.setTrustProfileID(moaconfig.getMoaspssIdlTrustProfile()); -		moaidl.setTestTrustProfileID(moaconfig.getMoaspssIdlTrustProfileTest()); -		 -		VerifyAuthBlock moaauth = dbmoasp.getVerifyAuthBlock(); -		if (moaauth == null) { -			moaauth = new VerifyAuthBlock(); -			dbmoasp.setVerifyAuthBlock(moaauth); -		} -		moaauth.setTrustProfileID(moaconfig.getMoaspssAuthTrustProfile()); -		moaauth.setTestTrustProfileID(moaconfig.getMoaspssAuthTrustProfileTest()); +			 +		} else +			dbconfig.setEidSystemServiceURLs(null); -		if (moaauth.getVerifyTransformsInfoProfileID() != null &&  -				moaauth.getVerifyTransformsInfoProfileID().size() > 0) -			moaauth.getVerifyTransformsInfoProfileID().set(0, moaconfig.getAuthTransformList().get(0)); -		else { -			if (moaauth.getVerifyTransformsInfoProfileID() == null) { -				moaauth.setVerifyTransformsInfoProfileID(new ArrayList<String>()); -				 +		if (isMoaidMode) { +			MOASP dbmoasp = dbauth.getMOASP(); +			if (dbmoasp == null) { +				dbmoasp = new MOASP(); +				dbauth.setMOASP(dbmoasp);  			} -			moaauth.getVerifyTransformsInfoProfileID().add(moaconfig.getAuthTransformList().get(0)); -		} -		 -		SecurityLayer seclayertrans = dbauth.getSecurityLayer(); -		if (seclayertrans == null) { -			seclayertrans = new SecurityLayer(); -			dbauth.setSecurityLayer(seclayertrans); -		} -		List<TransformsInfoType> trans = new ArrayList<TransformsInfoType>(); -		Map<String, byte[]> moatrans = moaconfig.getSecLayerTransformation(); -		if (moatrans != null) { -			Set<String> keys = moatrans.keySet(); -			for (String key : keys) { -				TransformsInfoType elem = new TransformsInfoType(); -				elem.setFilename(key); -				elem.setTransformation(moatrans.get(key)); -				trans.add(elem); +			if (MiscUtil.isNotEmpty(moaconfig.getMoaspssURL())) { +				ConnectionParameterClientAuthType moaspcon = dbmoasp.getConnectionParameter(); +				if (moaspcon == null) { +					moaspcon = new ConnectionParameterClientAuthType(); +					dbmoasp.setConnectionParameter(moaspcon); +				} +				moaspcon.setURL(moaconfig.getMoaspssURL());  			} +			VerifyIdentityLink moaidl = dbmoasp.getVerifyIdentityLink(); +			if (moaidl == null) { +				moaidl = new VerifyIdentityLink(); +				dbmoasp.setVerifyIdentityLink(moaidl); +			} +			moaidl.setTrustProfileID(moaconfig.getMoaspssIdlTrustProfile()); +			moaidl.setTestTrustProfileID(moaconfig.getMoaspssIdlTrustProfileTest()); +			 +			VerifyAuthBlock moaauth = dbmoasp.getVerifyAuthBlock(); +			if (moaauth == null) { +				moaauth = new VerifyAuthBlock(); +				dbmoasp.setVerifyAuthBlock(moaauth); +			} +			moaauth.setTrustProfileID(moaconfig.getMoaspssAuthTrustProfile()); +			moaauth.setTestTrustProfileID(moaconfig.getMoaspssAuthTrustProfileTest()); +			 +			if (moaauth.getVerifyTransformsInfoProfileID() != null &&  +					moaauth.getVerifyTransformsInfoProfileID().size() > 0) +				moaauth.getVerifyTransformsInfoProfileID().set(0, moaconfig.getAuthTransformList().get(0)); +			 +			else { +				if (moaauth.getVerifyTransformsInfoProfileID() == null) { +					moaauth.setVerifyTransformsInfoProfileID(new ArrayList<String>()); +					 +				} +				moaauth.getVerifyTransformsInfoProfileID().add(moaconfig.getAuthTransformList().get(0)); +			} +			 +			SecurityLayer seclayertrans = dbauth.getSecurityLayer(); +			if (seclayertrans == null) { +				seclayertrans = new SecurityLayer(); +				dbauth.setSecurityLayer(seclayertrans); +			} +			List<TransformsInfoType> trans = new ArrayList<TransformsInfoType>(); +			Map<String, byte[]> moatrans = moaconfig.getSecLayerTransformation(); +			if (moatrans != null) { +				Set<String> keys = moatrans.keySet(); +				for (String key : keys) { +					TransformsInfoType elem = new TransformsInfoType(); +					elem.setFilename(key); +					elem.setTransformation(moatrans.get(key)); +					trans.add(elem); +				} +			} +			if (trans.size() > 0) +				seclayertrans.setTransformsInfo(trans); +	 +			 +			SLRequestTemplates slrequesttempl = dbconfig.getSLRequestTemplates(); +			if (slrequesttempl == null) { +				slrequesttempl = new SLRequestTemplates(); +				dbconfig.setSLRequestTemplates(slrequesttempl); +			} +			if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateHandy())) +				slrequesttempl.setHandyBKU(moaconfig.getSLRequestTemplateHandy()); +			if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateLocal())) +				slrequesttempl.setLocalBKU(moaconfig.getSLRequestTemplateLocal()); +			if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateOnline())) +				slrequesttempl.setOnlineBKU(moaconfig.getSLRequestTemplateOnline()); +			  		} -		if (trans.size() > 0) -			seclayertrans.setTransformsInfo(trans); - -		 -		SLRequestTemplates slrequesttempl = dbconfig.getSLRequestTemplates(); -		if (slrequesttempl == null) { -			slrequesttempl = new SLRequestTemplates(); -			dbconfig.setSLRequestTemplates(slrequesttempl); -		} -		if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateHandy())) -			slrequesttempl.setHandyBKU(moaconfig.getSLRequestTemplateHandy()); -		if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateLocal())) -			slrequesttempl.setLocalBKU(moaconfig.getSLRequestTemplateLocal()); -		if (MiscUtil.isNotEmpty(moaconfig.getSLRequestTemplateOnline())) -			slrequesttempl.setOnlineBKU(moaconfig.getSLRequestTemplateOnline());  		if (MiscUtil.isNotEmpty(moaconfig.getTrustedCACerts()))  				dbconfig.setTrustedCACertificates(moaconfig.getTrustedCACerts()); diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java index cfb74ebd2..31126d14f 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java @@ -70,31 +70,33 @@ public class EditOAAction extends BasicOAAction {  		OAAuthenticationData authOA = new OAAuthenticationData();  		formList.put(authOA.getName(), authOA); -		OABPKEncryption bPKEncDec = new OABPKEncryption(); -		formList.put(bPKEncDec.getName(), bPKEncDec); -		 -		OASSOConfig ssoOA = new OASSOConfig(); -		formList.put(ssoOA.getName(), ssoOA); -  		OASAML1Config saml1OA = new OASAML1Config();  		formList.put(saml1OA.getName(), saml1OA); +		 +		if (isMoaidMode) { +			OABPKEncryption bPKEncDec = new OABPKEncryption(); +			formList.put(bPKEncDec.getName(), bPKEncDec); +		 +			OASSOConfig ssoOA = new OASSOConfig(); +			formList.put(ssoOA.getName(), ssoOA); -		OAPVP2Config pvp2OA = new OAPVP2Config(); -		formList.put(pvp2OA.getName(), pvp2OA); +			OAPVP2Config pvp2OA = new OAPVP2Config(); +			formList.put(pvp2OA.getName(), pvp2OA); -		OAOAuth20Config oauth20OA = new OAOAuth20Config(); -		formList.put(oauth20OA.getName(), oauth20OA); +			OAOAuth20Config oauth20OA = new OAOAuth20Config(); +			formList.put(oauth20OA.getName(), oauth20OA); -		OASTORKConfig storkOA = new OASTORKConfig(); -		formList.put(storkOA.getName(), storkOA); +			OASTORKConfig storkOA = new OASTORKConfig(); +			formList.put(storkOA.getName(), storkOA); -		Map<String, String> map = new HashMap<String, String>(); -		map.putAll(FormBuildUtils.getDefaultMap()); -		FormularCustomization formOA = new FormularCustomization(map); -		formList.put(formOA.getName(), formOA); +			Map<String, String> map = new HashMap<String, String>(); +			map.putAll(FormBuildUtils.getDefaultMap()); +			FormularCustomization formOA = new FormularCustomization(map); +			formList.put(formOA.getName(), formOA); -		OARevisionsLogData revisOA = new OARevisionsLogData(); -		formList.put(revisOA.getName(), revisOA); +			OARevisionsLogData revisOA = new OARevisionsLogData(); +			formList.put(revisOA.getName(), revisOA); +		}  	} @@ -165,7 +167,8 @@ public class EditOAAction extends BasicOAAction {  			} -			getStorkOA().setHelperAttributes(attributes); +			if (getStorkOA() != null) +				getStorkOA().setHelperAttributes(attributes);  			UserDatabase userdb = configuration.getUserManagement().getUserWithID(authUser  					.getUserID()); @@ -178,11 +181,16 @@ public class EditOAAction extends BasicOAAction {  				return Constants.STRUTS_SUCCESS;  			} -			session.setAttribute( -					Constants.SESSION_OAUTH20SECRET, -					((OAOAuth20Config) formList.get(new OAOAuth20Config().getName())) +			if (formList.get(new OAOAuth20Config().getName()) != null) +				session.setAttribute( +						Constants.SESSION_OAUTH20SECRET, +						((OAOAuth20Config) formList.get(new OAOAuth20Config().getName()))  							.getClientSecret()); -			session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, getFormOA().getFormMap()); +			 +			if (getFormOA() != null) +				session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, getFormOA().getFormMap()); +			 +			  			nextPage = Constants.STRUTS_RETURNAREA_VALUES.main.name();  			return Constants.STRUTS_OA_EDIT; @@ -210,8 +218,8 @@ public class EditOAAction extends BasicOAAction {  				errors.addAll(form.validate(getGeneralOA(), authUser, request));  			// Do not allow SSO in combination with special BKUSelection features -			if (getSsoOA().isUseSSO() -					&& (getFormOA().isOnlyMandateAllowed() || !getFormOA() +			if (getSsoOA() != null && getSsoOA().isUseSSO() +					&& (getFormOA() != null && getFormOA().isOnlyMandateAllowed() || !getFormOA()  							.isShowMandateLoginButton())) {  				log.warn("Special BKUSelection features can not be used in combination with SSO");  				errors.add(LanguageHelper.getErrorString( diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java index 7fae5d40c..180f32235 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/InterfederationIDPAction.java @@ -23,17 +23,14 @@  package at.gv.egovernment.moa.id.configuration.struts.action;  import java.util.ArrayList; -import java.util.Date;  import java.util.List;  import org.apache.log4j.Logger; +import at.gv.egiz.eaaf.core.impl.utils.Random;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.AttributeProviderPlugin;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.IdentificationNumber; -import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration;  import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication; -import at.gv.egiz.eaaf.core.impl.utils.Random; -import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.commons.validation.ValidationHelper;  import at.gv.egovernment.moa.id.configuration.Constants; @@ -42,7 +39,6 @@ import at.gv.egovernment.moa.id.configuration.data.OAListElement;  import at.gv.egovernment.moa.id.configuration.data.oa.IOnlineApplicationData;  import at.gv.egovernment.moa.id.configuration.data.oa.OAAuthenticationData;  import at.gv.egovernment.moa.id.configuration.data.oa.OAMOAIDPInterfederationConfig; -import at.gv.egovernment.moa.id.configuration.data.oa.OAOAuth20Config;  import at.gv.egovernment.moa.id.configuration.data.oa.OASTORKConfig;  import at.gv.egovernment.moa.id.configuration.data.oa.OATargetConfiguration;  import at.gv.egovernment.moa.id.configuration.data.oa.PVPGatewayInterfederationConfig; @@ -50,7 +46,6 @@ import at.gv.egovernment.moa.id.configuration.exception.BasicActionException;  import at.gv.egovernment.moa.id.configuration.exception.BasicOAActionException;  import at.gv.egovernment.moa.id.configuration.helper.FormDataHelper;  import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper; -import at.gv.egovernment.moa.util.MiscUtil;  /**   * @author tlenz diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java index 717a0c827..247004b75 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/moaconfig/MOAConfigValidator.java @@ -46,7 +46,7 @@ public class MOAConfigValidator {  	private static final Logger log = Logger.getLogger(MOAConfigValidator.class); -	public List<String> validate(GeneralMOAIDConfig form, HttpServletRequest request) { +	public List<String> validate(GeneralMOAIDConfig form, HttpServletRequest request, boolean isMOAIDMode) {  		List<String> errors = new ArrayList<String>(); @@ -126,7 +126,7 @@ public class MOAConfigValidator {  //		}  		check = form.getDefaultBKUHandy(); -		if (MiscUtil.isNotEmpty(check)) { +		if (MiscUtil.isNotEmpty(check) && isMOAIDMode) {  			if (!ValidationHelper.validateURL(check)) {  				log.info("Not valid Handy-BKU URL");  				errors.add(LanguageHelper.getErrorString("validation.general.bku.handy.valid", request)); @@ -134,7 +134,7 @@ public class MOAConfigValidator {  		}  		check = form.getDefaultBKULocal(); -		if (MiscUtil.isNotEmpty(check)) { +		if (MiscUtil.isNotEmpty(check) && isMOAIDMode) {  			if (!ValidationHelper.validateURL(check)) {  				log.info("Not valid Online-BKU URL");  				errors.add(LanguageHelper.getErrorString("validation.general.bku.local.valid", request)); @@ -142,7 +142,7 @@ public class MOAConfigValidator {  		}  		check = form.getDefaultBKUOnline(); -		if (MiscUtil.isNotEmpty(check)) { +		if (MiscUtil.isNotEmpty(check) && isMOAIDMode) {  			if (!ValidationHelper.validateURL(check)) {  				log.info("Not valid Online-BKU URL");  				errors.add(LanguageHelper.getErrorString("validation.general.bku.online.valid", request)); @@ -162,7 +162,7 @@ public class MOAConfigValidator {  //		}  		check = form.getMandateURL(); -		if (MiscUtil.isNotEmpty(check)) {			 +		if (MiscUtil.isNotEmpty(check) && isMOAIDMode) {			  			String[] misURLs = check.split(",");  			for (String el : misURLs) {			  				if (MiscUtil.isNotEmpty(el) && !ValidationHelper.validateURL(StringUtils.chomp(el.trim()))) { @@ -174,7 +174,7 @@ public class MOAConfigValidator {  		}  		check = form.getElgaMandateServiceURL(); -		if (MiscUtil.isNotEmpty(check)) {			 +		if (MiscUtil.isNotEmpty(check) && isMOAIDMode) {			  			String[] elgaServiceURLs = check.split(",");  			for (String el : elgaServiceURLs) {			  				if (MiscUtil.isNotEmpty(el) && !ValidationHelper.validateURL(StringUtils.chomp(el.trim()))) { @@ -185,87 +185,103 @@ public class MOAConfigValidator {  			}  		} +		check = form.getEidSystemServiceURL(); +		if (MiscUtil.isNotEmpty(check)) {			 +			String[] eidServiceURLs = check.split(","); +			for (String el : eidServiceURLs) {			 +				if (MiscUtil.isNotEmpty(el) && !ValidationHelper.validateURL(StringUtils.chomp(el.trim()))) { +					log.info("Not valid E-ID System Service URL"); +					errors.add(LanguageHelper.getErrorString("validation.general.eid.url.valid",  +							new Object[]{el}, request)); +				} +			} +		} +		  		check = form.getMoaspssAuthTransformations();  		List<String> authtranslist = new ArrayList<String>(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty MoaspssAuthTransformation"); -			errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.transformation.empty", request)); -		} else { -			 -			//is only required if more then one transformation is in use -//			check = StringHelper.formatText(check); -//			String[] list = check.split(GeneralMOAIDConfig.LINE_DELIMITER); -//			int i=1; -//			for(String el : list) { -//				if (ValidationHelper.containsPotentialCSSCharacter(el, false)) { -//					log.info("IdentityLinkSigners is not valid: " + el); -//					errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.transformation.valid",  -//							new Object[] {i, ValidationHelper.getPotentialCSSCharacter(false)} )); -//					 -//				} else { -//					if (MiscUtil.isNotEmpty(el.trim())) -//						authtranslist.add(el.trim()); -//				} -//				i++; -//			}			 -			authtranslist.add(check.trim()); +		if (isMOAIDMode) { +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty MoaspssAuthTransformation"); +				errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.transformation.empty", request)); +			} else { +				 +				//is only required if more then one transformation is in use +	//			check = StringHelper.formatText(check); +	//			String[] list = check.split(GeneralMOAIDConfig.LINE_DELIMITER); +	//			int i=1; +	//			for(String el : list) { +	//				if (ValidationHelper.containsPotentialCSSCharacter(el, false)) { +	//					log.info("IdentityLinkSigners is not valid: " + el); +	//					errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.transformation.valid",  +	//							new Object[] {i, ValidationHelper.getPotentialCSSCharacter(false)} )); +	//					 +	//				} else { +	//					if (MiscUtil.isNotEmpty(el.trim())) +	//						authtranslist.add(el.trim()); +	//				} +	//				i++; +	//			}			 +				authtranslist.add(check.trim()); +			}  		}  		form.setAuthTransformList(authtranslist); -		check = form.getMoaspssAuthTrustProfile(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty MOA-SP/SS Authblock TrustProfile"); -			errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.empty", request)); -		} else { -			if (ValidationHelper.containsNotValidCharacter(check, false)) { -				log.info("Authblock TrustProfile is not valid: " +check); -				errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +		if (isMOAIDMode) { +			check = form.getMoaspssAuthTrustProfile(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty MOA-SP/SS Authblock TrustProfile"); +				errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.empty", request)); +			} else { +				if (ValidationHelper.containsNotValidCharacter(check, false)) { +					log.info("Authblock TrustProfile is not valid: " +check); +					errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.valid",  +							new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +				}  			} -		} -		 -		check = form.getMoaspssIdlTrustProfile(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty MOA-SP/SS IdentityLink TrustProfile"); -			errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.empty", request)); -		} else { -			if (ValidationHelper.containsNotValidCharacter(check, false)) { -				log.info("IdentityLink TrustProfile is not valid: " +check); -				errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +			 +			check = form.getMoaspssIdlTrustProfile(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty MOA-SP/SS IdentityLink TrustProfile"); +				errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.empty", request)); +			} else { +				if (ValidationHelper.containsNotValidCharacter(check, false)) { +					log.info("IdentityLink TrustProfile is not valid: " +check); +					errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.valid",  +							new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +				}  			} -		} -		 -		check = form.getMoaspssAuthTrustProfileTest(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty MOA-SP/SS Test-Authblock TrustProfile"); -			errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.test.empty", request)); -		} else { -			if (ValidationHelper.containsNotValidCharacter(check, false)) { -				log.info("Test-Authblock TrustProfile is not valid: " +check); -				errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.test.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +			 +			check = form.getMoaspssAuthTrustProfileTest(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty MOA-SP/SS Test-Authblock TrustProfile"); +				errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.test.empty", request)); +			} else { +				if (ValidationHelper.containsNotValidCharacter(check, false)) { +					log.info("Test-Authblock TrustProfile is not valid: " +check); +					errors.add(LanguageHelper.getErrorString("validation.general.moasp.auth.trustprofile.test.valid",  +							new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +				}  			} -		} -		 -		check = form.getMoaspssIdlTrustProfileTest(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty MOA-SP/SS Test-IdentityLink TrustProfile"); -			errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.test.empty", request)); -		} else { -			if (ValidationHelper.containsNotValidCharacter(check, false)) { -				log.info("Test-IdentityLink TrustProfile is not valid: " +check); -				errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.test.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +			 +			check = form.getMoaspssIdlTrustProfileTest(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty MOA-SP/SS Test-IdentityLink TrustProfile"); +				errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.test.empty", request)); +			} else { +				if (ValidationHelper.containsNotValidCharacter(check, false)) { +					log.info("Test-IdentityLink TrustProfile is not valid: " +check); +					errors.add(LanguageHelper.getErrorString("validation.general.moasp.idl.trustprofile.test.valid",  +							new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +				}  			} -		} -		 -		 -		check = form.getMoaspssURL(); -		if (MiscUtil.isNotEmpty(check)) { -			if (!ValidationHelper.validateURL(check)) { -				log.info("Not valid MOA-SP/SS Service URL"); -				errors.add(LanguageHelper.getErrorString("validation.general.moaspss.url.valid", request)); +			 +			 +			check = form.getMoaspssURL(); +			if (MiscUtil.isNotEmpty(check)) { +				if (!ValidationHelper.validateURL(check)) { +					log.info("Not valid MOA-SP/SS Service URL"); +					errors.add(LanguageHelper.getErrorString("validation.general.moaspss.url.valid", request)); +				}  			}  		} @@ -312,109 +328,111 @@ public class MOAConfigValidator {  //			}  //		} -		check = form.getSLRequestTemplateHandy(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty SLRequestTemplate Handy-BKU"); -			errors.add(LanguageHelper.getErrorString("validation.general.slrequest.handy.empty", request)); -		} else { -			if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { -				log.info("SLRequestTemplate Handy-BKU is not valid"); -				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.handy.valid", request)); -			} -		} -		 -		check = form.getSLRequestTemplateLocal(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty SLRequestTemplate local BKU"); -			errors.add(LanguageHelper.getErrorString("validation.general.slrequest.local.empty", request)); -		} else { -			if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { -				log.info("SLRequestTemplate local BKU is not valid"); -				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.local.valid", request)); -			} -		} -		 -		check = form.getSLRequestTemplateOnline(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty SLRequestTemplate Online-BKU"); -			errors.add(LanguageHelper.getErrorString("validation.general.slrequest.online.empty", request)); -		} else { -			if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { -				log.info("SLRequestTemplate Online-BKU is not valid"); -				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.online.valid", request)); +		if (isMOAIDMode) { +			check = form.getSLRequestTemplateHandy(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty SLRequestTemplate Handy-BKU"); +				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.handy.empty", request)); +			} else { +				if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { +					log.info("SLRequestTemplate Handy-BKU is not valid"); +					errors.add(LanguageHelper.getErrorString("validation.general.slrequest.handy.valid", request)); +				}  			} -		} -		 -		check = form.getSsoFriendlyName(); -		if (MiscUtil.isNotEmpty(check)) { -			if (ValidationHelper.containsNotValidCharacter(check, false)) { -				log.info("SSO friendlyname is not valid: " + check); -				errors.add(LanguageHelper.getErrorString("validation.general.sso.friendlyname.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +			 +			check = form.getSLRequestTemplateLocal(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty SLRequestTemplate local BKU"); +				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.local.empty", request)); +			} else { +				if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { +					log.info("SLRequestTemplate local BKU is not valid"); +					errors.add(LanguageHelper.getErrorString("validation.general.slrequest.local.valid", request)); +				}  			} -		} -		 -//		check = form.getSsoIdentificationNumber(); -//		if (MiscUtil.isNotEmpty(check)) { -//			if (ValidationHelper.containsPotentialCSSCharacter(check, false)) { -//				log.info("SSO IdentificationNumber is not valid: " + check); -//				errors.add(LanguageHelper.getErrorString("validation.general.sso.identificationnumber.valid",  -//						new Object[] {ValidationHelper.getPotentialCSSCharacter(false)} )); -//			} -//		} -		 -//		check = form.getSsoPublicUrl(); -//		if (MiscUtil.isNotEmpty(check)) { -//			if (!ValidationHelper.validateURL(check)) { -//				log.info("SSO Public URL is not valid"); -//				errors.add(LanguageHelper.getErrorString("validation.general.sso.publicurl.valid")); -//			} -//		} -		 -		check = form.getSsoSpecialText(); -		if (MiscUtil.isNotEmpty(check)) { -			if (ValidationHelper.containsNotValidCharacter(check, true)) { -				log.info("SSO SpecialText is not valid: " + check); -				errors.add(LanguageHelper.getErrorString("validation.general.sso.specialauthtext.valid",  -						new Object[] {ValidationHelper.getNotValidCharacter(true)} , request)); +			 +			check = form.getSLRequestTemplateOnline(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty SLRequestTemplate Online-BKU"); +				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.online.empty", request)); +			} else { +				if (ValidationHelper.isNotValidIdentityLinkSigner(check)) { +					log.info("SLRequestTemplate Online-BKU is not valid"); +					errors.add(LanguageHelper.getErrorString("validation.general.slrequest.online.valid", request)); +				}  			} -		} -		 -		check = form.getSsoTarget(); -		if (MiscUtil.isEmpty(check)) { -			log.info("Empty SSO Target"); -			//errors.add(LanguageHelper.getErrorString("validation.general.sso.target.empty", request)); -		} else { -			if (!ValidationHelper.isValidAdminTarget(check)) { -				 +			check = form.getSsoFriendlyName(); +			if (MiscUtil.isNotEmpty(check)) {  				if (ValidationHelper.containsNotValidCharacter(check, false)) { -					log.warn("IdentificationNumber contains potentail XSS characters: " + check); -					errors.add(LanguageHelper.getErrorString("validation.general.sso.target.valid",  +					log.info("SSO friendlyname is not valid: " + check); +					errors.add(LanguageHelper.getErrorString("validation.general.sso.friendlyname.valid",   							new Object[] {ValidationHelper.getNotValidCharacter(false)}, request ));  				} +			} +			 +	//		check = form.getSsoIdentificationNumber(); +	//		if (MiscUtil.isNotEmpty(check)) { +	//			if (ValidationHelper.containsPotentialCSSCharacter(check, false)) { +	//				log.info("SSO IdentificationNumber is not valid: " + check); +	//				errors.add(LanguageHelper.getErrorString("validation.general.sso.identificationnumber.valid",  +	//						new Object[] {ValidationHelper.getPotentialCSSCharacter(false)} )); +	//			} +	//		} +			 +	//		check = form.getSsoPublicUrl(); +	//		if (MiscUtil.isNotEmpty(check)) { +	//			if (!ValidationHelper.validateURL(check)) { +	//				log.info("SSO Public URL is not valid"); +	//				errors.add(LanguageHelper.getErrorString("validation.general.sso.publicurl.valid")); +	//			} +	//		} +			 +			check = form.getSsoSpecialText(); +			if (MiscUtil.isNotEmpty(check)) { +				if (ValidationHelper.containsNotValidCharacter(check, true)) { +					log.info("SSO SpecialText is not valid: " + check); +					errors.add(LanguageHelper.getErrorString("validation.general.sso.specialauthtext.valid",  +							new Object[] {ValidationHelper.getNotValidCharacter(true)} , request)); +				} +			} +			 +			check = form.getSsoTarget(); +			if (MiscUtil.isEmpty(check)) { +				log.info("Empty SSO Target"); +				//errors.add(LanguageHelper.getErrorString("validation.general.sso.target.empty", request)); -				String num = check.replaceAll(" ", ""); -				 -				if ( !(num.startsWith(Constants.IDENIFICATIONTYPE_FN) ||  -						num.startsWith(Constants.IDENIFICATIONTYPE_ZVR) || -							num.startsWith(Constants.IDENIFICATIONTYPE_ERSB) ) ) { +			} else { +				if (!ValidationHelper.isValidAdminTarget(check)) { -					log.info("Not valid SSO Target"); -					errors.add(LanguageHelper.getErrorString("validation.general.sso.target.valid", request)); +					if (ValidationHelper.containsNotValidCharacter(check, false)) { +						log.warn("IdentificationNumber contains potentail XSS characters: " + check); +						errors.add(LanguageHelper.getErrorString("validation.general.sso.target.valid",  +								new Object[] {ValidationHelper.getNotValidCharacter(false)}, request )); +					} +					 +					String num = check.replaceAll(" ", ""); +					 +					if ( !(num.startsWith(Constants.IDENIFICATIONTYPE_FN) ||  +							num.startsWith(Constants.IDENIFICATIONTYPE_ZVR) || +								num.startsWith(Constants.IDENIFICATIONTYPE_ERSB) ) ) { +						 +						log.info("Not valid SSO Target"); +						errors.add(LanguageHelper.getErrorString("validation.general.sso.target.valid", request)); +					} +									  				} -								  			} -		} -		 -		check = form.getSzrgwURL(); -		if (MiscUtil.isNotEmpty(check)) {			 -			String[] szrGWServiceURLs = check.split(","); -			for (String el : szrGWServiceURLs) {			 -				if (MiscUtil.isNotEmpty(el) && !ValidationHelper.validateURL(StringUtils.chomp(el.trim()))) { -					log.info("Not valid Online-Mandate Service URL"); -					errors.add(LanguageHelper.getErrorString("validation.general.szrgw.url.valid",  -							new Object[]{el}, request)); +			 +			check = form.getSzrgwURL(); +			if (MiscUtil.isNotEmpty(check)) {			 +				String[] szrGWServiceURLs = check.split(","); +				for (String el : szrGWServiceURLs) {			 +					if (MiscUtil.isNotEmpty(el) && !ValidationHelper.validateURL(StringUtils.chomp(el.trim()))) { +						log.info("Not valid Online-Mandate Service URL"); +						errors.add(LanguageHelper.getErrorString("validation.general.szrgw.url.valid",  +								new Object[]{el}, request)); +					}  				}  			}  		} @@ -433,41 +451,42 @@ public class MOAConfigValidator {  		} -		 -		if (form.getFileUploadFileName() != null && !form.getFileUploadFileName().isEmpty()) { -			HashMap<String, byte[]> map = new HashMap<String, byte[]>(); -			for (int i=0; i<form.getFileUploadFileName().size(); i++) { -				String filename = form.getFileUploadFileName().get(i); -				 -				if (MiscUtil.isNotEmpty(filename)) { -					if (ValidationHelper.containsNotValidCharacter(filename, false)) { -						log.info("SL Transformation Filename is not valid"); -						errors.add(LanguageHelper.getErrorString("validation.general.slrequest.filename.valid", request)); -						 -					} else { -						try { -							File file = form.getFileUpload().get(i); -							FileInputStream stream = new FileInputStream(file); -							map.put(filename, Base64Utils.encode(stream).getBytes("UTF-8")); +		if (isMOAIDMode) {  +			if (form.getFileUploadFileName() != null && !form.getFileUploadFileName().isEmpty()) { +				HashMap<String, byte[]> map = new HashMap<String, byte[]>(); +				for (int i=0; i<form.getFileUploadFileName().size(); i++) { +					String filename = form.getFileUploadFileName().get(i); +					 +					if (MiscUtil.isNotEmpty(filename)) { +						if (ValidationHelper.containsNotValidCharacter(filename, false)) { +							log.info("SL Transformation Filename is not valid"); +							errors.add(LanguageHelper.getErrorString("validation.general.slrequest.filename.valid", request)); -						} catch (IOException e) { -							log.info("SecurtiyLayerTransformation with FileName " -									+ filename +" can not be loaded." , e); -							errors.add(LanguageHelper.getErrorString("validation.general.slrequest.file.valid",  -									new Object[] {filename}, request )); -						}	 +						} else { +							try { +								File file = form.getFileUpload().get(i); +								FileInputStream stream = new FileInputStream(file); +								map.put(filename, Base64Utils.encode(stream).getBytes("UTF-8")); +								 +							} catch (IOException e) { +								log.info("SecurtiyLayerTransformation with FileName " +										+ filename +" can not be loaded." , e); +								errors.add(LanguageHelper.getErrorString("validation.general.slrequest.file.valid",  +										new Object[] {filename}, request )); +							}	 +						}  					}  				} -			} -						 -			form.setSecLayerTransformation(map); -			 -		} else { -			if (form.getSecLayerTransformation() == null) {			 -				log.info("AuthBlock Transformation file is empty"); -				errors.add(LanguageHelper.getErrorString("validation.general.slrequest.file.empty", request)); +							 +				form.setSecLayerTransformation(map); -			}			 +			} else { +				if (form.getSecLayerTransformation() == null) {			 +					log.info("AuthBlock Transformation file is empty"); +					errors.add(LanguageHelper.getErrorString("validation.general.slrequest.file.empty", request)); +					 +				}			 +			}  		} diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java index 6b58a22b4..5a31d8f47 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAAuthenticationDataValidation.java @@ -175,6 +175,14 @@ public class OAAuthenticationDataValidation {  			}  		} +		check =form.getEidServiceSelected(); +		if (MiscUtil.isNotEmpty(check)) { +			if (!ValidationHelper.validateURL(check)) { +				log.info("Not valid E-ID Service URL"); +				errors.add(LanguageHelper.getErrorString("validation.general.eid.url.valid",  +						new Object[]{check}, request)); +			} +		}  		if (form.isEnableTestCredentials()   				&& form.getTestCredialOIDList() != null && !form.getTestCredialOIDList().isEmpty()) { diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties index fbd6fedcd..2ef63a529 100644 --- a/id/ConfigWebTool/src/main/resources/applicationResources_de.properties +++ b/id/ConfigWebTool/src/main/resources/applicationResources_de.properties @@ -154,6 +154,7 @@ webpages.moaconfig.services.header=Externe Services  webpages.moaconfig.services.mandates=Online-Vollmachten Service URLs (CSV)  webpages.moaconfig.services.szrgw=Zentraler nationaler eIDAS Connector URLs (CSV)  webpages.moaconfig.services.elgamandateservice=ELGA Mandate Service EntityIDs (CSV) +webpages.moaconfig.services.eidsystemservice=E-ID System EntityIDs (CSV)  webpages.moaconfig.sso.header=Single Sign-On  webpages.moaconfig.sso.PublicUrl=SSO Service URL-Prefix  webpages.moaconfig.sso.FriendlyName=SSO Service Name @@ -263,14 +264,20 @@ webpages.oaconfig.general.aditional.useUTC=UTC Zeit verwenden  webpages.oaconfig.general.aditional.calculateHPI="TODO!"  webpages.oaconfig.general.isHideBPKAuthBlock=bPK/wbPK im AuthBlock ausblenden -webpages.oaconfig.general.neweid.header=Demo-Modus zur Simulation der Austrian eID  -webpages.oaconfig.general.neweid.activate=Demo-Modus aktivieren +webpages.oaconfig.general.neweid.header=E-ID Mode  +webpages.oaconfig.general.neweid.proxy.activate=E-ID Proxy-Mode aktivieren +webpages.oaconfig.general.neweid.demo.activate=E-ID Demo-Mode aktivieren + +webpages.oaconfig.general.foreign.header=Weitere bPKs/fremd-bPKs im MOA-ID Mode   webpages.oaconfig.general.foreign.sectors=Sektoren f\u00FCr Fremd-bPKs (CSV)  webpages.oaconfig.general.additionalbpks.sectors=Sektoren f\u00FCr weitere bPKs (CSV)  webpages.oaconfig.general.szrgw.header=Zentraler nationaler eIDAS Connector  webpages.oaconfig.general.szrgw.selected=URL zum zentralen eIDAS Connector +webpages.oaconfig.general.eid.header=Der \u00f6sterreichische E-ID  +webpages.oaconfig.general.eid.selected=URL zum E-ID Service +  webpages.oaconfig.menu.saml1.show=SAML1 Konfiguration einblenden  webpages.oaconfig.menu.saml1.hidden=SAML1 Konfiguration ausblenden  webpages.oaconfig.menu.pvp2.show=PVP2 Konfiguration einblenden @@ -415,6 +422,7 @@ validation.general.IdentityLinkSigners.valid=Der IdentityLinkSigner in der Zeile  validation.general.mandateservice.valid=Die URL {0} zum Online-Vollmachten Service hat kein g\u00F6ltiges Format.  validation.general.elga.mandateservice.valid=Die EntityID {0} zum ELGA Vertretungsservice hat kein g\u00F6ltiges Format.  validation.general.szrgw.url.valid=Die URL {0} des zentralen eIDAS Connectors hat kein g\u00F6ltiges Format. +validation.general.eid.url.valid=Die URL {0} zum E-ID System hat kein g\u00F6ltiges Format.  validation.general.moasp.auth.transformation.empty=Die Transformation f\u00F6r den Authentfizierungsblock ist leer.  validation.general.moasp.auth.transformation.valid=Die Transformation f\u00F6r den Authentfizierungsblock  in der Zeile {0} enth\u00E4lt ein ung\u00FCltiges Zeichen. Folgende Zeichen sind nicht erlaubt\: {1}  validation.general.moasp.auth.trustprofile.empty=Das TrustProfile zur Pr\u00F6fung des Authentfizierungsblock ist leer. diff --git a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties index f49bbfdc8..6d0a89a64 100644 --- a/id/ConfigWebTool/src/main/resources/applicationResources_en.properties +++ b/id/ConfigWebTool/src/main/resources/applicationResources_en.properties @@ -153,6 +153,7 @@ webpages.moaconfig.services.header=External Services  webpages.moaconfig.services.mandates=Online-Mandate Service URLs (CSV)  webpages.moaconfig.services.szrgw=Central national eIDAS Conenctor URLs (CSV)  webpages.moaconfig.services.elgamandateservice=ELGA Mandate Service EntityIDs (CSV) +webpages.moaconfig.services.eidsystemservice=E-ID System EntityIDs (CSV)  webpages.moaconfig.sso.header=Single Sign-On  webpages.moaconfig.sso.PublicUrl=SSO Service URL-Prefix  webpages.moaconfig.sso.FriendlyName=SSO Service Name @@ -269,14 +270,20 @@ webpages.oaconfig.general.aditional.useUTC=Use UTC time  webpages.oaconfig.general.aditional.calculateHPI="TODO!"  webpages.oaconfig.general.isHideBPKAuthBlock=Hide bPK/wbPK from AuthBlock -webpages.oaconfig.general.neweid.header=Demo-mode to simulate new Austrian eID  -webpages.oaconfig.general.neweid.activate=Activate demo-mode +webpages.oaconfig.general.neweid.header=E-ID Mode +webpages.oaconfig.general.neweid.proxy.activate=Activate E-ID Proxy Mode +webpages.oaconfig.general.neweid.demo.activate=Activate E-ID Demo Mode + +webpages.oaconfig.general.foreign.header=Additional bPKs/foreign-bPKs in case of MOA-ID mode   webpages.oaconfig.general.foreign.sectors=Sectors for foreign pseudonyms (CSV)  webpages.oaconfig.general.additionalbpks.sectors=Sectors for additional pseudonyms (CSV)  webpages.oaconfig.general.szrgw.header=Central national eIDAS Connector  webpages.oaconfig.general.szrgw.selected=URL to central eIDAS Connector +webpages.oaconfig.general.eid.header=Austrian E-ID  +webpages.oaconfig.general.eid.selected=URL to E-ID system +  webpages.oaconfig.menu.saml1.show=Show SAML1 configuration  webpages.oaconfig.menu.saml1.hidden=Hide SAML1 configuration  webpages.oaconfig.menu.pvp2.show=Show PVP2 configuration @@ -414,6 +421,7 @@ validation.general.IdentityLinkSigners.valid=IdentityLinkSigner in the line {0}  validation.general.mandateservice.valid=URL {0} for Online-Mandating Service has invalid format.  validation.general.elga.mandateservice.valid=EntityID {0} for ELGA Mandate-Service has invalid format.  validation.general.szrgw.url.valid=URL {0} for central eIDAs Connector has invalid format. +validation.general.eid.url.valid=URL {0} for E-ID System has invalid format.  validation.general.moasp.auth.transformation.empty=Transformation for authentication block is blank.  validation.general.moasp.auth.transformation.valid=Transformation for authentication block in the line {0} contians forbidden characters. The following characters are not allowed\: {1}  validation.general.moasp.auth.trustprofile.empty=TrustProfile for checking of authentication block is blank. diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp index 79c66f37c..6d8421b51 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/editMOAConfig.jsp @@ -69,58 +69,60 @@  							</s:checkbox> -				 -						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.defaultbkus.header", request) %></h3> -							 -							<s:textfield name="moaconfig.defaultBKUHandy"  -								value="%{moaconfig.defaultBKUHandy}"  -								labelposition="left" -								key="webpages.oaconfig.general.bku.handy" -								cssClass="textfield_long"> -							</s:textfield> -	 -							<s:textfield name="moaconfig.defaultBKULocal"  -								value="%{moaconfig.defaultBKULocal}"  -								labelposition="left" -								key="webpages.oaconfig.general.bku.local" -								cssClass="textfield_long"> -							</s:textfield> -							 -							<s:textfield name="moaconfig.defaultBKUOnline"  -								value="%{moaconfig.defaultBKUOnline}"  -								labelposition="left" -								key="webpages.oaconfig.general.bku.online" -								cssClass="textfield_long"> -							</s:textfield> -						</div> -						 -						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.slrequesttemplates.header", request) %></h3> +						<s:if test="moaconfig.isMoaidMode()"> +							<div class="oa_config_block"> +								<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.defaultbkus.header", request) %></h3> -							<s:textfield name="moaconfig.SLRequestTemplateHandy"  -								value="%{moaconfig.SLRequestTemplateHandy}"  -								labelposition="left" -								key="webpages.moaconfig.slrequesttemplates.handy" -								cssClass="textfield_long"> -							</s:textfield> -	 -							<s:textfield name="moaconfig.SLRequestTemplateLocal"  -								value="%{moaconfig.SLRequestTemplateLocal}"  -								labelposition="left" -								key="webpages.moaconfig.slrequesttemplates.local" -								cssClass="textfield_long"> -							</s:textfield> -							 -							<s:textfield name="moaconfig.SLRequestTemplateOnline"  -								value="%{moaconfig.SLRequestTemplateOnline}"  -								labelposition="left" -								key="webpages.moaconfig.slrequesttemplates.online" -								cssClass="textfield_long"> -							</s:textfield> +								<s:textfield name="moaconfig.defaultBKUHandy"  +									value="%{moaconfig.defaultBKUHandy}"  +									labelposition="left" +									key="webpages.oaconfig.general.bku.handy" +									cssClass="textfield_long"> +								</s:textfield> +		 +								<s:textfield name="moaconfig.defaultBKULocal"  +									value="%{moaconfig.defaultBKULocal}"  +									labelposition="left" +									key="webpages.oaconfig.general.bku.local" +									cssClass="textfield_long"> +								</s:textfield> +								 +								<s:textfield name="moaconfig.defaultBKUOnline"  +									value="%{moaconfig.defaultBKUOnline}"  +									labelposition="left" +									key="webpages.oaconfig.general.bku.online" +									cssClass="textfield_long"> +								</s:textfield> +							</div> -						</div>			 - +							<div class="oa_config_block"> +								<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.slrequesttemplates.header", request) %></h3> +									 +								<s:textfield name="moaconfig.SLRequestTemplateHandy"  +									value="%{moaconfig.SLRequestTemplateHandy}"  +									labelposition="left" +									key="webpages.moaconfig.slrequesttemplates.handy" +									cssClass="textfield_long"> +								</s:textfield> +		 +								<s:textfield name="moaconfig.SLRequestTemplateLocal"  +									value="%{moaconfig.SLRequestTemplateLocal}"  +									labelposition="left" +									key="webpages.moaconfig.slrequesttemplates.local" +									cssClass="textfield_long"> +								</s:textfield> +								 +								<s:textfield name="moaconfig.SLRequestTemplateOnline"  +									value="%{moaconfig.SLRequestTemplateOnline}"  +									labelposition="left" +									key="webpages.moaconfig.slrequesttemplates.online" +									cssClass="textfield_long"> +								</s:textfield> +								 +							</div>			 +						</s:if> +						 +						  						<div class="oa_config_block">  							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.certificates.header", request) %></h3> @@ -156,177 +158,204 @@  								key="webpages.moaconfig.timeout.assertion"  								cssClass="textfield_long">  							</s:textfield> -							<s:textfield name="moaconfig.timeoutMOASessionCreated"  -								value="%{moaconfig.timeoutMOASessionCreated}"  -								labelposition="left" -								key="webpages.moaconfig.timeout.MOASessionCreated" -								cssClass="textfield_long"> -							</s:textfield> -							<s:textfield name="moaconfig.timeoutMOASessionUpdated"  -								value="%{moaconfig.timeoutMOASessionUpdated}"  -								labelposition="left" -								key="webpages.moaconfig.timeout.MOASessionUpdated" -								cssClass="textfield_long"> -							</s:textfield> -							 -						</div> -						 -						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.moasp.header", request) %></h3> -							 -							<s:textfield name="moaconfig.moaspssIdlTrustProfile"  -								value="%{moaconfig.moaspssIdlTrustProfile}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.idltrustprofile" -								cssClass="textfield_long"> -							</s:textfield> -							 -							<s:textfield name="moaconfig.moaspssIdlTrustProfileTest"  -								value="%{moaconfig.moaspssIdlTrustProfileTest}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.idltrustprofile.test" -								cssClass="textfield_long"> -							</s:textfield> -<%-- 							<s:textarea name="moaconfig.identityLinkSigners"  -								value="%{moaconfig.identityLinkSigners}"  -								labelposition="left" -								key="webpages.moaconfig.identitylinksigners" -								cssClass="textfield_large"> -							</s:textarea> --%> -							 -							<s:textfield name="moaconfig.moaspssAuthTrustProfile"  -								value="%{moaconfig.moaspssAuthTrustProfile}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.authtrustprofile" -								cssClass="textfield_long"> -							</s:textfield> -							 -							<s:textfield name="moaconfig.moaspssAuthTrustProfileTest"  -								value="%{moaconfig.moaspssAuthTrustProfileTest}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.authtrustprofile.test" -								cssClass="textfield_long"> -							</s:textfield> -							 -							 -<%-- 							<s:textarea name="moaconfig.moaspssAuthTransformations"  -								value="%{moaconfig.moaspssAuthTransformations}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.authblocktransform" -								cssClass="textfield_large"> -							</s:textarea> --%> -							<s:textfield name="moaconfig.moaspssAuthTransformations"  -								value="%{moaconfig.moaspssAuthTransformations}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.authblocktransform" -								cssClass="textfield_long"> -							</s:textfield> +							<s:if test="moaconfig.isMoaidMode()"> +								<s:textfield name="moaconfig.timeoutMOASessionCreated"  +									value="%{moaconfig.timeoutMOASessionCreated}"  +									labelposition="left" +									key="webpages.moaconfig.timeout.MOASessionCreated" +									cssClass="textfield_long"> +								</s:textfield> +								<s:textfield name="moaconfig.timeoutMOASessionUpdated"  +									value="%{moaconfig.timeoutMOASessionUpdated}"  +									labelposition="left" +									key="webpages.moaconfig.timeout.MOASessionUpdated" +									cssClass="textfield_long"> +								</s:textfield> +							</s:if> +							<s:else> +								<s:hidden name="moaconfig.timeoutMOASessionCreated"  +									value="300"> +								</s:hidden> +								<s:hidden name="moaconfig.timeoutMOASessionUpdated"  +									value="300"> +								</s:hidden> +							</s:else> -<%-- 							<s:textfield name="moaconfig.moaspssURL"  -								value="%{moaconfig.moaspssURL}"  -								labelposition="left" -								key="webpages.moaconfig.moasp.url" -								cssClass="textfield_long"> -							</s:textfield> --%>  						</div> -						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.services.header", request) %></h3> -							<s:textarea name="moaconfig.mandateURL"  -								value="%{moaconfig.mandateURL}"  -								labelposition="left" -								key="webpages.moaconfig.services.mandates" -								cssClass="textfield_long"> -							</s:textarea> -							<s:textarea name="moaconfig.szrgwURL"  -								value="%{moaconfig.szrgwURL}"  -								labelposition="left" -								key="webpages.moaconfig.services.szrgw" -								cssClass="textfield_long"> -							</s:textarea> -							<s:textarea name="moaconfig.elgaMandateServiceURL"  -								value="%{moaconfig.elgaMandateServiceURL}"  -								labelposition="left" -								key="webpages.moaconfig.services.elgamandateservice" -								cssClass="textfield_long"> -							</s:textarea> -						</div> +						<s:if test="moaconfig.isMoaidMode()"> +							<div class="oa_config_block"> +								<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.moasp.header", request) %></h3> +								 +								<s:textfield name="moaconfig.moaspssIdlTrustProfile"  +									value="%{moaconfig.moaspssIdlTrustProfile}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.idltrustprofile" +									cssClass="textfield_long"> +								</s:textfield> +								 +								<s:textfield name="moaconfig.moaspssIdlTrustProfileTest"  +									value="%{moaconfig.moaspssIdlTrustProfileTest}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.idltrustprofile.test" +									cssClass="textfield_long"> +								</s:textfield> +								 +	<%-- 							<s:textarea name="moaconfig.identityLinkSigners"  +									value="%{moaconfig.identityLinkSigners}"  +									labelposition="left" +									key="webpages.moaconfig.identitylinksigners" +									cssClass="textfield_large"> +								</s:textarea> --%> +								 +								<s:textfield name="moaconfig.moaspssAuthTrustProfile"  +									value="%{moaconfig.moaspssAuthTrustProfile}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.authtrustprofile" +									cssClass="textfield_long"> +								</s:textfield> +								 +								<s:textfield name="moaconfig.moaspssAuthTrustProfileTest"  +									value="%{moaconfig.moaspssAuthTrustProfileTest}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.authtrustprofile.test" +									cssClass="textfield_long"> +								</s:textfield> +								 +								 +	<%-- 							<s:textarea name="moaconfig.moaspssAuthTransformations"  +									value="%{moaconfig.moaspssAuthTransformations}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.authblocktransform" +									cssClass="textfield_large"> +								</s:textarea> --%> +								<s:textfield name="moaconfig.moaspssAuthTransformations"  +									value="%{moaconfig.moaspssAuthTransformations}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.authblocktransform" +									cssClass="textfield_long"> +								</s:textfield> +								 +	<%-- 							<s:textfield name="moaconfig.moaspssURL"  +									value="%{moaconfig.moaspssURL}"  +									labelposition="left" +									key="webpages.moaconfig.moasp.url" +									cssClass="textfield_long"> +								</s:textfield> --%> +								 +							</div> +						</s:if> -						<div class="oa_config_block" > -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.sso.header", request) %></h3> -<%-- 							<s:textfield name="moaconfig.ssoPublicUrl"  -								value="%{moaconfig.ssoPublicUrl}"  -								labelposition="left" -								key="webpages.moaconfig.sso.PublicUrl" -								cssClass="textfield_long"> -							</s:textfield> --%> -							<s:textfield name="moaconfig.ssoFriendlyName"  -								value="%{moaconfig.ssoFriendlyName}"  -								labelposition="left" -								key="webpages.moaconfig.sso.FriendlyName" -								cssClass="textfield_long"> -							</s:textfield>							 -							<s:textfield name="moaconfig.ssoTarget "  -								value="%{moaconfig.ssoTarget }"  -								labelposition="left" -								key="webpages.moaconfig.services.sso.Target" -								cssClass="textfield_long"> -							</s:textfield> -							<s:textarea name="moaconfig.ssoSpecialText"  -								value="%{moaconfig.ssoSpecialText}"  -								labelposition="left" -								key="webpages.moaconfig.services.sso.SpecialText" -								cssClass="textfield_large"> -							</s:textarea>														 -						</div>  						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.header", request) %></h3> -							<s:select list="storkconfig.allowedLoALevels" -								value="%{storkconfig.defaultQaa}" -								name="storkconfig.defaultQaa" -								key="webpages.moaconfig.stork.qaa.default" -								labelposition="left"  -								cssClass="textfield_long" /> -							<h4><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.pepslist", request) %></h4> -              <table id="stork_pepslist"> -								<tr><td>Country Shortcode</td><td style="text-align:center;">PEPS URL</td><td>Supports XMLEncryption</td></tr> -								<s:iterator value="storkconfig.cpepslist" status="stat"> -								  <tr> -								  	<td style="display:none;"><s:textfield name="storkconfig.cpepslist[%{#stat.index}].hjid" value="%{hjid}" cssStyle="display:none;"/></td> -								  	<s:if test="%{countryCode == 'CC'}"> -									  	<td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].countryCode" value="%{countryCode}" cssClass="textfield_PEPS_CC"/></td> -								  	</s:if> -								  	<s:else> -								  		<td><s:property value="%{countryCode}" /></td> -								  	</s:else> -								    <td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].URL" value="%{URL}" cssClass="textfield_long"/></td> -								    <td><s:checkbox name="storkconfig.cpepslist[%{#stat.index}].supportsXMLSignature" value="%{supportsXMLSignature}" /></td>								     -								    <td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td> -								  </tr> -								</s:iterator> -                     						<s:if test="%{storkconfig.cpepslist == null || storkconfig.cpepslist.isEmpty}"> -                                    <tr><td><s:textfield name="storkconfig.cpepslist[0].countryCode" value="CC" cssClass="textfield_PEPS_CC"/></td> -                                        <td><s:textfield name="storkconfig.cpepslist[0].URL" value="http://" cssClass="textfield_long"/></td> -                                        <td><s:checkbox name="storkconfig.cpepslist[0].supportsXMLSignature" value="true" /></td> -                                        <td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td></tr> -                                </s:if> -                            </table> -							<input class="oa_buttons" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.newpeps", request) %>" onclick='newPeps();' /> -							<h4><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading", request) %></h4> -							<table id="stork_attributelist"> -								<tr><td><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading.name", request) %></td><td><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading.mandatory", request) %></td></tr> -								<s:iterator value="storkconfig.attributes" status="stat"> -									<tr><td><s:textfield name="storkconfig.attributes[%{#stat.index}].name" value="%{name}"/></td> -										<td><s:checkbox name="storkconfig.attributes[%{#stat.index}].mandatory" value="%{mandatory}" /></td> -										<td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.remove", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td></tr> -								</s:iterator> -							</table> -							<input class="oa_buttons" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.new", request) %>" onclick='newStorkAttribute();' /> +							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.services.header", request) %></h3> +							 +							<s:if test="moaconfig.isMoaidMode()"> +								<s:textarea name="moaconfig.mandateURL"  +									value="%{moaconfig.mandateURL}"  +									labelposition="left" +									key="webpages.moaconfig.services.mandates" +									cssClass="textfield_long"> +								</s:textarea> +								<s:textarea name="moaconfig.szrgwURL"  +									value="%{moaconfig.szrgwURL}"  +									labelposition="left" +									key="webpages.moaconfig.services.szrgw" +									cssClass="textfield_long"> +								</s:textarea> +								<s:textarea name="moaconfig.elgaMandateServiceURL"  +									value="%{moaconfig.elgaMandateServiceURL}"  +									labelposition="left" +									key="webpages.moaconfig.services.elgamandateservice" +									cssClass="textfield_long"> +								</s:textarea> +							</s:if> +							 +							<s:textarea name="moaconfig.eidSystemServiceURL"  +									value="%{moaconfig.eidSystemServiceURL}"  +									labelposition="left" +									key="webpages.moaconfig.services.eidsystemservice" +									cssClass="textfield_long"> +							</s:textarea>							  						</div> +						<s:if test="moaconfig.isMoaidMode()"> +							<div class="oa_config_block" > +								<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.sso.header", request) %></h3> +	<%-- 							<s:textfield name="moaconfig.ssoPublicUrl"  +									value="%{moaconfig.ssoPublicUrl}"  +									labelposition="left" +									key="webpages.moaconfig.sso.PublicUrl" +									cssClass="textfield_long"> +								</s:textfield> --%> +								<s:textfield name="moaconfig.ssoFriendlyName"  +									value="%{moaconfig.ssoFriendlyName}"  +									labelposition="left" +									key="webpages.moaconfig.sso.FriendlyName" +									cssClass="textfield_long"> +								</s:textfield>							 +								<s:textfield name="moaconfig.ssoTarget "  +									value="%{moaconfig.ssoTarget }"  +									labelposition="left" +									key="webpages.moaconfig.services.sso.Target" +									cssClass="textfield_long"> +								</s:textfield> +								<s:textarea name="moaconfig.ssoSpecialText"  +									value="%{moaconfig.ssoSpecialText}"  +									labelposition="left" +									key="webpages.moaconfig.services.sso.SpecialText" +									cssClass="textfield_large"> +								</s:textarea>														 +							</div> +							 +							<div class="oa_config_block"> +								<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.stork.header", request) %></h3> +								<s:select list="storkconfig.allowedLoALevels" +									value="%{storkconfig.defaultQaa}" +									name="storkconfig.defaultQaa" +									key="webpages.moaconfig.stork.qaa.default" +									labelposition="left"  +									cssClass="textfield_long" /> +								<h4><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.pepslist", request) %></h4> +	              <table id="stork_pepslist"> +									<tr><td>Country Shortcode</td><td style="text-align:center;">PEPS URL</td><td>Supports XMLEncryption</td></tr> +									<s:iterator value="storkconfig.cpepslist" status="stat"> +									  <tr> +									  	<td style="display:none;"><s:textfield name="storkconfig.cpepslist[%{#stat.index}].hjid" value="%{hjid}" cssStyle="display:none;"/></td> +									  	<s:if test="%{countryCode == 'CC'}"> +										  	<td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].countryCode" value="%{countryCode}" cssClass="textfield_PEPS_CC"/></td> +									  	</s:if> +									  	<s:else> +									  		<td><s:property value="%{countryCode}" /></td> +									  	</s:else> +									    <td><s:textfield name="storkconfig.cpepslist[%{#stat.index}].URL" value="%{URL}" cssClass="textfield_long"/></td> +									    <td><s:checkbox name="storkconfig.cpepslist[%{#stat.index}].supportsXMLSignature" value="%{supportsXMLSignature}" /></td>								     +									    <td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td> +									  </tr> +									</s:iterator> +	                     						<s:if test="%{storkconfig.cpepslist == null || storkconfig.cpepslist.isEmpty}"> +	                                    <tr><td><s:textfield name="storkconfig.cpepslist[0].countryCode" value="CC" cssClass="textfield_PEPS_CC"/></td> +	                                        <td><s:textfield name="storkconfig.cpepslist[0].URL" value="http://" cssClass="textfield_long"/></td> +	                                        <td><s:checkbox name="storkconfig.cpepslist[0].supportsXMLSignature" value="true" /></td> +	                                        <td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.removepeps", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td></tr> +	                                </s:if> +	                            </table> +								<input class="oa_buttons" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.newpeps", request) %>" onclick='newPeps();' /> +								<h4><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading", request) %></h4> +								<table id="stork_attributelist"> +									<tr><td><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading.name", request) %></td><td><%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.heading.mandatory", request) %></td></tr> +									<s:iterator value="storkconfig.attributes" status="stat"> +										<tr><td><s:textfield name="storkconfig.attributes[%{#stat.index}].name" value="%{name}"/></td> +											<td><s:checkbox name="storkconfig.attributes[%{#stat.index}].mandatory" value="%{mandatory}" /></td> +											<td><input class="button_narrow" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.remove", request) %>" onclick='this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);'/></td></tr> +									</s:iterator> +								</table> +								<input class="oa_buttons" type="button" value="<%=LanguageHelper.getGUIString("webpages.moaconfig.stork.attributes.new", request) %>" onclick='newStorkAttribute();' /> +							</div> +						</s:if> +						  						<div class="oa_config_block">  							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.protocols.header", request) %></h3> @@ -338,18 +367,21 @@  									key="webpages.moaconfig.protocols.legacy.saml1"  									cssClass="checkbox">  								</s:checkbox> -								<s:checkbox name="moaconfig.protocolActivePVP21"  -									value="%{moaconfig.protocolActivePVP21}" -									labelposition="right" -									key="webpages.moaconfig.protocols.legacy.pvp2" -									cssClass="checkbox"> -								</s:checkbox> -								<s:checkbox name="moaconfig.protocolActiveOAuth"  -									value="%{moaconfig.protocolActiveOAuth}" -									labelposition="right" -									key="webpages.moaconfig.protocols.oauth" -									cssClass="checkbox"> -								</s:checkbox> +								 +								<s:if test="moaconfig.isMoaidMode()"> +									<s:checkbox name="moaconfig.protocolActivePVP21"  +										value="%{moaconfig.protocolActivePVP21}" +										labelposition="right" +										key="webpages.moaconfig.protocols.legacy.pvp2" +										cssClass="checkbox"> +									</s:checkbox> +									<s:checkbox name="moaconfig.protocolActiveOAuth"  +										value="%{moaconfig.protocolActiveOAuth}" +										labelposition="right" +										key="webpages.moaconfig.protocols.oauth" +										cssClass="checkbox"> +									</s:checkbox> +								</s:if>  							</div>  							<br> @@ -362,12 +394,15 @@  									key="webpages.moaconfig.protocols.legacy.saml1"  									cssClass="checkbox">  								</s:checkbox> -								<s:checkbox name="moaconfig.legacy_pvp2"  -									value="%{moaconfig.legacy_pvp2}" -									labelposition="right" -									key="webpages.moaconfig.protocols.legacy.pvp2" -									cssClass="checkbox"> -								</s:checkbox> +								 +								<s:if test="moaconfig.isMoaidMode()"> +									<s:checkbox name="moaconfig.legacy_pvp2"  +										value="%{moaconfig.legacy_pvp2}" +										labelposition="right" +										key="webpages.moaconfig.protocols.legacy.pvp2" +										cssClass="checkbox"> +									</s:checkbox> +								</s:if>  							</div>  							<br> @@ -461,24 +496,25 @@  							</div>  						</div> -						<div class="oa_config_block"> -							<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.sl.transormations.header", request) %></h3> -							 -							<s:iterator value="%{moaconfig.fileUploadFileName}" var="fileName"> -								<s:label key="webpages.moaconfig.sl.transormations.filename" value="%{fileName}"/> -						 -								<div id="pvp2_certificate_upload"> -									<s:file name="moaconfig.fileUpload" key="webpages.moaconfig.sl.transormations.upload" cssClass="textfield_long"></s:file> -								</div> -							</s:iterator> +						<s:if test="moaconfig.isMoaidMode()"> +							<div class="oa_config_block"> +								<h3><%=LanguageHelper.getGUIString("webpages.moaconfig.sl.transormations.header", request) %></h3> +								 +								<s:iterator value="%{moaconfig.fileUploadFileName}" var="fileName"> +									<s:label key="webpages.moaconfig.sl.transormations.filename" value="%{fileName}"/> -							<s:if test="moaconfig.fileUploadFileName.size() == 0">  									<div id="pvp2_certificate_upload">  										<s:file name="moaconfig.fileUpload" key="webpages.moaconfig.sl.transormations.upload" cssClass="textfield_long"></s:file> -								</div> -							</s:if> -							 -						</div> +									</div> +								</s:iterator> +								 +								<s:if test="moaconfig.fileUploadFileName.size() == 0"> +										<div id="pvp2_certificate_upload"> +											<s:file name="moaconfig.fileUpload" key="webpages.moaconfig.sl.transormations.upload" cssClass="textfield_long"></s:file> +									</div> +								</s:if>							 +							</div> +						</s:if>  						<br>  						<br> diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp index cc4220d0e..feab86593 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp @@ -46,12 +46,14 @@  					<s:include value="snippets/OA/authentication.jsp"></s:include> -					<s:include value="snippets/OA/bPKDecryption.jsp"></s:include> +					<s:if test="authOA.isMoaidMode()"> +						<s:include value="snippets/OA/bPKDecryption.jsp"></s:include> -					<s:include value="snippets/OA/sso.jsp"></s:include> +						<s:include value="snippets/OA/sso.jsp"></s:include> -					<s:include value="snippets/OA/stork.jsp"></s:include> -							 +						<s:include value="snippets/OA/stork.jsp"></s:include>						 +					</s:if> +						  					<div class="oa_config_block">  						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.protocols.header", request) %></h3> @@ -64,35 +66,40 @@  								</button>  							</s:if> -							<button type="button" class="oa_buttons" onclick="oaPVP2();" id="button_pvp2_show"> -								<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.pvp2.show", request) %> -						  </button> -							<button type="button" class="oa_buttons" onclick="oaPVP2();" id="button_pvp2_hidden"> -								<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.pvp2.hidden", request) %> -						  </button> -						   -						  <button type="button" class="oa_buttons" onclick="oaOAuth20();" id="button_oauth20_show"> -								<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.oauth20.show", request) %> -						  </button> -							<button type="button" style="display:none" class="oa_buttons" onclick="oaOAuth20();" id="button_oauth20_hidden"> -								<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.oauth20.hidden", request) %> -						  </button> -							 +							<s:if test="authOA.isMoaidMode()"> +								<button type="button" class="oa_buttons" onclick="oaPVP2();" id="button_pvp2_show"> +									<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.pvp2.show", request) %> +							  	</button> +								<button type="button" class="oa_buttons" onclick="oaPVP2();" id="button_pvp2_hidden"> +									<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.pvp2.hidden", request) %> +							  	</button> +							   +							  	<button type="button" class="oa_buttons" onclick="oaOAuth20();" id="button_oauth20_show"> +									<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.oauth20.show", request) %> +							  	</button> +								<button type="button" style="display:none" class="oa_buttons" onclick="oaOAuth20();" id="button_oauth20_hidden"> +									<%=LanguageHelper.getGUIString("webpages.oaconfig.menu.oauth20.hidden", request) %> +							  	</button> +							</s:if>  							<s:include value="snippets/OA/saml1.jsp"></s:include> -							<s:include value="snippets/OA/pvp2.jsp"> -								<s:param name="hideBlock">hidden</s:param> -							</s:include>							 +							<s:if test="authOA.isMoaidMode()"> +								<s:include value="snippets/OA/pvp2.jsp"> +									<s:param name="hideBlock">hidden</s:param> +								</s:include>							 -							<s:include value="snippets/OA/openIDConnect.jsp"></s:include>				 +								<s:include value="snippets/OA/openIDConnect.jsp"></s:include> +							</s:if>				  					</div> -					<s:include value="snippets/OA/formCustomization.jsp"></s:include> +					<s:if test="authOA.isMoaidMode()"> +						<s:include value="snippets/OA/formCustomization.jsp"></s:include> -					<s:include value="snippets/OA/revisionslog.jsp"></s:include> +						<s:include value="snippets/OA/revisionslog.jsp"></s:include> +					</s:if>  					<s:hidden name="formID"   							value="%{formID}"></s:hidden> diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/authentication.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/authentication.jsp index d2668e264..7a54df554 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/authentication.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/authentication.jsp @@ -3,8 +3,8 @@  <%@ taglib prefix="s" uri="/struts-tags" %>  <html> - -					<s:if test="authUser.isAdmin()"> +				<s:if test="authOA.isMoaidMode()"> +					<s:if test="authUser.isAdmin()">					  						<div class="oa_config_block">  							<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.bku.header", request) %></h3> @@ -167,16 +167,26 @@  					</div>						  					<div class="oa_config_block"> -						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.szrgw.header", request) %></h3> -						 +						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.szrgw.header", request) %></h3>						  						<s:select list="authOA.szrgwServicesList"  											key="webpages.oaconfig.general.szrgw.selected"  											labelposition="left"  											cssClass="selectfield_long"  											value="%{authOA.szrgwServiceSelected}"  											name="authOA.szrgwServiceSelected"> -						</s:select> -						 -					</div>	 +						</s:select>						 +					</div> +				</s:if> +					 +					<div class="oa_config_block"> +						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.eid.header", request) %></h3>						 +						<s:select list="authOA.eidServicesList" +											key="webpages.oaconfig.general.eid.selected" +											labelposition="left" +											cssClass="selectfield_long" +											value="%{authOA.eidServiceSelected}" +											name="authOA.eidServiceSelected"> +						</s:select>						 +					</div>		  </html>
\ No newline at end of file diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp index 367dc445d..1f7adea01 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/OA/targetConfiguration.jsp @@ -113,35 +113,47 @@  					</s:if> -					<div id="oa_config_foreignbPKArea" class="oa_config_block"> +					<div id="oa_config_EID_proxy_mode" class="oa_config_block">  						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.neweid.header", request) %></h3> +						<s:checkbox name="targetConfig.eidProxyActive"  +								value="%{targetConfig.eidProxyActive}" +								labelposition="left" +								key="webpages.oaconfig.general.neweid.proxy.activate" +								cssClass="checkbox"> +						</s:checkbox>		 +						  						<s:checkbox name="targetConfig.eidDemoActive"   								value="%{targetConfig.eidDemoActive}"  								labelposition="left" -								key="webpages.oaconfig.general.neweid.activate" +								key="webpages.oaconfig.general.neweid.demo.activate"  								cssClass="checkbox"> -						</s:checkbox> -						 -						<s:textarea name="targetConfig.foreignbPKTargets"  -									value="%{targetConfig.foreignbPKTargets}"  -									labelposition="left" -									key="webpages.oaconfig.general.foreign.sectors" -									cssClass="textfield_long" -									rows="6"								 -									requiredLabel="true" -									style="height:120px;">								 -						</s:textarea> -						 -						<s:textarea name="targetConfig.additionalbPKTargets"  -									value="%{targetConfig.additionalbPKTargets}"  -									labelposition="left" -									key="webpages.oaconfig.general.additionalbpks.sectors" -									cssClass="textfield_long" -									rows="6"								 -									requiredLabel="true" -									style="height:120px;">								 -						</s:textarea> +						</s:checkbox>					 +					</div>	 +					 +					<div id="oa_config_foreignbPKArea" class="oa_config_block"> +						<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.foreign.header", request) %></h3> +						<s:if test="authOA.isMoaidMode()">  +							<s:textarea name="targetConfig.foreignbPKTargets"  +										value="%{targetConfig.foreignbPKTargets}"  +										labelposition="left" +										key="webpages.oaconfig.general.foreign.sectors" +										cssClass="textfield_long" +										rows="6"								 +										requiredLabel="true" +										style="height:120px;">								 +							</s:textarea> +							 +							<s:textarea name="targetConfig.additionalbPKTargets"  +										value="%{targetConfig.additionalbPKTargets}"  +										labelposition="left" +										key="webpages.oaconfig.general.additionalbpks.sectors" +										cssClass="textfield_long" +										rows="6"								 +										requiredLabel="true" +										style="height:120px;">								 +							</s:textarea> +						</s:if>  					</div> diff --git a/id/ConfigWebTool/src/main/webapp/jsp/snippets/main_menu.jsp b/id/ConfigWebTool/src/main/webapp/jsp/snippets/main_menu.jsp index 95d6de912..f4c377d9c 100644 --- a/id/ConfigWebTool/src/main/webapp/jsp/snippets/main_menu.jsp +++ b/id/ConfigWebTool/src/main/webapp/jsp/snippets/main_menu.jsp @@ -18,10 +18,14 @@  			</div>  			<s:if test="authUser.isAdmin()"> -				<div class="menu_element"> -						<s:url action="listallinterfederationidps" var="interfederationConfig" namespace="/secure"/> -						<a href="<s:property value="#interfederationConfig" />"><%=LanguageHelper.getGUIString("webpages.mainpage.menu.interfederation", request) %></a> -				</div>			 +				 +				<s:if test="authOA.isMoaidMode()"> +					<div class="menu_element"> +							<s:url action="listallinterfederationidps" var="interfederationConfig" namespace="/secure"/> +							<a href="<s:property value="#interfederationConfig" />"><%=LanguageHelper.getGUIString("webpages.mainpage.menu.interfederation", request) %></a> +					</div> +				</s:if>			 +				  				<div class="menu_element">  						<s:url action="loadGeneralConfig" var="generalConfig" namespace="/secure"/>  						<a href="<s:property value="#generalConfig" />"><%=LanguageHelper.getGUIString("webpages.mainpage.menu.general.config.moaid", request) %></a> | 
