From 0601ac474d00a8723b490355132993e26a9c29f9 Mon Sep 17 00:00:00 2001 From: gregor Date: Mon, 4 Jul 2005 10:04:19 +0000 Subject: Bug 214 behoben. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@374 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../invoke/XMLSignatureCreationProfileFactory.java | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java') diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java index 6078c7fb0..7ac971da8 100644 --- a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java @@ -1,5 +1,13 @@ package at.gv.egovernment.moa.spss.server.invoke; +import iaik.server.modules.algorithms.HashAlgorithms; +import iaik.server.modules.keys.KeyEntryID; +import iaik.server.modules.keys.KeyModule; +import iaik.server.modules.keys.KeyModuleFactory; +import iaik.server.modules.xmlsign.SignatureStructureTypes; +import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; +import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; + import java.math.BigInteger; import java.security.Principal; import java.security.cert.X509Certificate; @@ -12,18 +20,8 @@ import java.util.List; import java.util.Map; import java.util.Set; -import iaik.server.modules.algorithms.HashAlgorithms; -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; -import iaik.server.modules.xmlsign.SignatureStructureTypes; -import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; -import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; - import at.gv.egovernment.moa.logging.LogMsg; import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.Constants; - import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; @@ -44,6 +42,7 @@ import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; import at.gv.egovernment.moa.spss.server.util.IdGenerator; import at.gv.egovernment.moa.spss.util.MessageProvider; +import at.gv.egovernment.moa.util.Constants; /** * A factory to create XMLSignatureCreationProfiles from a @@ -91,6 +90,8 @@ public class XMLSignatureCreationProfileFactory { * * @param singleSignatureInfo The SingleSignatureInfo object * containing information about the creation of a signature. + * @param sigInfoReservedIDs The Set of reserved ID attribue values + * for the particular singleSignatureInfo. * @return The XMLSignatureCreationProfile containing additional * information for creating an XML signature. * @throws MOASystemException A system error occurred during creation of the @@ -98,11 +99,14 @@ public class XMLSignatureCreationProfileFactory { * @throws MOAApplicationException An application error occurred during * creation of the profile. See message for details. */ - public XMLSignatureCreationProfile createProfile(SingleSignatureInfo singleSignatureInfo) - throws MOASystemException, MOAApplicationException { + public XMLSignatureCreationProfile createProfile(SingleSignatureInfo singleSignatureInfo, + Set sigInfoReservedIDs) throws MOASystemException, MOAApplicationException { + + HashSet allReservedIDs = new HashSet(reserved); + allReservedIDs.addAll(sigInfoReservedIDs); XMLSignatureCreationProfileImpl profile = - new XMLSignatureCreationProfileImpl(createProfileCount, reserved); + new XMLSignatureCreationProfileImpl(createProfileCount, allReservedIDs); TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); ConfigurationProvider config = context.getConfiguration(); @@ -124,7 +128,8 @@ public class XMLSignatureCreationProfileFactory { buildDataObjectTreatmentList( singleSignatureInfo, createTransformsProfiles, - transformationSupplements); + transformationSupplements, + allReservedIDs); profile.setDataObjectTreatmentList(dataObjectTreatmentList); // set the key set @@ -259,6 +264,7 @@ public class XMLSignatureCreationProfileFactory { * singleSignatureInfo. * @param transformationSupplements Additional parameters for * transformations contained in DataObjectTreatments. + * @param reservedIDs The Set of reserved object IDs. * @return A List of DataObjectTreatment objects. * @throws MOAApplicationException An error occurred building one of the * DataObjectTreatments. @@ -268,7 +274,8 @@ public class XMLSignatureCreationProfileFactory { private List buildDataObjectTreatmentList( SingleSignatureInfo singleSignatureInfo, List createTransformsInfoProfiles, - List transformationSupplements) + List transformationSupplements, + Set reservedIDs) throws MOASystemException, MOAApplicationException { TransactionContext context = @@ -290,7 +297,7 @@ public class XMLSignatureCreationProfileFactory { new IdGenerator( ("signed-data-" + createProfileCount) + ("-" + dataObjectTreatmentCount++), - reserved); + reservedIDs); DataObjectTreatmentImpl treatment = new DataObjectTreatmentImpl(objIdGen); treatment.setFinalContentType( -- cgit v1.2.3