diff options
author | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-06 11:11:42 +0000 |
---|---|---|
committer | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-06 11:11:42 +0000 |
commit | 246ab430e61374d6d23b1b30a8ffe614c5589b5f (patch) | |
tree | 9662f2621f44c2ee4175bb9d60dda7b55f678856 /spss.server | |
parent | 154069ca2477f4a00252ebdc399fdd7a472c677a (diff) | |
download | moa-id-spss-246ab430e61374d6d23b1b30a8ffe614c5589b5f.tar.gz moa-id-spss-246ab430e61374d6d23b1b30a8ffe614c5589b5f.tar.bz2 moa-id-spss-246ab430e61374d6d23b1b30a8ffe614c5589b5f.zip |
Bug 269 behoben.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@376 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.server')
-rw-r--r-- | spss.server/history.txt | 9 | ||||
-rw-r--r-- | spss.server/spec/MOA-SPSS-1.2.doc | bin | 536064 -> 556544 bytes | |||
-rw-r--r-- | spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java | 12 | ||||
-rw-r--r-- | spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java | 17 |
4 files changed, 21 insertions, 17 deletions
diff --git a/spss.server/history.txt b/spss.server/history.txt index 84f10047d..42930a943 100644 --- a/spss.server/history.txt +++ b/spss.server/history.txt @@ -1,11 +1,16 @@ ############## -Current + Current ############## -- MOA fit für Mehrfachsignaturen, d.h. mehrere XML-Signaturen in einem XML- +- MOA SS fit für Mehrfachsignaturen, d.h. mehrere XML-Signaturen in einem XML- Dokument gemacht. Bisher scheiterte das an den fix vergebenen Id-Attributen innerhalb der dsig:Signature-Struktur. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=214. + +- MOA SP so verändert, dass die Prüfungen zum Signaturmanifest laut SL 1.2 jeden- + falls durchgeführt werden, auch wenn das Element SignatureManifestCheckParams + in VerifyXMLSignatureRequest nicht angegeben wird. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=269. ############## 1.2.1 diff --git a/spss.server/spec/MOA-SPSS-1.2.doc b/spss.server/spec/MOA-SPSS-1.2.doc Binary files differindex 4e4ceed09..62376fe38 100644 --- a/spss.server/spec/MOA-SPSS-1.2.doc +++ b/spss.server/spec/MOA-SPSS-1.2.doc diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java index 185a8c511..e192b66a2 100644 --- a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java @@ -152,7 +152,7 @@ public class XMLSignatureVerificationInvoker { supplements); xmlSignature = buildXMLSignature(signatureEnvironment, request); - // build the list of DataObjects + // build the list of DataObjects dataObjectList = buildDataObjectList(supplements); // build profile @@ -301,8 +301,8 @@ public class XMLSignatureVerificationInvoker { ConfigurationProvider config = context.getConfiguration(); List supplementProfiles = request.getSupplementProfiles(); - List supplements = new ArrayList(); if (supplementProfiles != null) { + List supplements = new ArrayList(); List mappedProfiles = ProfileMapper.mapSupplementProfiles(supplementProfiles, config); Iterator iter; @@ -312,9 +312,11 @@ public class XMLSignatureVerificationInvoker { (SupplementProfileExplicit) iter.next(); supplements.add(profile.getSupplementProfile()); } + + return supplements; } - return supplements; + return null; } /** @@ -351,7 +353,7 @@ public class XMLSignatureVerificationInvoker { // validate that each ReferenceData object contains transforms specified // in the corresponding SignatureManifestCheckParams/ReferenceInfo - if (profile.checkSecurityLayerManifest()) { + if (request.getSignatureManifestCheckParams() != null) { List refInfos = request.getSignatureManifestCheckParams().getReferenceInfos(); List refDatas = filterReferenceInfos(result.getReferenceDataList()); @@ -401,7 +403,7 @@ public class XMLSignatureVerificationInvoker { // validate the hashes contained in all the ReferenceInfo objects of the // security layer manifest - if (profile.checkSecurityLayerManifest() + if (request.getSignatureManifestCheckParams() != null && result.containsSecurityLayerManifest()) { Map hashValues = buildTransformParameterHashValues(request); Set transformParameterURIs = diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java index 858964c82..5df13a337 100644 --- a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java @@ -75,19 +75,16 @@ public class XMLSignatureVerificationProfileFactory { profile.setIncludeHashInputData(request.getReturnHashInputData()); // set the security layer manifest check parameters + // and transformation supplements (if present) checkParams = request.getSignatureManifestCheckParams(); + profile.setCheckSecurityLayerManifest(true); + profile.setIncludeReferenceInputData(checkParams != null ? checkParams.getReturnReferenceInputData() : false); if (checkParams != null) { - List transformationSupplements; - - profile.setCheckSecurityLayerManifest(true); - profile.setIncludeReferenceInputData( - checkParams.getReturnReferenceInputData()); - transformationSupplements = buildTransformationSupplements(); - profile.setTransformationSupplements(transformationSupplements); + List transformationSupplements; + transformationSupplements = buildTransformationSupplements(); + profile.setTransformationSupplements(transformationSupplements); } else { - profile.setCheckSecurityLayerManifest(false); - profile.setIncludeReferenceInputData(false); - profile.setTransformationSupplements(Collections.EMPTY_LIST); + profile.setTransformationSupplements(Collections.EMPTY_LIST); } return profile; |