Welcome to XML Security Suite!
XML is expected to facilitate Internet B2B messaging because of its simplicity and flexibility. One big concern that customer may have in doing Internet B2B messaging is security. Internet is a public network, and there has been no protection against attacks such as eavesdropping and forgery. If messages are stolen or modified during transmission, B2B messaging will be almost useless. Fortunately, the recent advancement of public-key cryptography has remedied most of the security problems in communication. Using modern cryptographic protocols such as SSL, the Internet became as secure as any other networks, including VANs and intranets.
Our XML Security Suite will push the security further by introducing new security features such as digital signature, element-wise encryption, and access control that are beyond the capability of the transport-level security protocol such as SSL. Our goal is to contribute to the discussions of standard bodies by providing sample implementations, as well as to supply our advanced technologies to our partners and to hear what they think. In this release of XML Security Suite, we provide reference implementations of DOMHASH, a proposed canonicalized digest value for XML document, and its two sample applications. DOMHASH can be a basis for XML digital signature that is being discussed in both IETF and W3C.
In this release, we have DOMHASH reference implementations as well as its two sample applications.
This is a DOMHASH reference implementation library. This library contains both SAX and DOM implementation. The definition of DOMHASH is contained in this package but is also available as an Internet Draft from http://www.ietf.org/ under the name of draft-hiroshi-dom-hash-XX.txt. Note that the version number (XX) can change at any moment so make sure you search the latest version. You need to have compliant SAX or DOM parser to run this library (you do not need IBM's XML Parser for Java, although we recommend it!).
One of the intended use of DOMHASH is as a canonicalizer of XML digital signature. This sample implementation of XML Digital Signature is based on Richard Brown's internet draft (draft-brown-xml-dsig-XX.txt). This sample Java application implements a minimum subset of the specification that can be used as signed XML messages. The signature algorithm is dependent on Java Cryptography Architecture (JCA) 1.2, and therefore, no additional cryptographic package is necessary as far as you use DSA algorithm (not RSA!). You need JDK 1.2 and IBM XML Parser for Java (XML4J), version 2.
This tool compares DOM and SAX outputs of various XML processors. Because of our DOMHASH reference implementation is XML Processor-neutral, it can run with any compliant XML processors (DOM or SAX). These compliant processors are expected to produce the same results (within the certain variances allowed by XML and DOM specifications), and thus, should produce the same DOMHASH values. This tool allows you to compare the DOMHASH values of your XML processor with other well known processors. We also included the DOMHASH values of James Clark's test sets, according to the DOMHASH specification.
Also there is an excellent sample of DOMHASH, XMLTreeDiff, as a separate technology available from alphaWorks. Do not forget to check it out!
Add xss4j.jar to CLASSPATH environment varible.
- Windows 95/98:
- set CLASSPATH=E:\xss4j\xss4j.jar;....
- UNIX (csh/tcsh):
- setenv CLASSPATH /usr/local/xss4j/xss4j.jar:....
- UNIX (sh/ksh/bash/zsh):
- CLASSPATH=/usr/local/xss4j/xss4j.jar:....; export CLASSPATH
If you use JDK 1.2, you may copy xss4j.jar to JRE's extension directory, jre/lib/ext/. If you installed JDK 1.2 to E:\jdk1.2, the extension directory is E:\jdk1.2\jre\lib\ext\. In this case, you need not set CLASSPATH.
Applications in this package require an XML parser such as XML4J. You have to add .jar files of the XML parser to CLASSPATH or JRE's extension directory.
We plan to release element-wise encryption capability of XML documents sometime soon. Stay tuned!
Technical questions and comments to alphaWorks Discussion. Non-technical questions to Hiroshi MARUYAMA.