blob: d7b14fe6c7dce1d4b5f92ea2dce11f05d3853f76 [file] [log] [blame]
If we sign a Manifest, we have to ensure that the References inside the Manifest have correct digest values (that we do not blindly sign contents which an attacker wants us to sign). Additionally, the signed contents of such a (nested) Manifest have to be made available to the user. Currently, only the 1st level contents (what is referenced by SignedInfo) are available using XMLSignature.getSignedInfo().getSignedContent(int i). Same comments apply to sigining a ds:Reference from another Manifest or SignedInfo.
Question: What is an appropriate processing model if the user signs a ds:Manifest or a ds:Reference ?
Possible choices include:
- only process the SignedInfo. Make information about signed Manifests, References or Signatures available to the user. Now it's up to the user to decide whether he follows this hint or not.
- using the XMLSignature.setFollowNestedManifests(true) method, it can be defined that all Mianifests have to be valid, also Manifests which are referenced from Manifests.
- the user could define a length how many Manifests have to be followed. But this makes not much sense, cause it makes Signature something 'analog', allowing to scale whether validation fails or not.
TODO for 1.2.1:
[X] Fix the memory leak when using xpath or using ResourceResolver and not hitting
getElementByIdUsingDOM() [http://issues.apache.org/bugzilla/show_bug.cgi?id=32836]
[X] Fix the bug with using XPath2Filter and inclusive c14n
[X] Fix the bug arrouse in reusing Canonicalizers
[X] Fix base64transformation bug [http://issues.apache.org/bugzilla/show_bug.cgi?id=33393 ]
[X] Fix the XMLsignatureInput reset() bug.
[X] Clean unused jar (xmlParserAPI.jar,etc) and check and stored new versions.
[X] generated the dist jar with version (i.e. xmlsec-1.2.1.jar instead of plain xmlsec.jar)
[X] Clean unused build*.xml files.
TODO for 1.3:
RAUL:
[X] Remove XPath in IdResolver.
[X] Deferred XPath till needed.
[X] Clean unneed XPath
[ ] Integrate the SAX patch and add Signing
[ ] More examples.
[X] Change Symbol table to a more efficient and simple structure
[ ] constrac name bindings on the fly like XMLSerialicer does.
[ ] Optimize ouputstream with native jce, nio & threads.
[X] Migrate to JSR105 API
[X] Optimize certifacate & public key getting. for loops look wrong,
better registring..
[X] Optimize xpath2 to only look for the node not for the node and all the parents.
[ ] There are several places in the library where a Dom is created from a byte array
see if this is really needed and unified this creation in one class.
[ ] Get rid of Init.init()
[ ] Get rid of all if (MODE_SIGN) create a class for signing and another for verifying.
[ ] Work on examples there are out of sync with the code.Unitest the examples?
[ ] Clean build.xml, why is still needed the jce?
[ ] Change to forrest 0.7 instead of 0.6
[ ] Remove all references to CVS in documentation
[ ] Add performance section to documentation.