blob: ada3dd7b7bd6f729081beb6e968cc6bd1cf5058c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd"
[
<!ENTITY % xmlsec_entities SYSTEM "../xmlsec_entities.ent">
%xmlsec_entities;
]>
<!--
Copyright 2003-2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<document>
<header>
<title>Java Interoperability</title>
</header>
<body>
<section>
<title>Problems</title>
<p>In Version v1.0.4, there is one test case which fails (interop test
for exclusive c14n). This is related to very esoteric node sets (The Y4
test vector from
<jump
href="http://www.w3.org/Signature/2002/02/01-exc-c14n-interop.html">
the interop matrix
</jump>).
</p>
</section>
<section>
<title>Interoperability issues</title>
<p>
As it can be seen on the
<jump href="ext:w3c/xmldsig">working group homepage</jump>,
there are some interoperability reports, namely for
<jump href="http://www.w3.org/Signature/2000/10/10-c14n-interop.html">
Canonical XML
</jump>,
<jump
href="http://www.w3.org/Signature/2002/02/01-exc-c14n-interop.html">
Exclusive Canonical XML
</jump>
and
<jump
href="http://www.w3.org/TR/xmldsig-core/2001/04/05-xmldsig-interop.html">
XML Signature
</jump>.
</p>
<p>
Interoperability depends heavily on test vectors, this means that
implementation A has to check whether the signatures from
implementation B can be verified. For this purpose, we have a
collection of different test vectors in our <code>data/</code>
directory. The directory includes test vectors from
</p>
<ul>
<li><jump href="http://www.baltimore.com/keytools/xml/index.html">
Baltimore KeyTools XML</jump>
</li>
<li><jump href="http://jcewww.iaik.at/products/ixsil/index.php">IAIK IXSIL</jump></li>
<li><jump
href="http://www.rsasecurity.com/products/bsafe/certj.html">
RSA Security Cert-J</jump>
</li>
<li>The vectors from the
<jump
href="http://www.alphaworks.ibm.com/tech/xmlsecuritysuite">
IBM alphaWorks XML Security suite
</jump> could not been included in this distribution because of
licensing issues. For some reasons which I do not understand, they
copyrighted their test signatures which they have bundled with
xss4j. If you want to include interop testing against IBM in your
unit tests, simply do the following:
Download <code>xss4j-20030127.zip</code> from the
<jump
href="http://www.alphaworks.ibm.com/aw.nsf/download/xmlsecuritysuite">
alphaWorks download page
</jump>.
Copy all files from the <code>xss4j-20030127.zip#/xss4j/data</code>
directory into the
<code>xml-security/data/com/ibm/xss4j-20030127/</code>
directory. If the
<jump href="api/org/apache/xml/security/test/InteropTest.html">
Interop
</jump> class finds these files, the
<code>org.apache.xml.security.test.interop.IBMTest</code> class is
also executed during unit interop tests.
</li>
</ul>
</section>
</body>
</document>