diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-06-19 11:00:40 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2015-06-19 11:10:53 +0200 | 
| commit | 95ce504efcf6eb886e353310570505d598e10561 (patch) | |
| tree | b91512cd1da8865b8a238fdfcc857777ae5e9baa /id/server/idserverlib/src | |
| parent | ae11753fc0165ee3e724af6f7c3c3cdf2faab1f0 (diff) | |
| download | moa-id-spss-95ce504efcf6eb886e353310570505d598e10561.tar.gz moa-id-spss-95ce504efcf6eb886e353310570505d598e10561.tar.bz2 moa-id-spss-95ce504efcf6eb886e353310570505d598e10561.zip | |
add new AuthConfigurationProviderFactory
Diffstat (limited to 'id/server/idserverlib/src')
2 files changed, 128 insertions, 0 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java new file mode 100644 index 000000000..5ec0a5bc6 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationProvider.java @@ -0,0 +1,66 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.config; + +/** + * @author tlenz + * + */ +public interface ConfigurationProvider { + +	  /**  +	   * The name of the system property which contains the file name of the  +	   * configuration file. +	   */ +	  public static final String CONFIG_PROPERTY_NAME = +	    "moa.id.configuration"; + +	  /**  +	   * The name of the system property which contains the file name of the  +	   * configuration file. +	   */ +	  public static final String PROXY_CONFIG_PROPERTY_NAME = +	    "moa.id.proxy.configuration"; +	   +	  /** +	   * The name of the generic configuration property giving the certstore directory path. +	   */ +	  public static final String DIRECTORY_CERTSTORE_PARAMETER_PROPERTY = +	    "DirectoryCertStoreParameters.RootDir";     + +		/** +		 * The name of the generic configuration property switching the ssl revocation checking on/off +		 */ +		public static final String TRUST_MANAGER_REVOCATION_CHECKING = +			"TrustManager.RevocationChecking";    +		 +		public String getRootConfigFileDir(); +		 +		public String getDefaultChainingMode(); +	 +		public String getTrustedCACertificates(); +		 +		public String getCertstoreDirectory(); +		 +		public boolean isTrustmanagerrevoationchecking(); +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProviderFactory.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProviderFactory.java new file mode 100644 index 000000000..8fad1bc83 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProviderFactory.java @@ -0,0 +1,62 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.config.auth; + +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.id.config.ConfigurationProvider; +import at.gv.egovernment.moa.logging.Logger; + +/** + * @author tlenz + * + */ +public class AuthConfigurationProviderFactory { + +	/** Singleton instance. <code>null</code>, if none has been created. */ +	  private static AuthConfiguration instance = null;; +	 +	   +	  public static synchronized AuthConfiguration getInstance() +			    throws ConfigurationException { + +			    if (instance == null) { +			      reload(); +			    } +			    return instance; +			  } +	   +	/** +	 * @return +	 * @throws ConfigurationException  +	 */ +	public static AuthConfiguration reload() throws ConfigurationException { +	    String fileName = System.getProperty(ConfigurationProvider.CONFIG_PROPERTY_NAME); +	    if (fileName == null) { +	      throw new ConfigurationException("config.01", null); +	    } +	    Logger.info("Loading MOA-ID-AUTH configuration " + fileName); + +	    instance = new PropertyBasedAuthConfigurationProvider(fileName); +	    return instance; +	} +} | 
