diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-08-07 10:25:31 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-08-07 10:25:31 +0200 | 
| commit | 57297522a1e6d925e6c15b46045e94b2db3e1b25 (patch) | |
| tree | 93e08f2879027e2e7b6f60f804655da739269671 /id/server/idserverlib | |
| parent | 317f83216d4429612f8038c8fc7d875cd5dabc75 (diff) | |
| download | moa-id-spss-57297522a1e6d925e6c15b46045e94b2db3e1b25.tar.gz moa-id-spss-57297522a1e6d925e6c15b46045e94b2db3e1b25.tar.bz2 moa-id-spss-57297522a1e6d925e6c15b46045e94b2db3e1b25.zip | |
Bugfixes:
  - ConfigDB Thread Problem (JPA does not close session automatically. Close JPA session manually in every Servlet)
  - Change general MOAID config operations at AuthConfigurationProvider.java
Diffstat (limited to 'id/server/idserverlib')
9 files changed, 320 insertions, 255 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java index 8d23f1a3b..f68e0361a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java @@ -23,6 +23,7 @@ import at.gv.egovernment.moa.id.auth.WrongParametersException;  import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;  import at.gv.egovernment.moa.id.auth.parser.StartAuthentificationParameterParser; +import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;  import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; @@ -141,6 +142,8 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {  	    	handleError(null, ex, req, resp, pendingRequestID);  	    } -	     +	    finally { +	    	ConfigurationDBUtils.closeSession(); +	    }  	}  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java index 8e5fccfef..67932063a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java @@ -48,6 +48,7 @@ import at.gv.egovernment.moa.id.auth.WrongParametersException;  import at.gv.egovernment.moa.id.auth.builder.BPKBuilder;  import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.config.ConnectionParameter;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;  import at.gv.egovernment.moa.id.moduls.ModulUtils; @@ -267,6 +268,10 @@ public class GetMISSessionIDServlet extends AuthServlet {  		} catch (ParserConfigurationException e) {  			handleError(null, e, req, resp, pendingRequestID);  		} +		 +	    finally { +	    	ConfigurationDBUtils.closeSession(); +	    }  	}  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java index 96914647e..09e4e957d 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java @@ -48,6 +48,7 @@ import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;  import at.gv.egovernment.moa.id.auth.WrongParametersException;  import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.config.ConnectionParameter;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; @@ -284,6 +285,10 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet {  		} catch (TransformerException e) {  			handleError(null, e, req, resp, pendingRequestID);  		} +		 +	    finally { +	    	ConfigurationDBUtils.closeSession(); +	    }    } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java index 896bd0864..9e7c8536d 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java @@ -43,6 +43,7 @@ import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;  import at.gv.egovernment.moa.id.auth.WrongParametersException;  import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;  import at.gv.egovernment.moa.id.util.ParamValidatorUtils; @@ -177,12 +178,16 @@ public class VerifyCertificateServlet extends AuthServlet {  		    	Logger.debug("Send CreateXMLSignatureRequest to BKU");
 -	    	} -	    		    	 
 +	    	}	    		    	 
  	    }
 -	    catch (MOAIDException ex) {
 +	    catch (MOAIDException ex) { +
  	      handleError(null, ex, req, resp, pendingRequestID);
 -	    } 
 +	    } +	     +	    finally { +	    	ConfigurationDBUtils.closeSession(); +	    }
    }    
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java index c6310d8c0..ac7466c11 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java @@ -43,6 +43,7 @@ import at.gv.egovernment.moa.id.auth.WrongParametersException;  import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder;  import at.gv.egovernment.moa.id.auth.builder.InfoboxReadRequestBuilderCertificate;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;  import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; @@ -225,8 +226,6 @@ public class VerifyIdentityLinkServlet extends AuthServlet {      			ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink");      		} -    		 -    		  //    	}  		try { @@ -244,6 +243,10 @@ public class VerifyIdentityLinkServlet extends AuthServlet {      catch (MOAIDException ex) {        handleError(null, ex, req, resp, pendingRequestID);      } +     +    finally { +    	ConfigurationDBUtils.closeSession(); +    }    }  } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java index ff8c562a7..192be5bbb 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java @@ -37,6 +37,7 @@ import java.security.NoSuchProviderException;  import java.util.ArrayList;  import java.util.HashMap;  import java.util.List; +import java.util.Map;  import java.util.Properties;  import javax.crypto.Cipher; @@ -54,6 +55,7 @@ import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;  import at.gv.egovernment.moa.id.commons.db.MOASessionDBUtils;  import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral;  import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes; +import at.gv.egovernment.moa.id.commons.db.dao.config.Contact;  import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities;  import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;  import at.gv.egovernment.moa.id.commons.db.dao.config.IdentityLinkSigners; @@ -62,6 +64,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;  import at.gv.egovernment.moa.id.commons.db.dao.config.MOASP;  import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;  import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineMandates; +import at.gv.egovernment.moa.id.commons.db.dao.config.Organization;  import at.gv.egovernment.moa.id.commons.db.dao.config.PVP2;  import at.gv.egovernment.moa.id.commons.db.dao.config.Protocols;  import at.gv.egovernment.moa.id.commons.db.dao.config.SLRequestTemplates; @@ -154,11 +157,34 @@ public class AuthConfigurationProvider extends ConfigurationProvider {    //    // configuration data    // -  private static MOAIDConfiguration moaidconfig; +  private static MOAIDConfiguration moaidconfig = null; -  private static Properties props; +  private static Properties props = null; -  private static STORKConfig storkconfig; +  private static STORKConfig storkconfig = null; +   +  private static TimeOuts timeouts = null; +   +  private static PVP2 pvp2general = null; +   +  private static String alternativesourceid = null; +   +  private static List<String> legacyallowedprotocols = new ArrayList<String>(); +   +  private static VerifyAuthBlock verifyidl = null; +   +  private static ConnectionParameter MoaSpConnectionParameter = null; +  private static ConnectionParameter ForeignIDConnectionParameter = null; +  private static ConnectionParameter OnlineMandatesConnectionParameter = null; +   +  private static String MoaSpIdentityLinkTrustProfileID = null; +   +  private static List<String> TransformsInfos = null; +  private static List<String> IdentityLinkX509SubjectNames = new ArrayList<String>(); +   +  private static Map<String, String> SLRequestTemplates = new HashMap<String, String>(); +   +  private static SSO ssoconfig = null;   /**     * Return the single instance of configuration data. @@ -359,13 +385,13 @@ public class AuthConfigurationProvider extends ConfigurationProvider {  		}  		//build STORK Config	 -		AuthComponentGeneral authgeneral = getAuthComponentGeneral(); -		ForeignIdentities foreign = authgeneral.getForeignIdentities(); +		AuthComponentGeneral auth = getAuthComponentGeneral(); +		ForeignIdentities foreign = auth.getForeignIdentities();  		if (foreign == null ) {  			Logger.warn("Error in MOA-ID Configuration. No STORK configuration found."); -			throw new ConfigurationException("config.02", null); -		}   -		storkconfig = new STORKConfig(foreign.getSTORK(), props, rootConfigFileDir); +			 +		} else    +			storkconfig = new STORKConfig(foreign.getSTORK(), props, rootConfigFileDir);  		//load Chaining modes @@ -393,7 +419,173 @@ public class AuthConfigurationProvider extends ConfigurationProvider {      	//set TrustManagerRevocationChecking      	setTrustManagerRevocationChecking(); -    	    		    	 +    	 +    	//set TimeOuts +		if (auth.getGeneralConfiguration() != null)  { +  	  		if (auth.getGeneralConfiguration().getTimeOuts() != null) { +  	  			 +  	  			timeouts = new TimeOuts(); +  	  			timeouts.setAssertion(auth.getGeneralConfiguration().getTimeOuts().getAssertion()); +  	  			timeouts.setMOASessionCreated(auth.getGeneralConfiguration().getTimeOuts().getMOASessionCreated()); +  	  			timeouts.setMOASessionUpdated(auth.getGeneralConfiguration().getTimeOuts().getMOASessionUpdated()); +  	  		} +  	  	} +  	  	else { +  	  		Logger.warn("Error in MOA-ID Configuration. No TimeOuts defined."); +  	  		throw new ConfigurationException("config.02", null); +  	  	} +    	 +		//set PVP2 general config +		Protocols protocols = auth.getProtocols(); +			if (protocols != null) { +				if (protocols.getPVP2() != null) { +					PVP2 el = protocols.getPVP2();; +					pvp2general =  new PVP2(); +					pvp2general.setIssuerName(el.getIssuerName());	 +					pvp2general.setPublicURLPrefix(el.getPublicURLPrefix()); +					  +					if (el.getOrganization() != null) { +						Organization org = new Organization(); +						pvp2general.setOrganization(org); +						org.setDisplayName(el.getOrganization().getDisplayName()); +						org.setName(el.getOrganization().getName()); +						org.setURL(el.getOrganization().getURL()); +					} +					 +					if (el.getContact() != null) { +						List<Contact> cont = new ArrayList<Contact>(); +						pvp2general.setContact(cont); +						for (Contact e : el.getContact()) { +							Contact c = new Contact(); +							c.setCompany(e.getCompany()); +							c.setGivenName(e.getGivenName()); +							c.setMail(e.getMail()); +							c.setPhone(e.getPhone()); +							c.setSurName(e.getSurName()); +							c.setType(e.getType()); +						} +					} +				} +			} else { +				Logger.warn("Error in MOA-ID Configuration. No general Protcol configuration found.");  +		} +				 +		//set alternativeSourceID +		if (auth.getGeneralConfiguration() != null)		   +			alternativesourceid =  auth.getGeneralConfiguration().getAlternativeSourceID(); +		else { +			  Logger.warn("Error in MOA-ID Configuration. No GeneralConfig defined."); +			  throw new ConfigurationException("config.02", null); +	    } 			 +		  +		//set LegacyAllowedProtocols   +		try { +			if (auth.getProtocols() != null) { +				Protocols procols = auth.getProtocols(); +				if (procols.getLegacyAllowed() != null) { +					LegacyAllowed legacy = procols.getLegacyAllowed(); +					legacyallowedprotocols = new ArrayList<String>(legacy.getProtocolName()); +				} +			} +		} catch (Exception e) { +			Logger.info("No protocols found with legacy allowed flag!"); +		} +		  +		//set VerifyAuthBlockConfig +		MOASP moasp = getMOASPConfig(auth); +		 +		VerifyAuthBlock el = moasp.getVerifyAuthBlock();  +		if (el != null) { +			verifyidl = new VerifyAuthBlock(); +			verifyidl.setTrustProfileID(el.getTrustProfileID()); +			verifyidl.setVerifyTransformsInfoProfileID(new ArrayList<String>(el.getVerifyTransformsInfoProfileID())); +		}	 +		else { +			Logger.warn("Error in MOA-ID Configuration. No Trustprofile for AuthBlock validation."); +			throw new ConfigurationException("config.02", null); +		} +		 +		//set MOASP connection parameters +		if (moasp.getConnectionParameter() != null) +		    MoaSpConnectionParameter = new ConnectionParameterMOASP(moasp.getConnectionParameter(), props, this.rootConfigFileDir); +		else +			MoaSpConnectionParameter = null; +		 +		//set ForeignIDConnectionParameters +		if (foreign != null) { +			ForeignIDConnectionParameter = new ConnectionParameterForeign(foreign.getConnectionParameter(), props, this.rootConfigFileDir); +		} else { +			Logger.warn("Error in MOA-ID Configuration. No Connectionconfiguration to SZRGW Service found"); +		} +		 +		//set OnlineMandateConnectionParameters +		OnlineMandates ovs = auth.getOnlineMandates(); +		if (ovs != null) { +			OnlineMandatesConnectionParameter = new ConnectionParameterMandate(ovs.getConnectionParameter(), props, this.rootConfigFileDir); +			 +		} else { +			Logger.warn("Error in MOA-ID Configuration. No Connectionconfiguration to OVS Service found"); +		} +		 +		//set MOASP IdentityLink Trust-ProfileID +		VerifyIdentityLink verifyidl = moasp.getVerifyIdentityLink(); +		if (verifyidl != null) +			MoaSpIdentityLinkTrustProfileID = verifyidl.getTrustProfileID(); +		else {   +			Logger.warn("Error in MOA-ID Configuration. No Trustprofile for IdentityLink validation."); +		  	throw new ConfigurationException("config.02", null); +		} +		 +		//set SL transformation infos		   +		SecurityLayer seclayer = auth.getSecurityLayer(); +		if (seclayer == null) { +			Logger.warn("Error in MOA-ID Configuration. No generalAuthConfiguration->SecurityLayer found"); +			throw new ConfigurationException("config.02", null); +		} else { +			TransformsInfos = ConfigurationUtils.getTransformInfos(seclayer.getTransformsInfo());	 +		} +	     +		//set IdentityLinkSignerSubjectNames +		IdentityLinkSigners idlsigners = auth.getIdentityLinkSigners(); +		if (idlsigners != null) { +			IdentityLinkX509SubjectNames = new ArrayList<String>(idlsigners.getX509SubjectName()); +			   +		} else { +		  Logger.warn("Warning in MOA-ID Configuration. No IdenitiyLink signer found."); +		} +		 +		//set SLRequestTemplates +		SLRequestTemplates templ = moaidconfig.getSLRequestTemplates(); +		if (templ == null) { +			Logger.warn("Error in MOA-ID Configuration. No SLRequestTemplates found"); +			throw new ConfigurationException("config.02", null); +		} else { +			SLRequestTemplates.put(OAAuthParameter.ONLINEBKU, templ.getOnlineBKU()); +			SLRequestTemplates.put(OAAuthParameter.LOCALBKU, templ.getLocalBKU()); +			SLRequestTemplates.put(OAAuthParameter.HANDYBKU, templ.getHandyBKU()); +		} +		 +		//set SSO Config		   +		if (auth.getSSO()!= null) { +			ssoconfig = new SSO(); +			ssoconfig.setFriendlyName(auth.getSSO().getFriendlyName()); +			ssoconfig.setPublicURL(auth.getSSO().getPublicURL()); +			ssoconfig.setSpecialText(auth.getSSO().getSpecialText()); +			ssoconfig.setTarget(auth.getSSO().getTarget()); + +			if (auth.getSSO().getIdentificationNumber() != null) { +				IdentificationNumber value = new IdentificationNumber(); +				value.setType(auth.getSSO().getIdentificationNumber().getType()); +				value.setValue(auth.getSSO().getIdentificationNumber().getValue()); +				ssoconfig.setIdentificationNumber(value); +			} +		} else { +			Logger.warn("Error in MOA-ID Configuration. No Single Sign-On Config found"); +		} +		 +    	//close Database +    	ConfigurationDBUtils.closeSession(); +    	      } catch (Throwable t) {        throw new ConfigurationException("config.02", null, t);    	} @@ -414,56 +606,19 @@ public class AuthConfigurationProvider extends ConfigurationProvider {    public PVP2 getGeneralPVP2DBConfig() { -	   -	  try { -		AuthComponentGeneral auth = getAuthComponentGeneral(); -		Protocols protocols = auth.getProtocols(); -		if (protocols != null) { -			return protocols.getPVP2(); -		} -		Logger.warn("Error in MOA-ID Configuration. No general Protcol configuration found."); -		return null; -		 -	} catch (ConfigurationException e) { -		Logger.warn("Error in MOA-ID Configuration. No general AuthComponent configuration found."); -		return null; -	} +	  return pvp2general;    } -  public TimeOuts getTimeOuts() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	   -	  if (auth.getGeneralConfiguration() != null)		   -		  return auth.getGeneralConfiguration().getTimeOuts(); -	  else { -		  Logger.warn("Error in MOA-ID Configuration. No TimeOuts defined."); -		  throw new ConfigurationException("config.02", null); -	  }  +  public TimeOuts getTimeOuts() throws ConfigurationException {   +	  return timeouts;     } -  public String getAlternativeSourceID() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	   -	  if (auth.getGeneralConfiguration() != null)		   -		  return auth.getGeneralConfiguration().getAlternativeSourceID(); -	  else { -		  Logger.warn("Error in MOA-ID Configuration. No AlternativeSourceID defined."); -		  throw new ConfigurationException("config.02", null); -	  }  +  public String getAlternativeSourceID() throws ConfigurationException {	   +	  return alternativesourceid;    }    public List<String> getLegacyAllowedProtocols() { -	  try { -		AuthComponentGeneral auth = getAuthComponentGeneral(); -		Protocols procols = auth.getProtocols(); -		LegacyAllowed legacy = procols.getLegacyAllowed(); -		return legacy.getProtocolName(); -		 -	} catch (Exception e) { -		Logger.info("No protocols found with legacy allowed flag!"); -		return new ArrayList<String>(); -	} -	   +	  return legacyallowedprotocols;     } @@ -496,16 +651,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public String getMoaSpAuthBlockTrustProfileID() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	  MOASP moasp = getMOASPConfig(auth); -	  VerifyAuthBlock verifyidl = moasp.getVerifyAuthBlock(); -	   -	  if (verifyidl != null) -		  return verifyidl.getTrustProfileID(); -	   -	  Logger.warn("Error in MOA-ID Configuration. No Trustprofile for AuthBlock validation."); -	  throw new ConfigurationException("config.02", null); -	   +	  return verifyidl.getTrustProfileID();	      }    /** @@ -516,16 +662,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public List<String> getMoaSpAuthBlockVerifyTransformsInfoIDs() throws ConfigurationException { -	   -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	  MOASP moasp = getMOASPConfig(auth); -	  VerifyAuthBlock verifyidl = moasp.getVerifyAuthBlock(); -	   -	  if (verifyidl != null) -		  return verifyidl.getVerifyTransformsInfoProfileID(); -	   -	  Logger.warn("Error in MOA-ID Configuration. No Trustprofile for AuthBlock validation."); -	  throw new ConfigurationException("config.02", null);	   +	  return verifyidl.getVerifyTransformsInfoProfileID();	      }    /** @@ -534,15 +671,8 @@ public class AuthConfigurationProvider extends ConfigurationProvider {     * @return ConnectionParameter of the authentication component moa-sp element    * @throws ConfigurationException      */ -  public ConnectionParameter getMoaSpConnectionParameter() throws ConfigurationException { -	   -	  AuthComponentGeneral authgeneral = getAuthComponentGeneral(); -	  MOASP moasp = getMOASPConfig(authgeneral); -	   -	  if (moasp.getConnectionParameter() != null) -	    return new ConnectionParameterMOASP(moasp.getConnectionParameter(), props, this.rootConfigFileDir); -	  else -		return null; +  public ConnectionParameter getMoaSpConnectionParameter() throws ConfigurationException {   +	  return MoaSpConnectionParameter;    }    /** @@ -552,15 +682,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public ConnectionParameter getForeignIDConnectionParameter() throws ConfigurationException { -	   -	  AuthComponentGeneral authgeneral = getAuthComponentGeneral(); -	  ForeignIdentities foreign = authgeneral.getForeignIdentities(); -	   -	  if (foreign != null) { -		  return new ConnectionParameterForeign(foreign.getConnectionParameter(), props, this.rootConfigFileDir); -	  } -	  Logger.warn("Error in MOA-ID Configuration. No Connectionconfiguration to SZRGW Service found"); -	  throw new ConfigurationException("config.02", null); +	  return ForeignIDConnectionParameter;    }    /** @@ -570,15 +692,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public ConnectionParameter getOnlineMandatesConnectionParameter() throws ConfigurationException { -	   -	  AuthComponentGeneral authgeneral = getAuthComponentGeneral(); -	  OnlineMandates ovs = authgeneral.getOnlineMandates(); -	   -	  if (ovs != null) { -		  return new ConnectionParameterMandate(ovs.getConnectionParameter(), props, this.rootConfigFileDir); -	  } -	  Logger.warn("Error in MOA-ID Configuration. No Connectionconfiguration to OVS Service found"); -	  throw new ConfigurationException("config.02", null); +	  return OnlineMandatesConnectionParameter;    }    /** @@ -588,15 +702,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public String getMoaSpIdentityLinkTrustProfileID() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	  MOASP moasp = getMOASPConfig(auth); -	  VerifyIdentityLink verifyidl = moasp.getVerifyIdentityLink(); -	   -	  if (verifyidl != null) -		  return verifyidl.getTrustProfileID(); -	   -	  Logger.warn("Error in MOA-ID Configuration. No Trustprofile for IdentityLink validation."); -	  throw new ConfigurationException("config.02", null); +	  return MoaSpIdentityLinkTrustProfileID;    }    /** @@ -605,16 +711,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public List<String> getTransformsInfos() throws ConfigurationException { -	   -	  AuthComponentGeneral authgeneral = getAuthComponentGeneral(); -	   -	  SecurityLayer seclayer = authgeneral.getSecurityLayer(); -	  if (seclayer == null) { -		  Logger.warn("Error in MOA-ID Configuration. No generalAuthConfiguration->SecurityLayer found"); -		  throw new ConfigurationException("config.02", null); -	  } -	   -    return ConfigurationUtils.getTransformInfos(seclayer.getTransformsInfo()); +	  return TransformsInfos;    }    /** @@ -623,142 +720,79 @@ public class AuthConfigurationProvider extends ConfigurationProvider {   * @throws ConfigurationException      */    public List<String> getIdentityLinkX509SubjectNames() throws ConfigurationException { -	   -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	  IdentityLinkSigners idlsigners = auth.getIdentityLinkSigners(); -	   -	  if (idlsigners != null) { -		  return idlsigners.getX509SubjectName(); -		   -	  } -	   -	  Logger.warn("Warning in MOA-ID Configuration. No IdenitiyLink signer found."); -	  return new ArrayList<String>(); +	  return IdentityLinkX509SubjectNames;    }    public List<String> getSLRequestTemplates() throws ConfigurationException { -	  SLRequestTemplates templ = moaidconfig.getSLRequestTemplates(); -	  List<String> list = new ArrayList<String>(); -	   -	  if (templ == null) { -		  Logger.warn("Error in MOA-ID Configuration. No SLRequestTemplates found"); -		  throw new ConfigurationException("config.02", null); -	  } -	  list.add(templ.getOnlineBKU()); -	  list.add(templ.getHandyBKU()); -	  list.add(templ.getLocalBKU()); -	  return list; +	  return new ArrayList<String>(SLRequestTemplates.values());    }    public String getSLRequestTemplates(String type) throws ConfigurationException { -	  	SLRequestTemplates templ = moaidconfig.getSLRequestTemplates(); -		if (templ != null) { -			if (type.equals(OAAuthParameter.ONLINEBKU)) -				return templ.getOnlineBKU(); -			else if (type.equals(OAAuthParameter.HANDYBKU)) -				return templ.getHandyBKU(); -			else if (type.equals(OAAuthParameter.LOCALBKU)) -				return templ.getLocalBKU(); -			 -		} -		Logger.warn("getSLRequestTemplates: BKU Type does not match: "  -				+ OAAuthParameter.ONLINEBKU + " or " + OAAuthParameter.HANDYBKU + " or " + OAAuthParameter.LOCALBKU); -		return null; +  	String el = SLRequestTemplates.get(type); +  	if (MiscUtil.isNotEmpty(el)) +  		return el; +  	else { +  		Logger.warn("getSLRequestTemplates: BKU Type does not match: "  +			+ OAAuthParameter.ONLINEBKU + " or " + OAAuthParameter.HANDYBKU + " or " + OAAuthParameter.LOCALBKU); +  		return null; +  	}    }    public boolean isSSOBusinessService() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	   -	  SSO sso = auth.getSSO(); -	  if (sso!= null) {		   -		  if (sso.getIdentificationNumber() != null) -			  return true; -	  } -	  return false; +	if (ssoconfig != null && ssoconfig.getIdentificationNumber() != null) +		return true; +	else +		return false;    }    public IdentificationNumber getSSOBusinessService() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	   -	  SSO sso = auth.getSSO(); -	 -	  if (sso!= null)		   -		  return sso.getIdentificationNumber(); -	   -	  return null; +	  if (ssoconfig != null) +		  return ssoconfig.getIdentificationNumber(); +	  else  +		  return null;    } -  public String getSSOTarget() throws ConfigurationException { -	  AuthComponentGeneral auth = getAuthComponentGeneral(); -	   -	  SSO sso = auth.getSSO(); -	 -	  if (sso!= null)		   -		  return sso.getTarget(); +  public String getSSOTarget() throws ConfigurationException {	 +	  if (ssoconfig!= null)		   +		  return ssoconfig.getTarget();  	  return null;    } -  public String getSSOFriendlyName() { -	  AuthComponentGeneral auth; -	try { -		auth = getAuthComponentGeneral(); - -		SSO sso = auth.getSSO(); -		 -		  if (sso!= null)		   -			  return sso.getFriendlyName(); -		   -	} catch (ConfigurationException e) { -		Logger.warn("No SSO FriendlyName found. Use default Name!!!"); -	}	   -	  return "Default MOA-ID friendly name for SSO"; +  public String getSSOFriendlyName() {	 +	if (ssoconfig!= null) { +		if (MiscUtil.isNotEmpty(ssoconfig.getFriendlyName())) +			return ssoconfig.getFriendlyName(); +	} +	 +	return "Default MOA-ID friendly name for SSO";	      }    public String getSSOSpecialText() { -		try { -			AuthComponentGeneral auth = getAuthComponentGeneral(); - -			SSO sso = auth.getSSO(); +	if (ssoconfig!= null) { +		String text = ssoconfig.getSpecialText(); +			if (MiscUtil.isEmpty(text)) +				text = new String(); -			  if (sso!= null) { -				  String text = sso.getSpecialText(); -				  if (MiscUtil.isEmpty(text)) -					  text = new String(); -				  return text; -			  } -				   -			   -		} catch (ConfigurationException e) { -		}	   -		  return new String(); +			return text; +	}			   +	return new String();    }    public String getSSOPublicUrl() { -		try { -			AuthComponentGeneral auth = getAuthComponentGeneral(); - -			SSO sso = auth.getSSO(); -		 -			if (sso!= null) { -				String url = sso.getPublicURL(); -				 -				if (MiscUtil.isEmpty(url)) -					url = new String(); -			 -				  return url; -			} -			   -		} catch (ConfigurationException e) { -		}	   -		  return new String(); +	if (ssoconfig!= null) { +		String url = ssoconfig.getPublicURL();		 +		if (MiscUtil.isEmpty(url)) +			url = new String();		 +		return url; +	}		   +	return new String();    }    public String getMOASessionEncryptionKey() { -	  String prop = props.getProperty("configuration.moasession.key"); -	   +	  String prop = props.getProperty("configuration.moasession.key");    	  if (MiscUtil.isEmpty(prop))  		  return null;  	  else diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java index 82c9a92da..39f5479ce 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/stork/STORKConfig.java @@ -40,13 +40,13 @@ import at.gv.egovernment.moa.util.StringUtils;  public class STORKConfig {
  	/** STORK SAML signature creation parameters */
 -	private STORK stork;
 -	private Properties props;
 -	private Map<String, CPEPS> cpepsMap;
 -	private String basedirectory;
 +	private Properties props = null;
 +	private Map<String, CPEPS> cpepsMap  = null;
 +	private String basedirectory = null;
 +	private SignatureVerificationParameter sigverifyparam = null;
 +	
  	public STORKConfig(STORK stork, Properties props, String basedirectory) {
 -		this.stork = stork;
  		this.basedirectory = basedirectory;
  		this.props = props;
 @@ -90,30 +90,33 @@ public class STORKConfig {  						+ cpep.getCountryCode() + " has an invalid Attribute and is ignored.");
  			}
  		}
 -	}
 -
 -	public SignatureCreationParameter getSignatureCreationParameter() {
 -		
 -		return new SignatureCreationParameter(props, basedirectory);
 -	}
 -
 -	public SignatureVerificationParameter getSignatureVerificationParameter() {
  		SAMLSigningParameter samlsign = stork.getSAMLSigningParameter();
  		if (samlsign == null) {
  			Log.warn("Error in MOA-ID Configuration. No STORK->SAMLSigningParameter configuration found.");
 -			return null;
 -		}
 -		
 -		SignatureVerificationParameterType sigverify = samlsign.getSignatureVerificationParameter();
 +
 +		} else {
 +			SignatureVerificationParameterType sigverify = samlsign.getSignatureVerificationParameter();
 -		if (sigverify == null) {
 -			Log.warn("Error in MOA-ID Configuration. No STORK->SignatureVerificationParameter configuration found.");
 -			return null;
 +			if (sigverify == null) {
 +				Log.warn("Error in MOA-ID Configuration. No STORK->SignatureVerificationParameter configuration found.");
 +				
 +			} else {
 +				sigverifyparam = new SignatureVerificationParameter(sigverify.getTrustProfileID());
 +			}
  		}
 -		return new SignatureVerificationParameter(sigverify.getTrustProfileID());	
 +	}
 +
 +	public SignatureCreationParameter getSignatureCreationParameter() {
 +		
 +		return new SignatureCreationParameter(props, basedirectory);
 +	}
 +
 +	public SignatureVerificationParameter getSignatureVerificationParameter() {
 +	
 +		return sigverifyparam; 	
  	}
  	public Map<String, CPEPS> getCpepsMap() {
 diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java index f70596949..83d12be87 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/entrypoints/DispatcherServlet.java @@ -452,8 +452,6 @@ public class DispatcherServlet extends AuthServlet{  					authmanager.logout(req, resp, moasessionID);  				} -				ConfigurationDBUtils.closeSession(); -				  				//authmanager.logout(req, resp);  			} catch (Throwable e) { @@ -471,6 +469,10 @@ public class DispatcherServlet extends AuthServlet{  			e.printStackTrace();  			resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);  		} +		 +	    finally { +	    	ConfigurationDBUtils.closeSession(); +	    }  	} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java index 7682566f2..0786f896a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java @@ -162,8 +162,13 @@ public class PVPConfiguration {  		try {  			OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(sp); -			return oaParam.getTarget(); +			if (oaParam != null) +				return oaParam.getTarget(); +			 +			Logger.warn("OnlineApplication with ID "+ sp + " is not found."); +			return null; +				  		} catch (ConfigurationException e) {  			Logger.warn("OnlineApplication with ID "+ sp + " is not found.");  			return null; | 
