From dd45e938564249a5e6897bd92dd29808d8990868 Mon Sep 17 00:00:00 2001 From: rudolf Date: Fri, 24 Oct 2003 08:34:56 +0000 Subject: MOA-ID version 1.1 (initial) git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@19 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../ixsil/init/properties/algorithms.properties | 94 +++++ .../test/ixsil/init/properties/init.properties | 214 +++++++++++ .../ixsil/init/properties/keyManager.properties | 74 ++++ .../data/test/ixsil/init/schemas/Signature.xsd | 328 +++++++++++++++++ .../data/test/ixsil/init/schemas/XMLSchema.dtd | 402 +++++++++++++++++++++ .../data/test/ixsil/init/schemas/datatypes.dtd | 203 +++++++++++ 6 files changed, 1315 insertions(+) create mode 100644 id.server/data/test/ixsil/init/properties/algorithms.properties create mode 100644 id.server/data/test/ixsil/init/properties/init.properties create mode 100644 id.server/data/test/ixsil/init/properties/keyManager.properties create mode 100644 id.server/data/test/ixsil/init/schemas/Signature.xsd create mode 100644 id.server/data/test/ixsil/init/schemas/XMLSchema.dtd create mode 100644 id.server/data/test/ixsil/init/schemas/datatypes.dtd (limited to 'id.server/data/test/ixsil') diff --git a/id.server/data/test/ixsil/init/properties/algorithms.properties b/id.server/data/test/ixsil/init/properties/algorithms.properties new file mode 100644 index 000000000..35a41cfdd --- /dev/null +++ b/id.server/data/test/ixsil/init/properties/algorithms.properties @@ -0,0 +1,94 @@ +# IXSIL algorithm properties +# +# This file contains the properties which IXSIL uses to maintain the available algorithms. + + + +#---------------------------------------------------------------------------------------------------------- +# Canonicalization algorithms +# +# The following properties (starting with "Canonicalization.") are associations between canonicalization +# algorithm URIs and their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the canonicalization algorithm +# with the identifying URI "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", the name of the algorithm +# property is "Canonicalization.http://www.w3.org/TR/2001/REC-xml-c14n-20010315", i.e. the identifying URI, +# prepended by the canonicalization algorithm property identifier ("Canonicalization."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard impl. shipped with IXSIL, "iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML +Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXMLWithComments +Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML +Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments + +#---------------------------------------------------------------------------------------------------------- +# Signature algorithms +# +# The following properties (starting with "Signature.") are associations between signature algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the signature algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#rsa-sha1", the name of the algorithm +# property is "Signature.http://www.w3.org/2000/09/xmldsig#rsa-sha1", i.e. the identifying URI, +# prepended by the signature algorithm property identifier ("Signature."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.SignatureAlgorithmImplRSA". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Signature.http\://www.w3.org/2000/09/xmldsig#rsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplRSA +Signature.http\://www.w3.org/2000/09/xmldsig#dsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplDSA +Signature.http\://www.w3.org/2000/09/xmldsig#hmac-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplHMAC + + + +#---------------------------------------------------------------------------------------------------------- +# Digest algorithms +# +# The following properties (starting with "Digest.") are associations between digest algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the digest algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#sha1", the name of the algorithm +# property is "Digest.http://www.w3.org/2000/09/xmldsig#sha1", i.e. the identifying URI, +# prepended by the digest algorithm property identifier ("Digest."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.DigestAlgorithmImplSHA1". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Digest.http\://www.w3.org/2000/09/xmldsig#sha1 = iaik.ixsil.algorithms.DigestAlgorithmImplSHA1 + + + +#---------------------------------------------------------------------------------------------------------- +# Transform algorithms +# +# The following properties (starting with "Transform.") are associations between digest algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the transform algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#base64", the name of the algorithm +# property is "Transform.http://www.w3.org/2000/09/xmldsig#base64", i.e. the identifying URI, +# prepended by the transform algorithm property identifier ("Transform."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.TransformImplBase64Decode". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.TransformImplCanonicalXML +Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments +Transform.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML +Transform.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments +Transform.http\://www.w3.org/2000/09/xmldsig#base64 = iaik.ixsil.algorithms.TransformImplBase64Decode +Transform.http\://www.w3.org/TR/1999/REC-xpath-19991116 = iaik.ixsil.algorithms.TransformImplXPath +Transform.http\://www.w3.org/2000/09/xmldsig#enveloped-signature = iaik.ixsil.algorithms.TransformImplEnvelopedSignature +Transform.http\://www.w3.org/TR/1999/REC-xslt-19991116 = iaik.ixsil.algorithms.TransformImplXSLT +Transform.http\://www.w3.org/2002/06/xmldsig-filter2 = iaik.ixsil.algorithms.TransformImplXPath2 diff --git a/id.server/data/test/ixsil/init/properties/init.properties b/id.server/data/test/ixsil/init/properties/init.properties new file mode 100644 index 000000000..a679a2635 --- /dev/null +++ b/id.server/data/test/ixsil/init/properties/init.properties @@ -0,0 +1,214 @@ +# IXSIL init properties +# +# This file contains the basic initialization properties for IXSIL. + +#---------------------------------------------------------------------------------------------------------- +# Properties for localizing exeption messages + +# This property specifies the ISO language code, which is used to select the appropriate exception message +# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information. + +IXSILException.ISOLanguageCode = "en" + + + +# This property specifies the ISO country code, which is used to select the appropriate exception message +# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information. + +IXSILException.ISOCountryCode = "US" + + +#---------------------------------------------------------------------------------------------------------- +# Other property files + +# This property contains a URI specifying the (virtual) location of the IXSIL init properties file (i. e. +# this file). The URI MUST be absolute. +# +# The use of this property is optional. It is only needed by IXSIL, if the library will be initialized using +# the method IXSILInit.init(Properties, Properties, Properties). In this case it is used by IXSIL as the +# base URI for absolutizing other property URIs, such as "DOMUtils.SignatureSchema" (see below). +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/init.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/init.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/init.properties" + +location.initProperties = file:data/test/ixsil/init/properties/init.properties + + + +# This property contains a URI specifying the location of the IXSIL algorithm properties file. The URI can +# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's +# URI as the base. +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/algorithms.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/algorithms.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/algorithms.properties" +# Example 4 (relative URI): "../otherpath/algorithms.properties" +# Example 5 (relative URI): "algorithms.properties" + +location.algorithmsProperties = file:data/test/ixsil/init/properties/algorithms.properties + + + +# This property contains a URI specifying the location of the IXSIL keyManager properties file. The URI can +# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's +# URI as the base. +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/keyManager.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/keyManager.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/keyManager.properties" +# Example 4 (relative URI): "../otherpath/keyManager.properties" +# Example 5 (relative URI): "keyManager.properties" + +location.keyManagerProperties = file:data/test/ixsil/init/properties/keyManager.properties + + + +#---------------------------------------------------------------------------------------------------------- +# AlgorithmFactory properties + + + +This property specifies the extension class for the abstract class +iaik.ixsil.algorithms.AlgorithmFactory, which is instantiated at invokation of method +iaik.ixsil.algorithms.AlgorithmFactory.createFactory(). +Please specifiy the fully qualified java class name for the class to be instantiated. + +AlgorithmFactory.ImplementingClass = iaik.ixsil.algorithms.AlgorithmFactoryDefaultImpl + + + +#---------------------------------------------------------------------------------------------------------- +# VerifierKeyManager properties + +# This property specifies the implementation class for the interface +# iaik.ixsil.keyinfo.VerifierKeyManager, which is instantiated by IXSIL in the verification use case, if the +# signature algorithm does not know about the verification key, and if the XML signature bears a KeyInfo +# element which contains hints that can be used to deduce the verification key. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +VerifierKeyManager.ImplementingClass = iaik.ixsil.keyinfo.KeyManagerImpl + + + +#---------------------------------------------------------------------------------------------------------- +# XML namespace prefix properties + +# This property specifies the namespace prefix used for XML elements from the XML-Signature namespace. +# +# PLEASE NOTE: The prefix must not be empty. + +namespacePrefix.XMLSignature = dsig: + + + +# This property specifies the namespace prefix used for XML elements from the XML Schema instance namespace. +# +# PLEASE NOTE: The prefix must not be empty. + +namespacePrefix.XMLSchemaInstance = xsi: + + +#---------------------------------------------------------------------------------------------------------- +# DOMUtils properties + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.DOMUtilsInterface, which contains a couple of DOM utility methods, which IXSIL relies +# on. If you would like to employ a parser different from Apache Xerces, you must implement the +# DOMUtilsInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +DOMUtils.ImplementingClass = iaik.ixsil.util.DOMUtilsImpl + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter WARNINGS generated by the Apache Xerces parser should lead to a parser exception +# or not. + +DOMUtils.ErrorHandler.reportWarnings = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter ERRORS generated by the Apache Xerces parser should lead to a parser exception +# or not. + +DOMUtils.ErrorHandler.reportErrors = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter FATAL ERRORS generated by the Apache Xerces parser should lead to a parser +# exception or not. + +DOMUtils.ErrorHandler.reportFatalErrors = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies an URI for the location of the XML schema for an XML signature, which is used as the +# reference grammar in method iaik.ixsil.util.DOMUtilsImpl.schemaValidateSignatureElement. +# The URI can be absolute or relative. If the URI is relative, it will be absolutized using the URI for +# this init property file as the base. + +DOMUtils.SignatureSchema = ../schemas/Signature.xsd + + + +#---------------------------------------------------------------------------------------------------------- +# XPathUtils properties + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.XPathUtilsInterface, which contains a couple of XPath utility methods, which IXSIL relies +# on. If you would like to employ a XPath engine different from Apache Xalan, you must implement the +# XPathUtilsInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +XPathUtils.ImplementingClass = iaik.ixsil.util.XPathUtilsImpl + + + +#---------------------------------------------------------------------------------------------------------- +# CanonicalXMLSerializer properties + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.CanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML according +# to "Canonical XML" (see http://www.w3.org/TR/2001/REC-xml-c14n-20010315). If you would like to employ an +# implemenation different from the standard implementation shipped with IXSIL, you must implement the +# CanonicalXMLSerialierInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +CanonicalXMLSerializer.CanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.ExclusiveCanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML +# according to "Exclusive XML Canonicalization" (see http://www.w3.org/TR/2001/WD-xml-exc-c14n-20011120). +# If you would like to employ an implemenation different from the standard implementation shipped with +# IXSIL, you must implement the ExclusiveCanonicalXMLSerialierInterface and specify your implementation +# class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +CanonicalXMLSerializer.ExclusiveCanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl diff --git a/id.server/data/test/ixsil/init/properties/keyManager.properties b/id.server/data/test/ixsil/init/properties/keyManager.properties new file mode 100644 index 000000000..24ece437a --- /dev/null +++ b/id.server/data/test/ixsil/init/properties/keyManager.properties @@ -0,0 +1,74 @@ +# IXSIL algorithm properties +# +# This file contains the properties which IXSIL uses in context of key management. + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following properties are associations between the fully qualified XMLname of a "KeyInfo" subelement, +# as used in an XML signature to specify hints how the verifier can obtain the verification key, and that +# implementation class of the interface iaik.ixsil.keyinfo.KeyProviderInterface, which will manage +# subelements of that type. +# +# These properties are only of interest, if you are using the standard key manager shipped with IXISL +# (which is class iaik.ixsil.keyInfo.KeyManagerImpl). +# +# For instance, if you would like to specify the key provider implementation for "KeyValue" subelements, +# the property name is the fully qualified XML name for the "KeyValue" element, namely +# "http://www.w3.org/2000/09/xmldsig#:KeyValue". The value of the property is the fully qualified class +# name of the key provider implementation class, for instance the standard implementation which ships with +# IXSIL: "iaik.ixsil.keyinfo.KeyProviderImplKeyValue". +# +# PLEASE NOTE (I): A fully qualified name for an XML element consists of an URI indicating the namespace the +# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the +# element (e.g. "KeyValue"). Both components are seperated by a colon. +# +# PLEASE NOTE (II): The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +http\://www.w3.org/2000/09/xmldsig#\:KeyValue = iaik.ixsil.keyinfo.KeyProviderImplKeyValue +http\://www.w3.org/2000/09/xmldsig#\:X509Data = iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data +http\://www.w3.org/2000/09/xmldsig#\:RetrievalMethod = iaik.ixsil.keyinfo.retrieval.KeyProviderImplRetrievalMethod + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following properties specify the order in which the different types of "KeyInfo" subelements are used +# by the key manager to deduce the verification key. +# +# These properties are only of interest, if you are using the standard key manager shipped with IXISL +# (which is class iaik.ixsil.keyInfo.KeyManagerImpl). +# +# The properties are associations between a two digit number and the fully qualified XML name of a "KeyInfo" +# subelement. The lower the number, the more important is the associated "KeyInfo" sublement. Consider an +# example configuration: +# +# Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue +# Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data +# +# In this configuration, the key manager first tries to use "KeyValue" subelements to deduce the +# verification key. Only if this does not succeed, the key manager uses "X509Data" subelements as a second +# chance. Of course you can specify more than only two different subelement types. +# +# PLEASE NOTE: A fully qualified name for an XML element consists of an URI indicating the namespace the +# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the +# element (e.g. "KeyValue"). Both components are seperated by a colon. + +Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue +Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data +Subelement.03 = http://www.w3.org/2000/09/xmldsig#:RetrievalMethod + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following property is used by standard implementation of the "X509Data" key provider, which ships +# with IXSIL, namely "KeyProviderImplX509Data". It specifies the implementation class for the interface +# iaik.ixsil.keyinfo.x509.X509TrustManagerInterface, which is to be instantiated as the backbone trust +# manager for this key provider. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +KeyProviderImplX509Data.X509TrustManagerDefaultImplementingClass = iaik.ixsil.keyinfo.x509.X509TrustManagerDummyImpl + diff --git a/id.server/data/test/ixsil/init/schemas/Signature.xsd b/id.server/data/test/ixsil/init/schemas/Signature.xsd new file mode 100644 index 000000000..7867883f9 --- /dev/null +++ b/id.server/data/test/ixsil/init/schemas/Signature.xsd @@ -0,0 +1,328 @@ + + + + + + ]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id.server/data/test/ixsil/init/schemas/XMLSchema.dtd b/id.server/data/test/ixsil/init/schemas/XMLSchema.dtd new file mode 100644 index 000000000..678cfc8dd --- /dev/null +++ b/id.server/data/test/ixsil/init/schemas/XMLSchema.dtd @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%xs-datatypes; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id.server/data/test/ixsil/init/schemas/datatypes.dtd b/id.server/data/test/ixsil/init/schemas/datatypes.dtd new file mode 100644 index 000000000..8e48553be --- /dev/null +++ b/id.server/data/test/ixsil/init/schemas/datatypes.dtd @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3