From b6e8e0a8f45c10d9a0cd77807db7107430752981 Mon Sep 17 00:00:00 2001 From: rudolf Date: Fri, 19 Dec 2003 09:00:07 +0000 Subject: MOA-ID 1.1.1D01 git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@81 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../id/config/auth/AuthConfigurationProvider.java | 42 +++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) (limited to 'id.server/src/at/gv/egovernment/moa/id/config/auth') diff --git a/id.server/src/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id.server/src/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java index e3c869d53..2e133130c 100644 --- a/id.server/src/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java +++ b/id.server/src/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java @@ -1,10 +1,11 @@ package at.gv.egovernment.moa.id.config.auth; import java.io.BufferedInputStream; +import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; - +import java.net.MalformedURLException; import org.w3c.dom.Element; import at.gv.egovernment.moa.id.config.ConfigurationBuilder; @@ -59,6 +60,20 @@ public class AuthConfigurationProvider extends ConfigurationProvider { */ public static final String BKU_SELECTION_TYPE_HTMLSELECT = "HTMLSelect"; + + /** + * The name of the generic configuration property allowing https connection to + * the user frontend servlets ("StartAuthentication" and "SelectBKU" servlets) + */ + public static final String FRONTEND_SERVLETS_ENABLE_HTTP_CONNECTION_PROPERTY = + "FrontendServlets.EnableHTTPConnection"; + + /** + * The name of the generic configuration property allowing to set a individual + * DATA URL used to communicate with the BKU (SecurityLayer) + */ + public static final String INDIVIDUAL_DATA_URL_PREFIX = + "FrontendServlets.DataURLPrefix"; /** Singleton instance. null, if none has been created. */ private static AuthConfigurationProvider instance; @@ -67,6 +82,11 @@ public class AuthConfigurationProvider extends ConfigurationProvider { // configuration data // + /** + * main configuration file directory name used to configure MOA-ID + */ + private String rootConfigFileDir; + /** * configuration files containing transformations for rendering in the * secure viewer of the security layer implementation; @@ -172,7 +192,7 @@ public class AuthConfigurationProvider extends ConfigurationProvider { InputStream stream = null; Element configElem; ConfigurationBuilder builder; - + try { // load the main config file stream = new BufferedInputStream(new FileInputStream(fileName)); @@ -189,8 +209,16 @@ public class AuthConfigurationProvider extends ConfigurationProvider { } } try { + // determine the directory of the root config file + rootConfigFileDir = new File(fileName).getParent(); + try { + rootConfigFileDir = new File(rootConfigFileDir).toURL().toString(); + } catch (MalformedURLException t) { + throw new ConfigurationException("config.03", null, t); + } + // build the internal datastructures - builder = new ConfigurationBuilder(configElem); + builder = new ConfigurationBuilder(configElem, rootConfigFileDir); bKUConnectionParameter = builder.buildAuthBKUConnectionParameter(); bKUSelectable = (bKUConnectionParameter!=null); bKUSelectionType = builder.buildAuthBKUSelectionType(); @@ -205,7 +233,9 @@ public class AuthConfigurationProvider extends ConfigurationProvider { identityLinkX509SubjectNames = builder.getIdentityLink_X509SubjectNames(); defaultChainingMode = builder.getDefaultChainingMode(); chainingModes = builder.buildChainingModes(); - trustedCACertificates = builder.getTrustedCACertificates(); } + trustedCACertificates = builder.getTrustedCACertificates(); + trustedCACertificates = FileUtils.makeAbsoluteURL(trustedCACertificates, rootConfigFileDir); } + catch (Throwable t) { throw new ConfigurationException("config.02", null, t); } @@ -216,9 +246,13 @@ public class AuthConfigurationProvider extends ConfigurationProvider { * @throws Exception on any exception thrown */ private void loadTransformsInfos() throws Exception { + transformsInfos = new String[transformsInfoFileNames.length]; for (int i = 0; i < transformsInfoFileNames.length; i++) { String fileURL = transformsInfoFileNames[i]; + + //if fileURL is relative to rootConfigFileDir make it absolute + fileURL = FileUtils.makeAbsoluteURL(fileURL, rootConfigFileDir); String transformsInfo = FileUtils.readURL(fileURL, DEFAULT_ENCODING); transformsInfos[i] = transformsInfo; } -- cgit v1.2.3