Apache XML Encryption 0.9 Release Notes


This is the beta release of the XML Encryption Library.

About this release

0.9 is an alpha release that is mostly conformant to the draft release of the W3C's XML Encryption Syntax and Processing recomendation of November 2002. Since then, there are some areas that needs to be rectified to be fully complient to the aforementioned recomendation. It must also be noted that the synatax and processing recomendation has been released as a full recomendation on December 10, 2002. This release of the XML Encryption implementation is also not fully complient with the W3C's Decryption Transform for XML Signature recomendation of December 10, 2002.

Read the documentation in the web folder

Please, read the documentation BEFORE you try to continue.

Encryption Libraries

The default algorithims shiped whith J2SE 1.4.x and JCE 1.x is not sufficient to fully implement the XML Encryption recomendation. As a result, a third party cryptographic provider is needed to provide the appropriate cryptographic functionality. A high quality, free, open source implementation that supplies all the desired algorithms is available from The Legion of the Bouncy Castle. For more information see the Cryptographic Service Providers page. If one should decide to use the aforementioned cryptographic provider, one should alter the $JRE_HOME/lib/security/java.security file to have a 'list of providers' that looks as follows:
#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.rsajca.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider

Note the inclusion of the Bouncy Castle provider on line 2. Please consult the appropriate documentation on how to configure the above mentioned configuration file if there are existing providers available that does supply the algorithms as specified by the XML Encryption Syntax and Processing recomendation.

Dependencies

One of the primary implementation goals of the XML Encryption Library was to minimize dependencies on third party libraries. This has been largely achieved, aside for a dependency on Xerces Java 2 and Jakarta Log4J. These dependencies will most propably by removed in the near future. Other, non-crucial dependencies are JUnit for testing and Jakarta Ant for building the software.

To get going

  1. ant -f build_xenc_alpha.xml compile-source
  2. ant -f build_xenc_alpha.xml compile-tests
  3. . ./test_xenc_alpha.sh