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 | |
| 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
| -rw-r--r-- | spss.handbook/handbook/config/config.html | 2 | ||||
| -rw-r--r-- | spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf | bin | 339034 -> 142297 bytes | |||
| -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 | 
6 files changed, 22 insertions, 18 deletions
| diff --git a/spss.handbook/handbook/config/config.html b/spss.handbook/handbook/config/config.html index 52a0fe46d..501b851b1 100644 --- a/spss.handbook/handbook/config/config.html +++ b/spss.handbook/handbook/config/config.html @@ -589,7 +589,7 @@ dieses obligatorischen Attributs vom Typ<code> xs:anyURI</code> enthält die    <ul>      <li><code>cfg:CreateSignatureEnvironmentProfile</code>: Enthält für eine zu erstellende XML-Signatur, die in ein bereits bestehendes XML-Dokument integriert werden soll, die Stelle, an der die XML-Signatur eingefügt werden soll, sowie allenfalls für die Verarbeitung des bestehenden XML-Dokuments notwendige Ergänzungsobjekte (z.B. ein XML-Schema für das validierende Parsen des bestehenden XML-Dokuments).</li>      <li><code>cfg:CreateTransformsInfoProfile</code>: Enthält für ein bestimmtes Datenobjekt für eine zu erstellende XML-Signatur die auf dieses Datenobjekt anzuwendenden Transformationen, sowie allenfalls für die Durchführung der Transformationen notwendige Ergänzungsobjekte (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</li> -    <li><code>cfg:VerifyTransformsInfoProfile</code>: Enthält für ein bestimmtes Datenobjekt für eine zu prüfende XML-Signatur einen für dieses Datenobjekt erlaubten Transformationsweg, bestehend aus den anzuwendenden Transformationen, sowie allenfalls für die Durchführung der Transformationen erlaubten Ergänzungsobjekte (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</li> +    <li><code>cfg:VerifyTransformsInfoProfile</code>: Enthält für ein bestimmtes Datenobjekt für eine zu prüfende XML-Signatur eine für dieses Datenobjekt erlaubte Transformationsfolge, bestehend aus den anzuwendenden Transformationen, sowie allenfalls für die Durchführung der Transformationen erlaubte implizite Transformationsparameter (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</li>      <li><code>cfg:SupplementProfile</code>: Enthält für ein Datenobjekt  in der zu prüfenden XML-Signatur ein allenfalls für die Durchführung der  vorgegebenen Transformationen notwendiges Ergänzungsobjekt (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</li>    </ul>    <p>Jedes dieser Elemente kann dabei beliebig oft (auch gar nicht) vorkommen. Alle Elemente teilen den gleichen Aufbau; sie weisen zwei obligatorische Attribute auf und haben keinen Element-Inhalt:</p> diff --git a/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf b/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdfBinary files differ index 76094b848..bc3db0158 100644 --- a/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf +++ b/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf 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.docBinary files differ index 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; | 
