aboutsummaryrefslogtreecommitdiff
path: root/spss.server
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2005-08-24 15:53:19 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2005-08-24 15:53:19 +0000
commit3ff5bd208ee2b91a61115fd8aa8ca144d3a065a8 (patch)
treea0db8e62a9bc9402ff30b7855d94f925ed6fd9da /spss.server
parent1d2e61b06a442298854b0b7ba9ec392e6c75925b (diff)
downloadmoa-id-spss-3ff5bd208ee2b91a61115fd8aa8ca144d3a065a8.tar.gz
moa-id-spss-3ff5bd208ee2b91a61115fd8aa8ca144d3a065a8.tar.bz2
moa-id-spss-3ff5bd208ee2b91a61115fd8aa8ca144d3a065a8.zip
Bugfix 271: cfg:HardwareCryptoModule in einen eigenen Container Common verschoben, Source angepasst, ConfigurationMapper-Stylesheet ergänzt.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@467 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.server')
-rw-r--r--spss.server/res/resources/tools/ConfigurationMapper.xsl207
-rw-r--r--spss.server/res/test/resources/config/moa.spss.complete-config.xml20
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java3
3 files changed, 167 insertions, 63 deletions
diff --git a/spss.server/res/resources/tools/ConfigurationMapper.xsl b/spss.server/res/resources/tools/ConfigurationMapper.xsl
index 137c42ee4..a5c318b17 100644
--- a/spss.server/res/resources/tools/ConfigurationMapper.xsl
+++ b/spss.server/res/resources/tools/ConfigurationMapper.xsl
@@ -7,6 +7,25 @@
<xsl:template match="cfg:MOAConfiguration">
<xsl:comment>MOA SPSS 1.3 Configuration File created by MOA SPSS Configuration Mapper</xsl:comment>
<cfg:MOAConfiguration>
+ <xsl:if test="cfg:HardwareCryptoModule">
+ <cfg:Common>
+ <xsl:for-each select="cfg:HardwareCryptoModule">
+ <cfg:HardwareCryptoModule>
+ <cfg:Name>
+ <xsl:value-of select="@name"/>
+ </cfg:Name>
+ <xsl:if test="@slotID">
+ <cfg:SlotId>
+ <xsl:value-of select="@slotID"/>
+ </cfg:SlotId>
+ </xsl:if>
+ <cfg:UserPIN>
+ <xsl:value-of select="@userPIN"/>
+ </cfg:UserPIN>
+ </cfg:HardwareCryptoModule>
+ </xsl:for-each>
+ </cfg:Common>
+ </xsl:if>
<xsl:if test="cfg:KeyGroup">
<cfg:SignatureCreation>
<cfg:KeyModules>
@@ -25,18 +44,24 @@
</cfg:CanonicalizationAlgorithm>
<cfg:DigestMethodAlgorithm>
<xsl:choose>
- <xsl:when test="cfg:DigestMethodAlgorithm"><xsl:value-of select="cfg:DigestMethodAlgorithm/@name"/></xsl:when>
+ <xsl:when test="cfg:DigestMethodAlgorithm">
+ <xsl:value-of select="cfg:DigestMethodAlgorithm/@name"/>
+ </xsl:when>
<xsl:otherwise>http://www.w3.org/2000/09/xmldsig#sha1</xsl:otherwise>
</xsl:choose>
</cfg:DigestMethodAlgorithm>
</cfg:XMLDSig>
<xsl:for-each select="cfg:CreateTransformsInfoProfile">
- <cfg:CreateTransformsInfoProfile><xsl:apply-templates select="."/></cfg:CreateTransformsInfoProfile>
+ <cfg:CreateTransformsInfoProfile>
+ <xsl:apply-templates select="."/>
+ </cfg:CreateTransformsInfoProfile>
</xsl:for-each>
<xsl:for-each select="cfg:CreateSignatureEnvironmentProfile">
- <cfg:CreateSignatureEnvironmentProfile><xsl:apply-templates select="."/></cfg:CreateSignatureEnvironmentProfile>
+ <cfg:CreateSignatureEnvironmentProfile>
+ <xsl:apply-templates select="."/>
+ </cfg:CreateSignatureEnvironmentProfile>
</xsl:for-each>
- </cfg:SignatureCreation>
+ </cfg:SignatureCreation>
</xsl:if>
<xsl:if test="cfg:TrustProfile">
<cfg:SignatureVerification>
@@ -47,32 +72,54 @@
</xsl:template>
<xsl:template match="cfg:SoftwareKeyModule">
<cfg:SoftwareKeyModule>
- <cfg:Id><xsl:value-of select="@id"/></cfg:Id>
- <cfg:FileName><xsl:value-of select="@filename"/></cfg:FileName>
+ <cfg:Id>
+ <xsl:value-of select="@id"/>
+ </cfg:Id>
+ <cfg:FileName>
+ <xsl:value-of select="@filename"/>
+ </cfg:FileName>
<xsl:if test="@password">
- <cfg:Password><xsl:value-of select="@password"/></cfg:Password>
+ <cfg:Password>
+ <xsl:value-of select="@password"/>
+ </cfg:Password>
</xsl:if>
</cfg:SoftwareKeyModule>
</xsl:template>
<xsl:template match="cfg:HardwareKeyModule">
<cfg:HardwareKeyModule>
- <cfg:Id><xsl:value-of select="@id"/></cfg:Id>
- <cfg:Name><xsl:value-of select="@name"/></cfg:Name>
+ <cfg:Id>
+ <xsl:value-of select="@id"/>
+ </cfg:Id>
+ <cfg:Name>
+ <xsl:value-of select="@name"/>
+ </cfg:Name>
<xsl:if test="@slotID">
- <cfg:SlotId><xsl:value-of select="@slotID"/></cfg:SlotId>
+ <cfg:SlotId>
+ <xsl:value-of select="@slotID"/>
+ </cfg:SlotId>
</xsl:if>
- <cfg:UserPIN><xsl:value-of select="@userPIN"/></cfg:UserPIN>
+ <cfg:UserPIN>
+ <xsl:value-of select="@userPIN"/>
+ </cfg:UserPIN>
</cfg:HardwareKeyModule>
</xsl:template>
<xsl:template match="cfg:KeyGroup">
<cfg:KeyGroup>
- <cfg:Id><xsl:value-of select="@id"/></cfg:Id>
+ <cfg:Id>
+ <xsl:value-of select="@id"/>
+ </cfg:Id>
<xsl:for-each select="cfg:Key">
<cfg:Key>
- <cfg:KeyModuleId><xsl:value-of select="cfg:KeyModuleID"/></cfg:KeyModuleId>
+ <cfg:KeyModuleId>
+ <xsl:value-of select="cfg:KeyModuleID"/>
+ </cfg:KeyModuleId>
<cfg:KeyCertIssuerSerial>
- <dsig:X509IssuerName><xsl:value-of select="cfg:KeyCertIssuerSerial/dsig:X509IssuerName"/></dsig:X509IssuerName>
- <dsig:X509SerialNumber><xsl:value-of select="cfg:KeyCertIssuerSerial/dsig:X509SerialNumber"/></dsig:X509SerialNumber>
+ <dsig:X509IssuerName>
+ <xsl:value-of select="cfg:KeyCertIssuerSerial/dsig:X509IssuerName"/>
+ </dsig:X509IssuerName>
+ <dsig:X509SerialNumber>
+ <xsl:value-of select="cfg:KeyCertIssuerSerial/dsig:X509SerialNumber"/>
+ </dsig:X509SerialNumber>
</cfg:KeyCertIssuerSerial>
</cfg:Key>
</xsl:for-each>
@@ -82,31 +129,41 @@
<cfg:KeyGroupMapping>
<xsl:if test="cfg:X509IssuerSerial">
<cfg:CustomerId>
- <dsig:X509IssuerName><xsl:value-of select="cfg:X509IssuerSerial/dsig:X509IssuerName"/></dsig:X509IssuerName>
- <dsig:X509SerialNumber><xsl:value-of select="cfg:X509IssuerSerial/dsig:X509SerialNumber"/></dsig:X509SerialNumber>
+ <dsig:X509IssuerName>
+ <xsl:value-of select="cfg:X509IssuerSerial/dsig:X509IssuerName"/>
+ </dsig:X509IssuerName>
+ <dsig:X509SerialNumber>
+ <xsl:value-of select="cfg:X509IssuerSerial/dsig:X509SerialNumber"/>
+ </dsig:X509SerialNumber>
</cfg:CustomerId>
</xsl:if>
<xsl:for-each select="cfg:KeyGroup">
- <cfg:KeyGroupId><xsl:value-of select="@id"/></cfg:KeyGroupId>
+ <cfg:KeyGroupId>
+ <xsl:value-of select="@id"/>
+ </cfg:KeyGroupId>
</xsl:for-each>
</cfg:KeyGroupMapping>
</xsl:template>
<xsl:template match="cfg:CreateTransformsInfoProfile | cfg:CreateSignatureEnvironmentProfile | cfg:VerifyTransformsInfoProfile | cfg:SupplementProfile">
- <cfg:Id><xsl:value-of select="@id"/></cfg:Id>
- <cfg:Location><xsl:value-of select="@filename"/></cfg:Location>
+ <cfg:Id>
+ <xsl:value-of select="@id"/>
+ </cfg:Id>
+ <cfg:Location>
+ <xsl:value-of select="@filename"/>
+ </cfg:Location>
</xsl:template>
<xsl:template name="CertificateValidation">
<cfg:CertificateValidation>
<cfg:PathConstruction>
<cfg:AutoAddCertificates>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'autoAddCertificates'"/>
+ <xsl:with-param name="GenericName" select="'autoAddCertificates'"/>
<xsl:with-param name="DefaultValue" select="'true'"/>
</xsl:call-template>
</cfg:AutoAddCertificates>
<cfg:UseAuthorityInformationAccess>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'useAuthorityInfoAccess'"/>
+ <xsl:with-param name="GenericName" select="'useAuthorityInfoAccess'"/>
<xsl:with-param name="DefaultValue" select="'true'"/>
</xsl:call-template>
</cfg:UseAuthorityInformationAccess>
@@ -114,7 +171,7 @@
<cfg:DirectoryStore>
<cfg:Location>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'DirectoryCertStoreParameters.RootDir'"/>
+ <xsl:with-param name="GenericName" select="'DirectoryCertStoreParameters.RootDir'"/>
<xsl:with-param name="DefaultValue" select="'certstore'"/>
</xsl:call-template>
</cfg:Location>
@@ -125,26 +182,40 @@
<cfg:ChainingMode>
<cfg:DefaultMode>
<xsl:choose>
- <xsl:when test="cfg:ChainingModes/@systemDefaultMode"><xsl:value-of select="cfg:ChainingModes/@systemDefaultMode"/></xsl:when>
+ <xsl:when test="cfg:ChainingModes/@systemDefaultMode">
+ <xsl:value-of select="cfg:ChainingModes/@systemDefaultMode"/>
+ </xsl:when>
<xsl:otherwise>pkix</xsl:otherwise>
</xsl:choose>
</cfg:DefaultMode>
<xsl:for-each select="cfg:ChainingModes/cfg:TrustAnchor">
<cfg:TrustAnchor>
<cfg:Identification>
- <dsig:X509IssuerName><xsl:value-of select="dsig:X509IssuerName"/></dsig:X509IssuerName>
- <dsig:X509SerialNumber><xsl:value-of select="dsig:X509SerialNumber"/></dsig:X509SerialNumber>
+ <dsig:X509IssuerName>
+ <xsl:value-of select="dsig:X509IssuerName"/>
+ </dsig:X509IssuerName>
+ <dsig:X509SerialNumber>
+ <xsl:value-of select="dsig:X509SerialNumber"/>
+ </dsig:X509SerialNumber>
</cfg:Identification>
- <cfg:Mode><xsl:value-of select="@mode"/></cfg:Mode>
- </cfg:TrustAnchor>
+ <cfg:Mode>
+ <xsl:value-of select="@mode"/>
+ </cfg:Mode>
+ </cfg:TrustAnchor>
</xsl:for-each>
</cfg:ChainingMode>
<xsl:for-each select="cfg:TrustProfile">
<cfg:TrustProfile>
- <cfg:Id><xsl:value-of select="@id"/></cfg:Id>
- <cfg:TrustAnchorsLocation><xsl:value-of select="@uri"></xsl:value-of></cfg:TrustAnchorsLocation>
+ <cfg:Id>
+ <xsl:value-of select="@id"/>
+ </cfg:Id>
+ <cfg:TrustAnchorsLocation>
+ <xsl:value-of select="@uri"/>
+ </cfg:TrustAnchorsLocation>
<xsl:if test="@signerCertsUri">
- <cfg:SignerCertsLocation><xsl:value-of select="@signerCertsUri"/></cfg:SignerCertsLocation>
+ <cfg:SignerCertsLocation>
+ <xsl:value-of select="@signerCertsUri"/>
+ </cfg:SignerCertsLocation>
</xsl:if>
</cfg:TrustProfile>
</xsl:for-each>
@@ -152,13 +223,13 @@
<cfg:RevocationChecking>
<cfg:EnableChecking>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'checkRevocation'"/>
+ <xsl:with-param name="GenericName" select="'checkRevocation'"/>
<xsl:with-param name="DefaultValue" select="'true'"/>
</xsl:call-template>
</cfg:EnableChecking>
<cfg:MaxRevocationAge>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'maxRevocationAge'"/>
+ <xsl:with-param name="GenericName" select="'maxRevocationAge'"/>
<xsl:with-param name="DefaultValue" select="'0'"/>
</xsl:call-template>
</cfg:MaxRevocationAge>
@@ -169,13 +240,15 @@
<cfg:Archiving>
<cfg:EnableArchiving>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'archiveRevocationInfo'"/>
+ <xsl:with-param name="GenericName" select="'archiveRevocationInfo'"/>
<xsl:with-param name="DefaultValue" select="'false'"/>
</xsl:call-template>
</cfg:EnableArchiving>
<cfg:ArchiveDuration>
<xsl:choose>
- <xsl:when test="cfg:CRLArchive/@duration"><xsl:value-of select="cfg:CRLArchive/@duration"/></xsl:when>
+ <xsl:when test="cfg:CRLArchive/@duration">
+ <xsl:value-of select="cfg:CRLArchive/@duration"/>
+ </xsl:when>
<xsl:otherwise>365</xsl:otherwise>
</xsl:choose>
</cfg:ArchiveDuration>
@@ -183,13 +256,13 @@
<cfg:DatabaseArchive>
<cfg:JDBCURL>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'DataBaseArchiveParameter.JDBCUrl'"/>
+ <xsl:with-param name="GenericName" select="'DataBaseArchiveParameter.JDBCUrl'"/>
<xsl:with-param name="DefaultValue" select="'jdbc:url'"/>
</xsl:call-template>
</cfg:JDBCURL>
<cfg:JDBCDriverClassName>
<xsl:call-template name="GetGenericValue">
- <xsl:with-param name="GenericName" select="'DataBaseArchiveParameter.JDBCDriverClass'"/>
+ <xsl:with-param name="GenericName" select="'DataBaseArchiveParameter.JDBCDriverClass'"/>
<xsl:with-param name="DefaultValue" select="'fully.qualified.classname'"/>
</xsl:call-template>
</cfg:JDBCDriverClassName>
@@ -198,20 +271,44 @@
</cfg:Archiving>
<xsl:for-each select="cfg:CRLDistributionPoint">
<cfg:DistributionPoint>
- <cfg:CAIssuerDN><xsl:value-of select="cfg:CAIssuerDN"/></cfg:CAIssuerDN>
+ <cfg:CAIssuerDN>
+ <xsl:value-of select="cfg:CAIssuerDN"/>
+ </cfg:CAIssuerDN>
<xsl:for-each select="cfg:DistributionPoint">
<cfg:CRLDP>
- <cfg:Location><xsl:value-of select="@uri"/></cfg:Location>
- <xsl:if test="contains(@reasonCodes, 'all')"><cfg:ReasonCode>all</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'unused')"><cfg:ReasonCode>unused</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'keyCompromise')"><cfg:ReasonCode>keyCompromise</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'cACompromise')"><cfg:ReasonCode>cACompromise</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'affiliationChanged')"><cfg:ReasonCode>affiliationChanged</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'superseded')"><cfg:ReasonCode>superseded</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'cessationOfOperation')"><cfg:ReasonCode>cessationOfOperation</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'certificateHold')"><cfg:ReasonCode>certificateHold</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'privilegeWithdrawn')"><cfg:ReasonCode>privilegeWithdrawn</cfg:ReasonCode></xsl:if>
- <xsl:if test="contains(@reasonCodes, 'aACompromise')"><cfg:ReasonCode>aACompromise</cfg:ReasonCode></xsl:if>
+ <cfg:Location>
+ <xsl:value-of select="@uri"/>
+ </cfg:Location>
+ <xsl:if test="contains(@reasonCodes, 'all')">
+ <cfg:ReasonCode>all</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'unused')">
+ <cfg:ReasonCode>unused</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'keyCompromise')">
+ <cfg:ReasonCode>keyCompromise</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'cACompromise')">
+ <cfg:ReasonCode>cACompromise</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'affiliationChanged')">
+ <cfg:ReasonCode>affiliationChanged</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'superseded')">
+ <cfg:ReasonCode>superseded</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'cessationOfOperation')">
+ <cfg:ReasonCode>cessationOfOperation</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'certificateHold')">
+ <cfg:ReasonCode>certificateHold</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'privilegeWithdrawn')">
+ <cfg:ReasonCode>privilegeWithdrawn</cfg:ReasonCode>
+ </xsl:if>
+ <xsl:if test="contains(@reasonCodes, 'aACompromise')">
+ <cfg:ReasonCode>aACompromise</cfg:ReasonCode>
+ </xsl:if>
</cfg:CRLDP>
</xsl:for-each>
</cfg:DistributionPoint>
@@ -219,15 +316,19 @@
</cfg:RevocationChecking>
</cfg:CertificateValidation>
<xsl:for-each select="cfg:VerifyTransformsInfoProfile">
- <cfg:VerifyTransformsInfoProfile><xsl:apply-templates select="."/></cfg:VerifyTransformsInfoProfile>
+ <cfg:VerifyTransformsInfoProfile>
+ <xsl:apply-templates select="."/>
+ </cfg:VerifyTransformsInfoProfile>
</xsl:for-each>
<xsl:for-each select="cfg:SupplementProfile">
- <cfg:SupplementProfile><xsl:apply-templates select="."/></cfg:SupplementProfile>
+ <cfg:SupplementProfile>
+ <xsl:apply-templates select="."/>
+ </cfg:SupplementProfile>
</xsl:for-each>
</xsl:template>
<xsl:template name="GetGenericValue">
<xsl:param name="GenericName"/>
- <xsl:param name="DefaultValue"/>
+ <xsl:param name="DefaultValue"/>
<xsl:choose>
<xsl:when test="cfg:GenericConfiguration[@name=$GenericName]">
<xsl:value-of select="cfg:GenericConfiguration[@name=$GenericName]/@value"/>
@@ -235,7 +336,7 @@
<xsl:otherwise>
<xsl:if test="$DefaultValue != ''">
<xsl:value-of select="$DefaultValue"/>
- </xsl:if>
+ </xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
diff --git a/spss.server/res/test/resources/config/moa.spss.complete-config.xml b/spss.server/res/test/resources/config/moa.spss.complete-config.xml
index e6d164610..199aaa98c 100644
--- a/spss.server/res/test/resources/config/moa.spss.complete-config.xml
+++ b/spss.server/res/test/resources/config/moa.spss.complete-config.xml
@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
- <HardwareCryptoModule>
- <Name>HWC1_Name</Name>
- <SlotId>HWC1_SlotId</SlotId>
- <UserPIN>HWC1_UserPIN</UserPIN>
- </HardwareCryptoModule>
- <HardwareCryptoModule>
- <Name>HWC2_Name</Name>
- <UserPIN>HWC2_UserPIN</UserPIN>
- </HardwareCryptoModule>
+ <Common>
+ <HardwareCryptoModule>
+ <Name>HWC1_Name</Name>
+ <SlotId>HWC1_SlotId</SlotId>
+ <UserPIN>HWC1_UserPIN</UserPIN>
+ </HardwareCryptoModule>
+ <HardwareCryptoModule>
+ <Name>HWC2_Name</Name>
+ <UserPIN>HWC2_UserPIN</UserPIN>
+ </HardwareCryptoModule>
+ </Common>
<SignatureCreation>
<KeyModules>
<HardwareKeyModule>
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
index b37c83209..aa876a341 100644
--- a/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
+++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
@@ -76,7 +76,8 @@ public class ConfigurationPartsBuilder {
+ CONF + "XMLDSig/"
+ CONF + "CanonicalizationAlgorithm";
private static final String HARDWARE_CRYPTO_MODULE_XPATH =
- ROOT + CONF + "HardwareCryptoModule";
+ ROOT + CONF + "Common/"
+ + CONF + "HardwareCryptoModule";
private static final String HARDWARE_KEY_XPATH =
ROOT + CONF + "SignatureCreation/"
+ CONF + "KeyModules/"