|
From: Pelle B. <pe...@us...> - 2004-03-23 21:01:30
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29273/src/test/org/neuclear/xml/xmlsec Modified Files: SimpleXMLSigTest.java Log Message: Added ExternalSignature and further Javadocs. Added Busy Developers Guide and Interop guide. Ready for release. Index: SimpleXMLSigTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** SimpleXMLSigTest.java 19 Mar 2004 22:21:51 -0000 1.12 --- SimpleXMLSigTest.java 23 Mar 2004 20:51:00 -0000 1.13 *************** *** 5,8 **** --- 5,9 ---- import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; + import org.dom4j.Element; import org.neuclear.commons.crypto.CryptoException; import org.neuclear.commons.crypto.CryptoTools; *************** *** 25,28 **** --- 26,34 ---- * $Id$ * $Log$ + * Revision 1.13 2004/03/23 20:51:00 pelle + * Added ExternalSignature and further Javadocs. + * Added Busy Developers Guide and Interop guide. + * Ready for release. + * * Revision 1.12 2004/03/19 22:21:51 pelle * Changes in the XMLSignature class, which is now Abstract there are currently 3 implementations for: *************** *** 30,34 **** * - DataObjects - (Enveloping) * - Any for interop testing mainly. ! * * Revision 1.11 2004/03/08 23:51:04 pelle * More improvements on the XMLSignature. Now uses the Transforms properly, References properly. --- 36,40 ---- * - DataObjects - (Enveloping) * - Any for interop testing mainly. ! * <p/> * Revision 1.11 2004/03/08 23:51:04 pelle * More improvements on the XMLSignature. Now uses the Transforms properly, References properly. *************** *** 164,167 **** --- 170,182 ---- XMLSignature sig = new DataObjectSignature(doc.getRootElement()); } catch (InvalidSignatureException e) { + // e.printStackTrace(); + assertTrue("Signature Failed: " + e.getLocalizedMessage(), false); + } + } + + private void assertValidExternalSignature(Document doc) throws XMLSecurityException { + try { + XMLSignature sig = new ExternalSignature(doc.getRootElement()); + } catch (InvalidSignatureException e) { assertTrue("Signature Failed: " + e.getLocalizedMessage(), false); } *************** *** 272,275 **** --- 287,350 ---- } + public final void testExternalSignatureUsingSigner() throws DocumentException, XMLException, CryptoException, UserCancellationException { + final XMLSignature sig = new ExternalSignature("neu://test", signer, "http://www.w3.org/TR/2000/WD-xml-c14n-20001011"); + final File outputFile = new File("target/testdata/homegrown/signature-external-signer.xml"); + XMLTools.writeFile(outputFile, sig.getElement()); + + Document doc = XMLTools.loadDocument(outputFile); + assertValidExternalSignature(doc); + } + + public final void testExternalDSASignature() throws DocumentException, XMLException, CryptoException, UserCancellationException { + final XMLSignature sig = new ExternalSignature(dsa, "http://www.w3.org/TR/2000/WD-xml-c14n-20001011"); + final File outputFile = new File("target/testdata/homegrown/signature-external-dsa.xml"); + XMLTools.writeFile(outputFile, sig.getElement()); + + Document doc = XMLTools.loadDocument(outputFile); + assertValidExternalSignature(doc); + } + + public final void testExternalRSASignature() throws DocumentException, XMLException, CryptoException, UserCancellationException { + final XMLSignature sig = new ExternalSignature(rsa, "http://www.w3.org/TR/2000/WD-xml-c14n-20001011"); + final File outputFile = new File("target/testdata/homegrown/signature-external-rsa.xml"); + XMLTools.writeFile(outputFile, sig.getElement()); + + Document doc = XMLTools.loadDocument(outputFile); + assertValidExternalSignature(doc); + } + + public final void testExampleEnvelopedForOverviewDoc() throws NoSuchAlgorithmException, DocumentException, XMLSecurityException { + KeyPair kp = CryptoTools.createTinyRSAKeyPair(); + + Document doc = DocumentHelper.parseText("<test><test2/></test>"); + Element elem = doc.getRootElement(); + + EnvelopedSignature envsig = new EnvelopedSignature(kp, elem); + System.out.println(doc.asXML()); + + try { + EnvelopedSignature verifid = new EnvelopedSignature(elem); + } catch (InvalidSignatureException e) { + System.err.println("Invalid Signature"); + } + } + + public final void testExampleEnvelopingForOverviewDoc() throws NoSuchAlgorithmException, DocumentException, XMLSecurityException { + KeyPair kp = CryptoTools.createTinyRSAKeyPair(); + + Document doc = DocumentHelper.parseText("<test><test2/></test>"); + Element elem = doc.getRootElement(); + + DataObjectSignature datasig = new DataObjectSignature(kp, elem); + Element sigelem = datasig.getElement(); + System.out.println(sigelem.asXML()); + + try { + DataObjectSignature verified = new DataObjectSignature(sigelem); + } catch (InvalidSignatureException e) { + System.err.println("Invalid Signature"); + } + } + private final KeyPair rsa; private final KeyPair dsa; |