--- Configuration --- EGIZ --- 2010 --- MOCCA Configuration Since MOCCA version 1.3 {{{http://commons.apache.org/configuration/}commons-configuration}} is used for the main configuration of MOCCA. The configuration is build by the {{{./apidocs/at/gv/egiz/bku/spring/ConfigurationFactoryBean.html} ConfigurationFactoryBean}} class. It creates a composite configuration using a default configuration read from {{{./apidocs/constant-values.html#at.gv.egiz.bku.spring.ConfigurationFactoryBean.DEFAULT_CONFIG}ConfigurationFactoryBean.DEFAULT_CONFIG}} and an (optional) resource specified by {{{./apidocs/at/gv/egiz/bku/spring/ConfigurationFactoryBean.html#setConfigurationResource(org.springframework.core.io.Resource)}setConfigurationResource(org.springframework.core.io.Resource)}}. The later {{{http://static.springsource.org/spring/docs/2.5.5/reference/resources.html}resource}} is usually injected via a {{{http://static.springsource.org/spring/docs/2.5.5/reference/beans.html}spring application context}}. See the configuration sections of MOCCA Online / MOCCA Local on how the configuration resource is constructed in their respective application contexts and on how to provide your own configuration file. * Common Configuration Options A typical configuraton file looks like the following: +------------------+ <?xml version="1.0" encoding="UTF-8"?> <MoccaConfiguration version="1.0"> <RegisterSecurityProviders>true</RegisterSecurityProviders> <DataURLConnection> <MaxHops>50</MaxHops> </DataURLConnection> <ValidateHashDataInputs>true</ValidateHashDataInputs> <SSL> <certDirectory>./certStore</certDirectory> <caDirectory>./trustStore</caDirectory> </SSL> </MoccaConfiguration> +------------------+ ** Supported Configuration Parameters [<<<RegisterSecurityProviders>>>] Allows to control if MOCCA should register the <required> Java {{{http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#ProviderArch}Cryptographic Service Providers}}. NOTE: MOCCA will only work if the required security providers are registered. If this is set to <<<false>>>, the security providers must be registered by some other means (e.g. {{{http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#ProviderInstalling}registered staticaly}}). Default: <<<true>>> [<<<DataURLConnection>>>] [<<<MaxHops>>>] Sets the number of consequtive requests allowed to be recieved from the {{{http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/bindings/Bindings.en.html#http.ablauf.schritte}DataURL}} server. This allows to prevent from infinite request loops caused by erroneous server implementations. Default: <<<50>>> [<<<ValidateHashDataInputs>>>] Controls if to-be signed data is validated for conformity with the {{{http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/viewerformat/ViewerFormat.en.html}standardised viewer format}} auf the Austrian Citizen Card spezification. Default: <<<true>>> [<<<SSL>>>] The following two configuration elements must provide an URL which resolves to a directory in the filesystem. It may either be an absolute URL or a relative URL, which is resolved using the URL of the configuration file. [<<<certDirectory>>>] Specifies the URL of a certificate store directory. This directory must contain all certificates required to build a valid certification chain up to an anchor of trust (e.g. a certificate also contained in the trust store directory). Certificate filenames are hashed. To add new certificates to the certificate store directory create a sub-directory named <<<toBeAdded>>> and put the certificates into this directory. They will then be added to the certificate store upon startup of MOCCA. Default: <<<classpath:at/gv/egiz/bku/certs/certStore>>> [<<<caDirectory>>>] Specifies the URL of a trust store directory. This directory must contain all certificates considered as a root of trust. NOTE: Any certificate in the trust store directory must also be present in the certificate store directory! Default: <<<classpath:at/gv/egiz/bku/certs/trustStore>>> [<<<sslProtocol>>>] Options: <<<TLS>>> (default) or <<<SSL>>> [] NOTE: Do not enable the following two options in production environments! [<<<disableHostnameVerification>>>] May be set to <<<true>>> to disable verification of the server host name given in the server's certificate. Default: <<<false>>> [<<<disableAllChecks>>>] May be set to <<<true>>> to disable all TSL/SSL related checks. Default: <<<false>>> [<<<ProductName>>>] May be specified to set the product name given by the <<<Server>>> and <<<User-Agent>>> HTTP headers as specified by {{{http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/bindings/bindings.en.html#http}HTTP binding}}. [<<<ProductVersion>>>] May be specified to set the product version given by the <<<Server>>> and <<<User-Agent>>> HTTP headers as specified by {{{http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/bindings/bindings.en.html#http}HTTP binding}}. [<<<SignatureLayout>>>] May be specified to set the <<<SignatureLayout>>> HTTP header.