You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(119) |
Oct
(111) |
Nov
(238) |
Dec
(395) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(239) |
Feb
(59) |
Mar
(354) |
Apr
(489) |
May
(23) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(5) |
Jun
(2) |
Jul
|
Aug
|
Sep
(3) |
Oct
(14) |
Nov
(17) |
Dec
(9) |
| 2007 |
Jan
(4) |
Feb
(3) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(7) |
May
(3) |
Jun
(6) |
Jul
(4) |
Aug
(3) |
Sep
(15) |
Oct
(13) |
Nov
(35) |
Dec
(40) |
| 2009 |
Jan
(19) |
Feb
(21) |
Mar
(16) |
Apr
(18) |
May
(36) |
Jun
(20) |
Jul
(32) |
Aug
(11) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(13) |
| 2010 |
Jan
(5) |
Feb
(5) |
Mar
(7) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(3) |
| 2012 |
Jan
(3) |
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(8) |
Jun
(4) |
Jul
(9) |
Aug
(2) |
Sep
(8) |
Oct
(3) |
Nov
(8) |
Dec
(4) |
| 2013 |
Jan
(2) |
Feb
(1) |
Mar
(5) |
Apr
(6) |
May
(10) |
Jun
(5) |
Jul
(6) |
Aug
(7) |
Sep
(5) |
Oct
(2) |
Nov
(4) |
Dec
(4) |
| 2014 |
Jan
(13) |
Feb
(4) |
Mar
(7) |
Apr
(9) |
May
(20) |
Jun
(13) |
Jul
(10) |
Aug
(3) |
Sep
(5) |
Oct
(2) |
Nov
(2) |
Dec
(2) |
| 2015 |
Jan
(3) |
Feb
(3) |
Mar
(5) |
Apr
(4) |
May
(3) |
Jun
(2) |
Jul
(4) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
(4) |
Sep
(3) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
| 2017 |
Jan
|
Feb
(2) |
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <pe...@us...> - 2004-01-16 23:42:12
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline
In directory sc8-pr-cvs1:/tmp/cvs-serv8224/src/java/org/neuclear/id/tools/commandline
Modified Files:
BuildAllTopLevel.java
Log Message:
Added Base32 class. The Base32 encoding used wasnt following the standards.
Added user creatable Identity for Public Keys
Index: BuildAllTopLevel.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline/BuildAllTopLevel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** BuildAllTopLevel.java 15 Jan 2004 00:02:08 -0000 1.4
--- BuildAllTopLevel.java 16 Jan 2004 23:42:09 -0000 1.5
***************
*** 2,7 ****
import org.neuclear.commons.NeuClearException;
! import org.neuclear.commons.crypto.passphraseagents.GuiDialogAgent;
! import org.neuclear.commons.crypto.signers.*;
import org.neuclear.id.SignedNamedObject;
import org.neuclear.id.builders.IdentityBuilder;
--- 2,9 ----
import org.neuclear.commons.NeuClearException;
! import org.neuclear.commons.crypto.signers.JCESigner;
! import org.neuclear.commons.crypto.signers.PublicKeySource;
! import org.neuclear.commons.crypto.signers.Signer;
! import org.neuclear.commons.crypto.signers.TestCaseSigner;
import org.neuclear.id.SignedNamedObject;
import org.neuclear.id.builders.IdentityBuilder;
***************
*** 30,33 ****
--- 32,39 ----
$Id$
$Log$
+ Revision 1.5 2004/01/16 23:42:09 pelle
+ Added Base32 class. The Base32 encoding used wasnt following the standards.
+ Added user creatable Identity for Public Keys
+
Revision 1.4 2004/01/15 00:02:08 pelle
Problem fixed with Enveloping signatures.
***************
*** 89,96 ****
public static void main(final String[] args) {
try {
! final JCESigner rootsig = new DefaultSigner(new GuiDialogAgent());
final JCESigner testsig = new TestCaseSigner();
final Store store = new FileStore("target/testdata/repository");
! store.receive(createIdentities("neu://test", rootsig, testsig));
store.receive(createIdentities("neu://bob@test", testsig, testsig));
store.receive(createIdentities("neu://alice@test", testsig, testsig));
--- 95,103 ----
public static void main(final String[] args) {
try {
! // final JCESigner rootsig = new DefaultSigner(new GuiDialogAgent());
final JCESigner testsig = new TestCaseSigner();
final Store store = new FileStore("target/testdata/repository");
! // store.receive(createIdentities("neu://", rootsig, rootsig));
! // store.receive(createIdentities("neu://test", rootsig, testsig));
store.receive(createIdentities("neu://bob@test", testsig, testsig));
store.receive(createIdentities("neu://alice@test", testsig, testsig));
|
|
From: <pe...@us...> - 2004-01-16 23:42:03
|
Update of /cvsroot/neuclear/neuclear-commons/src/test/org/neuclear/commons/crypto
In directory sc8-pr-cvs1:/tmp/cvs-serv8157/src/test/org/neuclear/commons/crypto
Added Files:
Base32Tests.java
Log Message:
Added Base32 class. The Base32 encoding used wasnt following the standards.
Added user creatable Identity for Public Keys
--- NEW FILE: Base32Tests.java ---
package org.neuclear.commons.crypto;
import junit.framework.TestCase;
/*
NeuClear Distributed Transaction Clearing Platform
(C) 2003 Pelle Braendgaard
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id: Base32Tests.java,v 1.1 2004/01/16 23:41:59 pelle Exp $
$Log: Base32Tests.java,v $
Revision 1.1 2004/01/16 23:41:59 pelle
Added Base32 class. The Base32 encoding used wasnt following the standards.
Added user creatable Identity for Public Keys
*/
/**
* User: pelleb
* Date: Jan 16, 2004
* Time: 9:52:41 PM
*/
public class Base32Tests extends TestCase{
public Base32Tests(String string) {
super(string);
}
public void testBase32() throws CryptoException {
assertEquals(32,Base32.encode(CryptoTools.digest("hello")).length());
assertEquals(8,Base32.encode("hello").length());
assertEquals(10,Base32.encode("hello1").length());
assertEquals(12,Base32.encode("hello12").length());
assertEquals(9,Base32.encode("hello123").length());
assertEquals(14,Base32.encode("hello1234").length());
assertEquals(15,Base32.encode("hello12345").length());
assertEquals(16,Base32.encode("hello123456").length());
for (int i=0;i<TESTSTRINGS.length;i++){
assertEquals(TESTSTRINGS[i],new String(Base32.decode(Base32.encode(TESTSTRINGS[i]))));
}
}
static final String TESTSTRINGS[] =new String[]{
"0123456789",
"",
"0",
"abcde56"
};
}
|
|
From: <pe...@us...> - 2004-01-16 23:42:03
|
Update of /cvsroot/neuclear/neuclear-commons/src/java/org/neuclear/commons/crypto In directory sc8-pr-cvs1:/tmp/cvs-serv8157/src/java/org/neuclear/commons/crypto Modified Files: CryptoTools.java Added Files: Base32.java Log Message: Added Base32 class. The Base32 encoding used wasnt following the standards. Added user creatable Identity for Public Keys --- NEW FILE: Base32.java --- package org.neuclear.commons.crypto; import java.math.BigInteger; /* NeuClear Distributed Transaction Clearing Platform (C) 2003 Pelle Braendgaard This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA $Id: Base32.java,v 1.1 2004/01/16 23:41:59 pelle Exp $ $Log: Base32.java,v $ Revision 1.1 2004/01/16 23:41:59 pelle Added Base32 class. The Base32 encoding used wasnt following the standards. Added user creatable Identity for Public Keys */ /** * Utility class for doing URL safe Base32 encodeings as specified in * <a href="http://www.waterken.com/dev/Enc/base32/">Tyler Close's Base32 page</a> */ public class Base32 { //Disallow Instantiation private Base32(){ } /** * Encode in Base32 the given <code>{@link java.math.BigInteger}<code>. * * @param big * @return String with Base32 encoding */ public static String encode(final BigInteger big) throws CryptoException { // System.out.println("JDK toByteArray(): "+encode(big.toByteArray())); // System.out.println("getBytes(): "+encode(getBytes(big))); return encode(big.toByteArray()); } /** * Method decodeBase32Element * * * @param base32 * * @return */ public static byte[] decode(final byte[] base32) throws CryptoException { return null; } /** * <p>Decode a Base32-encoded string to a byte array</p> * * @param base32 <code>String</code> encoded string (single line only !!) * @return Decoded data in a byte array */ public static byte[] decode(final String base32) throws CryptoException { return decode(base32.getBytes()); } /** * * @param raw <code>byte[]<code> to be base32 encoded * @return the <code>String<code> with encoded data */ public static String encode(final byte[] raw) throws CryptoException { return new String(encodeToByteArray(raw)); } public static int getEncodedLength(int src){ final int baselength = (src*8); final int mod=baselength%5; if (mod==0) return baselength/5; else return baselength/5+1; } public static byte[] encodeToByteArray(final byte[]raw) throws CryptoException { final int baselength = (raw.length*8); final int mod=baselength%5; final int length=getEncodedLength(raw.length); final byte encoded[]=new byte[length]; final byte chunk[]=new byte[5]; long chs=0; //ri= src index, ei= encoded index int ci=8; for (int ri=0,ei=0;ri<raw.length;ri=ri+5,ei=ei+8){ // System.out.print(", "+ri); if (ri==(raw.length-1)&&mod>0) { System.arraycopy(raw,ri,chunk,0,mod); for(int j=mod;j<5;j++) chunk[j]=0; ci=(8*mod)/5+(((8*mod)%5==0)?0:1); } else System.arraycopy(raw,ri,chunk,0,5); chs=new BigInteger(chunk).longValue(); for (int j=0;j<ci;j++){ encoded[ei+j]=encodeVal(getPart(chs,j)); } } return encoded; } private static byte getPart(long chunk,int num){ return (byte) ((chunk>>((7-num)*5))&31); } /** * Encode a String as base32 * * @param raw <code>byte[]<code> to be base32 encoded * @return the <code>String<code> with encoded data */ public static String encode(final String raw) throws CryptoException { return encode(raw.getBytes()); } private static byte encodeVal(byte val) throws CryptoException { if (val>31) throw new CryptoException("Encode Overflow"); return CROSS[val]; } private static final byte[] CROSS = new byte[]{ 'a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p', 'q','r','s','t','u','v','w','x', 'y','z','2','3','4','5','6','7' }; } Index: CryptoTools.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-commons/src/java/org/neuclear/commons/crypto/CryptoTools.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CryptoTools.java 9 Jan 2004 16:34:32 -0000 1.10 --- CryptoTools.java 16 Jan 2004 23:41:59 -0000 1.11 *************** *** 2,5 **** --- 2,9 ---- * $Id$ * $Log$ + * Revision 1.11 2004/01/16 23:41:59 pelle + * Added Base32 class. The Base32 encoding used wasnt following the standards. + * Added user creatable Identity for Public Keys + * * Revision 1.10 2004/01/09 16:34:32 pelle * changed use of base36 encoding to base32 to ensure compatibility with other schemes. *************** *** 225,233 **** import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher; import org.bouncycastle.crypto.params.KeyParameter; import org.bouncycastle.jce.interfaces.ECPrivateKey; import org.bouncycastle.jce.provider.BouncyCastleProvider; - import org.bouncycastle.jce.X509V3CertificateGenerator; - import org.bouncycastle.jce.X509Principal; - import org.bouncycastle.asn1.x509.X509Name; import org.neuclear.commons.time.TimeTools; --- 229,236 ---- import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher; import org.bouncycastle.crypto.params.KeyParameter; + import org.bouncycastle.jce.X509Principal; + import org.bouncycastle.jce.X509V3CertificateGenerator; import org.bouncycastle.jce.interfaces.ECPrivateKey; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.neuclear.commons.time.TimeTools; *************** *** 250,257 **** import java.security.spec.RSAPublicKeySpec; import java.security.spec.X509EncodedKeySpec; - import java.util.Random; - import java.util.HashMap; - import java.util.Vector; import java.util.Date; // TODO Implement some code to automatically BC Provider if not installed --- 253,258 ---- import java.security.spec.RSAPublicKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Date; + import java.util.Random; // TODO Implement some code to automatically BC Provider if not installed *************** *** 500,503 **** --- 501,507 ---- return digest(dig, value); } + public static byte[] digest(final String value) { + return digest(value.getBytes()); + } public static byte[] digest256(final byte[] value) { *************** *** 673,676 **** --- 677,684 ---- } + public static KeyPair createTinyKeyPair() throws NoSuchAlgorithmException { + return getTinyKeyPairGenerator().generateKeyPair(); + } + public static KeyPair createKeyPair(final String algorithm) throws NoSuchAlgorithmException { *************** *** 687,690 **** --- 695,707 ---- } + public static KeyPairGenerator getTinyKeyPairGenerator() throws NoSuchAlgorithmException { + if (kg == null) { + kg = KeyPairGenerator.getInstance("RSA"); + + kg.initialize(512, new SecureRandom("Bear it all with NeuDist".getBytes())); + } + return kg; + + } public static KeyPairGenerator getKeyPairGenerator(final String algorithm) |
|
From: <pe...@us...> - 2004-01-15 00:02:11
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv9114/src/test/org/neuclear/id
Modified Files:
NSToolsTest.java
Log Message:
Problem fixed with Enveloping signatures.
Index: NSToolsTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/NSToolsTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** NSToolsTest.java 11 Dec 2003 23:57:30 -0000 1.16
--- NSToolsTest.java 15 Jan 2004 00:02:08 -0000 1.17
***************
*** 2,5 ****
--- 2,8 ----
$Id$
$Log$
+ Revision 1.17 2004/01/15 00:02:08 pelle
+ Problem fixed with Enveloping signatures.
+
Revision 1.16 2003/12/11 23:57:30 pelle
Trying to test the ReceiverServlet with cactus. Still no luck. Need to return a ElementProxy of some sort.
***************
*** 134,140 ****
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.crypto.CryptoTools;
- import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.id.builders.IdentityBuilder;
- import org.neuclear.id.builders.SignatureRequestBuilder;
import org.neuclear.xml.xmlsec.XMLSecurityException;
--- 137,141 ----
***************
*** 255,261 ****
public static void testIsNamedObject() throws NeuClearException, XMLSecurityException {
! AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://test", "neu://neuclear.org", "http://neuclear.org");
! assertTrue(NSTools.isNamedObject(builder.getElement()));
! assertTrue(NSTools.isNamedObject(new SignatureRequestBuilder("neu://neuclear.org", "neu://bob@test", builder, "Test").getElement()));
assertTrue(NSTools.isNamedObject(new IdentityBuilder("neu://test", Identity.getRootPK()).getElement()));
assertFalse(NSTools.isNamedObject(DocumentHelper.createElement("test")));
--- 256,262 ----
public static void testIsNamedObject() throws NeuClearException, XMLSecurityException {
! // AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://test", "neu://neuclear.org", "http://neuclear.org");
! // assertTrue(NSTools.isNamedObject(builder.getElement()));
! // assertTrue(NSTools.isNamedObject(new SignatureRequestBuilder("neu://neuclear.org", "neu://bob@test", builder, "Test").getElement()));
assertTrue(NSTools.isNamedObject(new IdentityBuilder("neu://test", Identity.getRootPK()).getElement()));
assertFalse(NSTools.isNamedObject(DocumentHelper.createElement("test")));
|
|
From: <pe...@us...> - 2004-01-15 00:02:11
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline
In directory sc8-pr-cvs1:/tmp/cvs-serv9114/src/java/org/neuclear/id/tools/commandline
Modified Files:
BuildAllTopLevel.java
Log Message:
Problem fixed with Enveloping signatures.
Index: BuildAllTopLevel.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline/BuildAllTopLevel.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** BuildAllTopLevel.java 19 Dec 2003 00:31:30 -0000 1.3
--- BuildAllTopLevel.java 15 Jan 2004 00:02:08 -0000 1.4
***************
*** 10,16 ****
import org.neuclear.xml.XMLException;
- import java.io.FileNotFoundException;
- import java.security.GeneralSecurityException;
-
/*
NeuClear Distributed Transaction Clearing Platform
--- 10,13 ----
***************
*** 33,36 ****
--- 30,36 ----
$Id$
$Log$
+ Revision 1.4 2004/01/15 00:02:08 pelle
+ Problem fixed with Enveloping signatures.
+
Revision 1.3 2003/12/19 00:31:30 pelle
Lots of usability changes through out all the passphrase agents and end user tools.
***************
*** 92,96 ****
final JCESigner testsig = new TestCaseSigner();
final Store store = new FileStore("target/testdata/repository");
! // store.receive(createIdentities("neu://test", rootsig, testsig));
store.receive(createIdentities("neu://bob@test", testsig, testsig));
store.receive(createIdentities("neu://alice@test", testsig, testsig));
--- 92,96 ----
final JCESigner testsig = new TestCaseSigner();
final Store store = new FileStore("target/testdata/repository");
! store.receive(createIdentities("neu://test", rootsig, testsig));
store.receive(createIdentities("neu://bob@test", testsig, testsig));
store.receive(createIdentities("neu://alice@test", testsig, testsig));
|
|
From: <pe...@us...> - 2004-01-15 00:01:49
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec In directory sc8-pr-cvs1:/tmp/cvs-serv8943/src/test/org/neuclear/xml/xmlsec Modified Files: RefTest.java Log Message: Problem fixed with Enveloping signatures. Index: RefTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RefTest.java 14 Jan 2004 16:34:27 -0000 1.3 --- RefTest.java 15 Jan 2004 00:01:46 -0000 1.4 *************** *** 32,35 **** --- 32,38 ---- $Id$ $Log$ + Revision 1.4 2004/01/15 00:01:46 pelle + Problem fixed with Enveloping signatures. + Revision 1.3 2004/01/14 16:34:27 pelle New model of references and signatures now pretty much works. |
|
From: <pe...@us...> - 2004-01-15 00:01:49
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec In directory sc8-pr-cvs1:/tmp/cvs-serv8943/src/java/org/neuclear/xml/xmlsec Modified Files: Reference.java XMLSignature.java Log Message: Problem fixed with Enveloping signatures. Index: Reference.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Reference.java 14 Jan 2004 17:07:59 -0000 1.8 --- Reference.java 15 Jan 2004 00:01:46 -0000 1.9 *************** *** 1,4 **** --- 1,7 ---- /* $Id$ * $Log$ + * Revision 1.9 2004/01/15 00:01:46 pelle + * Problem fixed with Enveloping signatures. + * * Revision 1.8 2004/01/14 17:07:59 pelle * KeyInfo containing X509Certificates now work correctly. *************** *** 131,138 **** import org.dom4j.Element; - import org.dom4j.Node; - import org.dom4j.DocumentHelper; import org.neuclear.commons.Utility; - import org.neuclear.commons.crypto.Base64; import org.neuclear.commons.crypto.CryptoTools; import org.neuclear.xml.XMLException; --- 134,138 ---- *************** *** 141,148 **** import org.neuclear.xml.c14.CanonicalizerWithoutSignature; ! import java.io.*; ! import java.util.List; ! import java.net.URL; import java.net.MalformedURLException; public final class Reference extends AbstractXMLSigElement { --- 141,149 ---- import org.neuclear.xml.c14.CanonicalizerWithoutSignature; ! import java.io.BufferedInputStream; ! import java.io.ByteArrayOutputStream; ! import java.io.IOException; import java.net.MalformedURLException; + import java.net.URL; public final class Reference extends AbstractXMLSigElement { *************** *** 161,175 **** final Canonicalizer canon; Element transformsElement = addElement("Transforms"); ! final Element object; if (sigtype == XMLSIGTYPE_ENVELOPED){ canon=new CanonicalizerWithoutSignature(); transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature"); ! object=root; } else if (sigtype == XMLSIGTYPE_ENVELOPING){ canon= new Canonicalizer(); ! object=getElement().getParent().getParent().addElement("Object"); ! object.addAttribute("Id","data"); ! object.add(root.createCopy()); } else { throw new XMLSecurityException("Unsupported Signature Method"); --- 162,174 ---- final Canonicalizer canon; Element transformsElement = addElement("Transforms"); ! // final Element object; if (sigtype == XMLSIGTYPE_ENVELOPED){ canon=new CanonicalizerWithoutSignature(); transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature"); ! // object=root; } else if (sigtype == XMLSIGTYPE_ENVELOPING){ canon= new Canonicalizer(); ! //object=root.getParent(); } else { throw new XMLSecurityException("Unsupported Signature Method"); *************** *** 182,186 **** createAttribute("URI","#"+id); ! addDigest(canon,object); } --- 181,185 ---- createAttribute("URI","#"+id); ! addDigest(canon,root); } Index: XMLSignature.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** XMLSignature.java 14 Jan 2004 06:42:38 -0000 1.10 --- XMLSignature.java 15 Jan 2004 00:01:46 -0000 1.11 *************** *** 1,4 **** --- 1,7 ---- /* $Id$ * $Log$ + * Revision 1.11 2004/01/15 00:01:46 pelle + * Problem fixed with Enveloping signatures. + * * Revision 1.10 2004/01/14 06:42:38 pelle * Got rid of the verifyXXX() methods *************** *** 178,184 **** import org.neuclear.commons.crypto.CryptoTools; import org.neuclear.commons.crypto.passphraseagents.UserCancellationException; - import org.neuclear.commons.crypto.signers.Signer; - import org.neuclear.commons.crypto.signers.PublicKeySource; import org.neuclear.commons.crypto.signers.NonExistingSignerException; import org.neuclear.xml.XMLException; --- 181,187 ---- import org.neuclear.commons.crypto.CryptoTools; import org.neuclear.commons.crypto.passphraseagents.UserCancellationException; import org.neuclear.commons.crypto.signers.NonExistingSignerException; + import org.neuclear.commons.crypto.signers.PublicKeySource; + import org.neuclear.commons.crypto.signers.Signer; import org.neuclear.xml.XMLException; *************** *** 228,231 **** --- 231,235 ---- } else if (type == Reference.XMLSIGTYPE_ENVELOPING) { final Element objElem = XMLSecTools.createElementInSignatureSpace("Object"); + objElem.addAttribute("Id","data"); getElement().add(objElem); DocumentHelper.createDocument(getElement());//As Signature Element is parent we will now add a doc *************** *** 233,237 **** root = objElem; } else { ! // Detached Handle this in the Ference Constructor } final int alg = (key instanceof RSAPrivateKey) ? SignatureInfo.SIG_ALG_RSA : SignatureInfo.SIG_ALG_DSA; --- 237,241 ---- root = objElem; } else { ! throw new XMLSecurityException("Unknown Signature Method"); } final int alg = (key instanceof RSAPrivateKey) ? SignatureInfo.SIG_ALG_RSA : SignatureInfo.SIG_ALG_DSA; |
|
From: <pe...@us...> - 2004-01-14 17:08:03
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv14513/src/java/org/neuclear/xml/xmlsec
Modified Files:
KeyInfo.java Reference.java
Log Message:
KeyInfo containing X509Certificates now work correctly.
10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
Index: KeyInfo.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** KeyInfo.java 10 Jan 2004 00:02:02 -0000 1.8
--- KeyInfo.java 14 Jan 2004 17:07:59 -0000 1.9
***************
*** 143,161 ****
return KeyResolverFactory.getInstance().resolve(name);
}
! private PublicKey parseX509(final Element element){
return extractX509(element).getPublicKey();
}
! private X509Certificate extractX509(final Element element){
! Element x509Data=element.element("X509Data");
if (x509Data!=null){
try {
byte encoded[]=XMLSecTools.decodeBase64Element(x509Data);
! CertificateFactory fact=CertificateFactory.getInstance("X509v3");
X509Certificate cert=(X509Certificate) fact.generateCertificate(new ByteArrayInputStream(encoded));
return cert;
- } catch (XMLSecurityException e) {
- return null;
} catch (CertificateException e) {
! return null;
}
}
--- 143,160 ----
return KeyResolverFactory.getInstance().resolve(name);
}
! private PublicKey parseX509(final Element element) throws XMLSecurityException {
return extractX509(element).getPublicKey();
}
! private X509Certificate extractX509(final Element element) throws XMLSecurityException {
! Element x509Data=element.element("X509Certificate");
if (x509Data!=null){
try {
byte encoded[]=XMLSecTools.decodeBase64Element(x509Data);
! CertificateFactory fact=CertificateFactory.getInstance("X.509");
X509Certificate cert=(X509Certificate) fact.generateCertificate(new ByteArrayInputStream(encoded));
return cert;
} catch (CertificateException e) {
! throw new XMLSecurityException(e);
!
}
}
Index: Reference.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Reference.java 14 Jan 2004 16:34:27 -0000 1.7
--- Reference.java 14 Jan 2004 17:07:59 -0000 1.8
***************
*** 1,4 ****
--- 1,8 ----
/* $Id$
* $Log$
+ * Revision 1.8 2004/01/14 17:07:59 pelle
+ * KeyInfo containing X509Certificates now work correctly.
+ * 10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
+ *
* Revision 1.7 2004/01/14 16:34:27 pelle
* New model of references and signatures now pretty much works.
***************
*** 165,169 ****
canon= new Canonicalizer();
! object=DocumentHelper.createElement("Object");
object.addAttribute("Id","data");
object.add(root.createCopy());
--- 169,173 ----
canon= new Canonicalizer();
! object=getElement().getParent().getParent().addElement("Object");
object.addAttribute("Id","data");
object.add(root.createCopy());
|
|
From: <pe...@us...> - 2004-01-14 17:08:03
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv14513/src/test/org/neuclear/xml/xmlsec
Modified Files:
SignatureTests.java
Log Message:
KeyInfo containing X509Certificates now work correctly.
10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
Index: SignatureTests.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** SignatureTests.java 14 Jan 2004 16:34:27 -0000 1.3
--- SignatureTests.java 14 Jan 2004 17:07:59 -0000 1.4
***************
*** 7,10 ****
--- 7,14 ----
* $Id$
* $Log$
+ * Revision 1.4 2004/01/14 17:07:59 pelle
+ * KeyInfo containing X509Certificates now work correctly.
+ * 10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
+ *
* Revision 1.3 2004/01/14 16:34:27 pelle
* New model of references and signatures now pretty much works.
***************
*** 148,152 ****
} catch (Exception e) {
System.out.println("ERROR: "+(errors++)+e.getMessage());
! // e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
}
--- 152,156 ----
} catch (Exception e) {
System.out.println("ERROR: "+(errors++)+e.getMessage());
! e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
}
|
|
From: <pe...@us...> - 2004-01-14 17:07:56
|
Update of /cvsroot/neuclear/neuclear-id
In directory sc8-pr-cvs1:/tmp/cvs-serv14496
Modified Files:
neuclear.iws
Log Message:
KeyInfo containing X509Certificates now work correctly.
10 out of 16 of merlin's tests now work. The missing ones are largely due to key resolution issues. (Read X509)
Index: neuclear.iws
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/neuclear.iws,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** neuclear.iws 14 Jan 2004 16:34:13 -0000 1.5
--- neuclear.iws 14 Jan 2004 17:07:52 -0000 1.6
***************
*** 67,71 ****
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Got rid of the verifyXXX() methods" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
--- 67,71 ----
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="New model of references and signatures now pretty much works. I am still not 100% sure on the created enveloping signatures. I need to do more testing." />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
***************
*** 107,177 ****
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="164" column="19" selection-start="7541" selection-end="7541" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="129" column="39" selection-start="6113" selection-end="6113" vertical-scroll-proportion="0.32848233">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="54" selection-start="332" selection-end="332" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="42" selection-start="5543" selection-end="5543" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="58" column="85" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.9072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/NullResolver.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="75" selection-start="331" selection-end="331" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="100" column="19" selection-start="4960" selection-end="4960" vertical-scroll-proportion="-2.2141373">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="127" column="45" selection-start="6220" selection-end="6220" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="335" column="54" selection-start="15012" selection-end="15012" vertical-scroll-proportion="0.48856547">
<folding />
</state>
--- 107,177 ----
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-retrievalmethod-rawx509crt.xml">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/Readme.txt" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.9979839">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-retrievalmethod-rawx509crt.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-crt-crl.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-crt.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="29" column="38" selection-start="1644" selection-end="1644" vertical-scroll-proportion="0.5141129">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="149" column="0" selection-start="7055" selection-end="7055" vertical-scroll-proportion="0.45322245">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="153" column="112" selection-start="6181" selection-end="6181" vertical-scroll-proportion="0.51975054">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="44" column="6" selection-start="1673" selection-end="1673" vertical-scroll-proportion="0.09072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-ski.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-sn.xml" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.23908524">
<folding />
</state>
***************
*** 198,209 ****
--- 198,212 ----
<expanded_node url="file://$PROJECT_DIR$/src/schemas" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/test" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/certs" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers" module="neuclear-commons" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay" module="neuclear-pay" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset" module="neuclear-pay" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/testdata" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java" module="neuclear-commons" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-commons/src" module="neuclear-commons" type="directory" />
***************
*** 426,530 ****
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="223" column="93" selection-start="10718" selection-end="10718" vertical-scroll-proportion="3.8669438">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="212" column="0" selection-start="9080" selection-end="9080" vertical-scroll-proportion="0.53638256">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="57" column="26" selection-start="1974" selection-end="1974" vertical-scroll-proportion="0.38045737">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/XMLTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="319" column="45" selection-start="12399" selection-end="12399" vertical-scroll-proportion="1.3306452">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="146" column="81" selection-start="7670" selection-end="7670" vertical-scroll-proportion="0.6611227">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="100" column="19" selection-start="4960" selection-end="4960" vertical-scroll-proportion="-2.2141373">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="335" column="54" selection-start="15012" selection-end="15012" vertical-scroll-proportion="0.48856547">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="54" selection-start="332" selection-end="332" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="127" column="45" selection-start="6220" selection-end="6220" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="164" column="19" selection-start="7541" selection-end="7541" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="58" column="85" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.9072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="42" selection-start="5543" selection-end="5543" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/NullResolver.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="75" selection-start="331" selection-end="331" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="129" column="39" selection-start="6113" selection-end="6113" vertical-scroll-proportion="0.32848233">
<folding />
</state>
--- 429,533 ----
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="339" column="54" selection-start="15217" selection-end="15217" vertical-scroll-proportion="0.48856547">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="54" selection-start="332" selection-end="332" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="127" column="45" selection-start="6220" selection-end="6220" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="156" column="49" selection-start="7146" selection-end="7146" vertical-scroll-proportion="0.23908524">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/NullResolver.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="75" selection-start="331" selection-end="331" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="149" column="0" selection-start="7055" selection-end="7055" vertical-scroll-proportion="0.45322245">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-retrievalmethod-rawx509crt.xml">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/Readme.txt">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.9979839">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-crt-crl.xml">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="153" column="112" selection-start="6181" selection-end="6181" vertical-scroll-proportion="0.51975054">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-crt.xml">
<provider selected="true" editor-type-id="text-editor">
! <state line="29" column="38" selection-start="1644" selection-end="1644" vertical-scroll-proportion="0.5141129">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.23908524">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-ski.xml">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="44" column="6" selection-start="1673" selection-end="1673" vertical-scroll-proportion="0.09072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/testdata/merlin-xmldsig-twenty-three/signature-x509-sn.xml">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
|
|
From: <pe...@us...> - 2004-01-14 16:34:30
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv7171/src/test/org/neuclear/xml/xmlsec
Modified Files:
RefTest.java SignatureTests.java
Log Message:
New model of references and signatures now pretty much works.
I am still not 100% sure on the created enveloping signatures. I need to do more testing.
Index: RefTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** RefTest.java 14 Jan 2004 06:42:38 -0000 1.2
--- RefTest.java 14 Jan 2004 16:34:27 -0000 1.3
***************
*** 7,10 ****
--- 7,11 ----
import org.neuclear.commons.crypto.CryptoException;
import org.neuclear.xml.XMLException;
+ import org.neuclear.xml.XMLTools;
import java.io.File;
***************
*** 31,34 ****
--- 32,39 ----
$Id$
$Log$
+ Revision 1.3 2004/01/14 16:34:27 pelle
+ New model of references and signatures now pretty much works.
+ I am still not 100% sure on the created enveloping signatures. I need to do more testing.
+
Revision 1.2 2004/01/14 06:42:38 pelle
Got rid of the verifyXXX() methods
***************
*** 54,58 ****
Reference ref=new Reference(uri);
assertNotNull(ref);
! assertNotNull(ref.getDigest());
assertEquals(uri,ref.getUri());
System.out.println(ref.asXML());
--- 59,63 ----
Reference ref=new Reference(uri);
assertNotNull(ref);
! // assertNotNull(ref.getDigest());
assertEquals(uri,ref.getUri());
System.out.println(ref.asXML());
***************
*** 60,67 ****
public void testEnvelopedReference() throws DocumentException, XMLException, CryptoException {
! Document doc=DocumentHelper.parseText("<test id=\"one\">hello</test>");
Reference ref=new Reference(doc.getRootElement(),Reference.XMLSIGTYPE_ENVELOPED);
assertNotNull(ref);
! assertNotNull(ref.getDigest());
assertEquals("#one",ref.getUri());
System.out.println(ref.asXML());
--- 65,72 ----
public void testEnvelopedReference() throws DocumentException, XMLException, CryptoException {
! Document doc=DocumentHelper.parseText("<test Id=\"one\">hello</test>");
Reference ref=new Reference(doc.getRootElement(),Reference.XMLSIGTYPE_ENVELOPED);
assertNotNull(ref);
! // assertNotNull(ref.getDigest());
assertEquals("#one",ref.getUri());
System.out.println(ref.asXML());
***************
*** 69,77 ****
}
public void testEnvelopingReference() throws DocumentException, XMLException, CryptoException, InvalidSignatureException {
! Document doc=DocumentHelper.parseText("<Signature><SignedInfo/><Object id=\"one\"><test>hello</test></Object>");
Reference ref=new Reference(doc.getRootElement().element("Object"),Reference.XMLSIGTYPE_ENVELOPED);
doc.getRootElement().element("SignedInfo").add(ref.getElement());
assertNotNull(ref);
! assertNotNull(ref.getDigest());
assertEquals("#one",ref.getUri());
System.out.println(doc.asXML());
--- 74,83 ----
}
public void testEnvelopingReference() throws DocumentException, XMLException, CryptoException, InvalidSignatureException {
! Document doc=DocumentHelper.parseText("<Signature><SignedInfo/><Object Id=\"one\"><test>hello</test></Object></Signature>");
Reference ref=new Reference(doc.getRootElement().element("Object"),Reference.XMLSIGTYPE_ENVELOPED);
doc.getRootElement().element("SignedInfo").add(ref.getElement());
+ assertNotNull(XMLTools.getByID(doc,"one"));
assertNotNull(ref);
! // assertNotNull(ref.getDigest());
assertEquals("#one",ref.getUri());
System.out.println(doc.asXML());
***************
*** 79,83 ****
Document doc2=DocumentHelper.parseText(doc.asXML());
Reference ref2=new Reference(doc2.getRootElement().element("SignedInfo").element("Reference"));
! assertEquals(ref.getDigest(),ref2.getDigest());
assertEquals(ref.getUri(),ref2.getUri());
--- 85,89 ----
Document doc2=DocumentHelper.parseText(doc.asXML());
Reference ref2=new Reference(doc2.getRootElement().element("SignedInfo").element("Reference"));
! // assertEquals(ref.getDigest(),ref2.getDigest());
assertEquals(ref.getUri(),ref2.getUri());
Index: SignatureTests.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** SignatureTests.java 21 Nov 2003 04:44:31 -0000 1.2
--- SignatureTests.java 14 Jan 2004 16:34:27 -0000 1.3
***************
*** 7,10 ****
--- 7,14 ----
* $Id$
* $Log$
+ * Revision 1.3 2004/01/14 16:34:27 pelle
+ * New model of references and signatures now pretty much works.
+ * I am still not 100% sure on the created enveloping signatures. I need to do more testing.
+ *
* Revision 1.2 2003/11/21 04:44:31 pelle
* EncryptedFileStore now works. It uses the PBECipher with DES3 afair.
***************
*** 129,133 ****
final File[] xmlfiles=dir.listFiles(filter);
System.out.println("There are "+xmlfiles.length+" files in the directory");
! for (int i = 0; i < xmlfiles.length; i++) {
final File xmlfile = xmlfiles[i];
--- 133,139 ----
final File[] xmlfiles=dir.listFiles(filter);
System.out.println("There are "+xmlfiles.length+" files in the directory");
! int errors=0;
! int i=0;
! for ( i = 0; i < xmlfiles.length; i++) {
final File xmlfile = xmlfiles[i];
***************
*** 139,148 ****
System.out.println("Verified");
else
! System.out.println("FAILED");
} catch (Exception e) {
! System.out.println("ERROR "+e.getMessage());
// e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
}
--- 145,155 ----
System.out.println("Verified");
else
! System.out.println("FAILED: "+(errors++));
} catch (Exception e) {
! System.out.println("ERROR: "+(errors++)+e.getMessage());
// e.printStackTrace(); //To change body of catch statement use Options | File Templates.
}
}
+ System.out.println(errors +" out of "+i+" documents failed");
|
|
From: <pe...@us...> - 2004-01-14 16:34:30
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml In directory sc8-pr-cvs1:/tmp/cvs-serv7171/src/java/org/neuclear/xml Modified Files: XMLTools.java Log Message: New model of references and signatures now pretty much works. I am still not 100% sure on the created enveloping signatures. I need to do more testing. Index: XMLTools.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/XMLTools.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XMLTools.java 13 Jan 2004 23:37:59 -0000 1.5 --- XMLTools.java 14 Jan 2004 16:34:27 -0000 1.6 *************** *** 2,5 **** --- 2,9 ---- * $Id$ * $Log$ + * Revision 1.6 2004/01/14 16:34:27 pelle + * New model of references and signatures now pretty much works. + * I am still not 100% sure on the created enveloping signatures. I need to do more testing. + * * Revision 1.5 2004/01/13 23:37:59 pelle * Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes. *************** *** 141,148 **** */ ! import org.dom4j.Document; ! import org.dom4j.DocumentException; ! import org.dom4j.DocumentHelper; ! import org.dom4j.Element; import org.dom4j.dom.DOMDocument; import org.dom4j.io.*; --- 145,149 ---- */ ! import org.dom4j.*; import org.dom4j.dom.DOMDocument; import org.dom4j.io.*; *************** *** 297,301 **** throw new XMLException(e); } ! } --- 298,327 ---- throw new XMLException(e); } ! /** ! * This is used to find an Elemente with a given ID. ! * This is necessary because of Dom4j's use of the ID attribute ! * and not the more common in XMLSignature Id attribute. ! * @param elem ! * @param id ! * @return ! */ ! public static Element getByID(Element elem,String id){ ! return getByID(elem.getDocument(),id); ! } ! /** ! * This is used to find an Elemente with a given ID. ! * This is necessary because of Dom4j's use of the ID attribute ! * and not the more common in XMLSignature Id attribute. ! * @param doc ! * @param id ! * @return ! */ ! public static Element getByID(Document doc,String id){ ! Element object=doc.elementByID(id); ! if (object!=null) ! return object; ! XPath xp=DocumentHelper.createXPath("//*[@Id='"+id+"']"); ! return (Element) xp.selectSingleNode(doc); ! } } |
|
From: <pe...@us...> - 2004-01-14 16:34:30
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv7171/src/java/org/neuclear/xml/xmlsec
Modified Files:
InvalidSignatureException.java Reference.java XMLSecTools.java
Log Message:
New model of references and signatures now pretty much works.
I am still not 100% sure on the created enveloping signatures. I need to do more testing.
Index: InvalidSignatureException.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** InvalidSignatureException.java 14 Jan 2004 06:42:38 -0000 1.1
--- InvalidSignatureException.java 14 Jan 2004 16:34:27 -0000 1.2
***************
*** 11,15 ****
*/
public class InvalidSignatureException extends Exception {
! public InvalidSignatureException(String a,String b) {
super("Digest: '"+a+"' not equal to: "+b);
}
--- 11,15 ----
*/
public class InvalidSignatureException extends Exception {
! public InvalidSignatureException(byte a[],byte b[]) {
super("Digest: '"+a+"' not equal to: "+b);
}
Index: Reference.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Reference.java 14 Jan 2004 06:42:38 -0000 1.6
--- Reference.java 14 Jan 2004 16:34:27 -0000 1.7
***************
*** 1,4 ****
--- 1,8 ----
/* $Id$
* $Log$
+ * Revision 1.7 2004/01/14 16:34:27 pelle
+ * New model of references and signatures now pretty much works.
+ * I am still not 100% sure on the created enveloping signatures. I need to do more testing.
+ *
* Revision 1.6 2004/01/14 06:42:38 pelle
* Got rid of the verifyXXX() methods
***************
*** 124,127 ****
--- 128,132 ----
import org.dom4j.Element;
import org.dom4j.Node;
+ import org.dom4j.DocumentHelper;
import org.neuclear.commons.Utility;
import org.neuclear.commons.crypto.Base64;
***************
*** 132,137 ****
import org.neuclear.xml.c14.CanonicalizerWithoutSignature;
! import java.io.IOException;
import java.util.List;
public final class Reference extends AbstractXMLSigElement {
--- 137,144 ----
import org.neuclear.xml.c14.CanonicalizerWithoutSignature;
! import java.io.*;
import java.util.List;
+ import java.net.URL;
+ import java.net.MalformedURLException;
public final class Reference extends AbstractXMLSigElement {
***************
*** 146,178 ****
* <ul>
*/
! public Reference(Element root, final int sigtype) throws XMLSecurityException {
super(Reference.TAG_NAME);
final Canonicalizer canon;
Element transformsElement = addElement("Transforms");
if (sigtype == XMLSIGTYPE_ENVELOPED){
canon=new CanonicalizerWithoutSignature();
transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature");
! }else {
canon= new Canonicalizer();
}
transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/TR/2001/REC-xml-c14n-20010315");
type=sigtype;
! final String id = root.attributeValue("id");
if (!Utility.isEmpty(id))
createAttribute("URI","#"+id);
! digest=createDigest(canon, root);
! addDigest();
! }
!
! private void addDigest() {
! addElement("DigestMethod").addAttribute(XMLSecTools.createQName("Algorithm"),"http://www.w3.org/2000/09/xmldsig#sha1");
! getElement().add(XMLSecTools.base64ToElement("DigestValue",digest.getBytes()));
}
- private static String createDigest(final Canonicalizer canon, Object root) throws XMLSecurityException {
- return new String(Base64.encode(CryptoTools.digest(canon.canonicalize(root))));
- }
public Reference(final String uri) throws XMLSecurityException {
--- 153,184 ----
* <ul>
*/
! public Reference(final Element root, final int sigtype) throws XMLSecurityException {
super(Reference.TAG_NAME);
final Canonicalizer canon;
Element transformsElement = addElement("Transforms");
+ final Element object;
if (sigtype == XMLSIGTYPE_ENVELOPED){
canon=new CanonicalizerWithoutSignature();
transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature");
! object=root;
! } else if (sigtype == XMLSIGTYPE_ENVELOPING){
!
canon= new Canonicalizer();
+ object=DocumentHelper.createElement("Object");
+ object.addAttribute("Id","data");
+ object.add(root.createCopy());
+ } else {
+ throw new XMLSecurityException("Unsupported Signature Method");
}
transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/TR/2001/REC-xml-c14n-20010315");
type=sigtype;
! final String id = Utility.denullString(root.attributeValue("Id"),root.attributeValue("ID"));
if (!Utility.isEmpty(id))
createAttribute("URI","#"+id);
! addDigest(canon,object);
}
public Reference(final String uri) throws XMLSecurityException {
***************
*** 180,185 ****
type=XMLSIGTYPE_DETACHED;
createAttribute("URI",uri);
! digest=createDigest(new Canonicalizer(),loadReference(uri));
! addDigest();
}
/**
--- 186,190 ----
type=XMLSIGTYPE_DETACHED;
createAttribute("URI",uri);
! addDigest(new Canonicalizer(),loadReference(uri));
}
/**
***************
*** 194,200 ****
type=findSignatureType(elem);
! digest=new String(XMLSecTools.decodeBase64Element(getElement().element(XMLSecTools.createQName("DigestValue"))));
! final Object object=findRefElement(type,elem);
final Canonicalizer canon;
if (type==XMLSIGTYPE_ENVELOPED)
--- 199,207 ----
type=findSignatureType(elem);
! byte digest[]=XMLSecTools.decodeBase64Element(getElement().element(XMLSecTools.createQName("DigestValue")));
! final Object object=findRefElement(elem);
! if (object==null)
! throw new XMLSecurityException("Couldnt Dereference Object:\n "+elem.asXML());
final Canonicalizer canon;
if (type==XMLSIGTYPE_ENVELOPED)
***************
*** 203,243 ****
canon=new Canonicalizer();
! final String dig2 = createDigest(canon, object);
! if (!digest.equals(dig2))
throw new InvalidSignatureException(digest,dig2);
}
! private static int findSignatureType(Element elem) throws XMLSecurityException {
! if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().getParent() != null) { // Enveloped
! return XMLSIGTYPE_ENVELOPED;
! } else if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().element("Object") != null) { // Enveloped
! return XMLSIGTYPE_ENVELOPING;
! } else {// Detached
! return XMLSIGTYPE_DETACHED;
! }
}
! private static Object findRefElement(int type,Element elem) throws XMLSecurityException {
final String id=elem.attributeValue("URI");
! if (!Utility.isEmpty(id)){
! if (id.startsWith("#")&&id.length()>2){
! Node node= elem.getDocument().elementByID(id.substring(1));
! if (node!=null)
! return node;
}
}
! switch (type){
! case XMLSIGTYPE_ENVELOPED:
! return elem.getDocument();
! case XMLSIGTYPE_ENVELOPING:
! final List contents = elem.getParent().getParent().element("Object").content();
! if (contents.size() == 1)
! return contents.get(0);
! else
! return contents;
! case XMLSIGTYPE_DETACHED:
! return loadReference(id);
! }
! throw new XMLSecurityException("Confused Stated. Dont know what Signature Type we have");
}
--- 210,253 ----
canon=new Canonicalizer();
! final byte dig2[] = createDigest(canon, object);
! if (!CryptoTools.equalByteArrays(digest,dig2))
throw new InvalidSignatureException(digest,dig2);
}
+ private void addDigest(final Canonicalizer canon, Object root) throws XMLSecurityException {
+ addElement("DigestMethod").addAttribute(XMLSecTools.createQName("Algorithm"),"http://www.w3.org/2000/09/xmldsig#sha1");
+ getElement().add(XMLSecTools.base64ToElement("DigestValue",createDigest(canon,root)));
+ }
! private static byte[] createDigest(final Canonicalizer canon, Object root) throws XMLSecurityException {
! final byte[] value = canon.canonicalize(root);
! // System.out.println("Canonicalized:");
! // System.out.println(new String(value));
! // System.out.println("------");
! return CryptoTools.digest(value);
}
! private static int findSignatureType(Element elem) {
final String id=elem.attributeValue("URI");
! if (!Utility.isEmpty(id)&&id.length()>1){
! if (id.startsWith("#"))
! return XMLSIGTYPE_ENVELOPING;
! return XMLSIGTYPE_DETACHED;
! }
! return XMLSIGTYPE_ENVELOPED;
! }
!
! private static Object findRefElement(Element elem) throws XMLSecurityException {
! final String id=elem.attributeValue("URI");
! if (!Utility.isEmpty(id)&&id.length()>1){
! if (id.startsWith("#")){
! // System.out.println("Ref: "+id.substring(1));
! return XMLTools.getByID(elem,id.substring(1));
}
+ // Non Local URI, we need to load it
+ return loadReference(id);
+
}
! // if URI is null or "" the data object is the root element
! return elem.getDocument().getRootElement();
}
***************
*** 246,296 ****
throw new XMLSecurityException("XMLSignature is not linked to Document");
try {
! return XMLTools.loadDocument(refuri).getRootElement();
} catch (XMLException e) {
throw new XMLSecurityException(e);
}
}
- /**
- * Method getEncoded
- * This returns the Digest
- *
- * @return
- */
- public final String getDigest() {
- return digest;
- }
- private Canonicalizer getCanonicalizer() {
- /*
- if (getSigType() == Reference.XMLSIGTYPE_ENVELOPED)
- return new CanonicalizerWithoutSignature();
- else if (c14nType == Canonicalizer.C14NTYPE_WITH_COMMENTS)
- return new CanonicalizerWithComments();
- */
- return new Canonicalizer();
- }
-
-
-
- /*
- protected final byte[] canonicalizeReference() {
- return XMLSecTools.canonicalize(getCanonicalizer(), getReferenceElement());
- }
-
- protected final byte[] generateRefenceDigest() {
- return CryptoTools.digest(canonicalizeReference());
- }
-
- public final boolean verifyReferences() throws XMLSecurityException, CryptoException {
- return CryptoTools.equalByteArrays(generateRefenceDigest(), getDigest());
- }
-
- */
public String getUri(){
return getElement().attributeValue("URI");
}
- private final String digest;
private final int type;
--- 256,286 ----
throw new XMLSecurityException("XMLSignature is not linked to Document");
try {
! URL url= new URL(refuri);
! String ref=url.getRef();
! if (ref!=null) // If we have a reference part it is XML
! return XMLTools.loadDocument(url).getRootElement().elementByID(ref);
! BufferedInputStream is=new BufferedInputStream(url.openStream());
! ByteArrayOutputStream os=new ByteArrayOutputStream(is.available());
! byte input[]=new byte[is.available()];
! int count=0;
! while((count=is.read(input))>=0){
! os.write(input,0,count);
! }
! is.close();
! return new String(os.toByteArray());
} catch (XMLException e) {
throw new XMLSecurityException(e);
+ } catch (MalformedURLException e) {
+ throw new XMLSecurityException(e);
+ } catch (IOException e) {
+ throw new XMLSecurityException(e);
}
}
public String getUri(){
return getElement().attributeValue("URI");
}
private final int type;
Index: XMLSecTools.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** XMLSecTools.java 14 Jan 2004 06:42:38 -0000 1.7
--- XMLSecTools.java 14 Jan 2004 16:34:27 -0000 1.8
***************
*** 1,4 ****
--- 1,8 ----
/* $Id$
* $Log$
+ * Revision 1.8 2004/01/14 16:34:27 pelle
+ * New model of references and signatures now pretty much works.
+ * I am still not 100% sure on the created enveloping signatures. I need to do more testing.
+ *
* Revision 1.7 2004/01/14 06:42:38 pelle
* Got rid of the verifyXXX() methods
***************
*** 334,337 ****
--- 338,342 ----
return true;
} catch (InvalidSignatureException e) {
+ System.out.println(e.getLocalizedMessage());
return false;
}
|
|
From: <pe...@us...> - 2004-01-14 16:34:30
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/c14 In directory sc8-pr-cvs1:/tmp/cvs-serv7171/src/java/org/neuclear/xml/c14 Modified Files: Canonicalizer.java Log Message: New model of references and signatures now pretty much works. I am still not 100% sure on the created enveloping signatures. I need to do more testing. Index: Canonicalizer.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Canonicalizer.java 14 Jan 2004 06:42:37 -0000 1.5 --- Canonicalizer.java 14 Jan 2004 16:34:27 -0000 1.6 *************** *** 8,11 **** --- 8,15 ---- * $Id$ * $Log$ + * Revision 1.6 2004/01/14 16:34:27 pelle + * New model of references and signatures now pretty much works. + * I am still not 100% sure on the created enveloping signatures. I need to do more testing. + * * Revision 1.5 2004/01/14 06:42:37 pelle * Got rid of the verifyXXX() methods |
|
From: <pe...@us...> - 2004-01-14 16:34:17
|
Update of /cvsroot/neuclear/neuclear-id
In directory sc8-pr-cvs1:/tmp/cvs-serv7136
Modified Files:
neuclear.iws
Log Message:
New model of references and signatures now pretty much works.
I am still not 100% sure on the created enveloping signatures. I need to do more testing.
Index: neuclear.iws
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/neuclear.iws,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** neuclear.iws 14 Jan 2004 06:42:15 -0000 1.4
--- neuclear.iws 14 Jan 2004 16:34:13 -0000 1.5
***************
*** 67,71 ****
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Now builds. Now need to do unit tests" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
--- 67,71 ----
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Got rid of the verifyXXX() methods" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
***************
*** 107,177 ****
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="330" column="24" selection-start="14824" selection-end="14824" vertical-scroll-proportion="-1.3513514">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/c14/CanonicalizationTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="47" selection-start="4117" selection-end="4117" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/XMLSignerTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="51" column="23" selection-start="2049" selection-end="2049" vertical-scroll-proportion="0.4864865">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="204" column="81" selection-start="10194" selection-end="10194" vertical-scroll-proportion="1.5488565">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/SignedNamedCore.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="383" column="46" selection-start="18240" selection-end="18240" vertical-scroll-proportion="0.6756757">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/Builder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="35" column="10" selection-start="1152" selection-end="1152" vertical-scroll-proportion="-0.04158004">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="220" column="93" selection-start="10630" selection-end="10630" vertical-scroll-proportion="0.3014553">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/test/org/neuclear/id/SignedNamedCoreTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="98" column="22" selection-start="4293" selection-end="4293" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="338" column="0" selection-start="16557" selection-end="16557" vertical-scroll-proportion="0.34511435">
<folding />
</state>
--- 107,177 ----
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="164" column="19" selection-start="7541" selection-end="7541" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="129" column="39" selection-start="6113" selection-end="6113" vertical-scroll-proportion="0.32848233">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="54" selection-start="332" selection-end="332" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="42" selection-start="5543" selection-end="5543" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="58" column="85" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.9072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/NullResolver.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="75" selection-start="331" selection-end="331" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="100" column="19" selection-start="4960" selection-end="4960" vertical-scroll-proportion="-2.2141373">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="127" column="45" selection-start="6220" selection-end="6220" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="335" column="54" selection-start="15012" selection-end="15012" vertical-scroll-proportion="0.48856547">
<folding />
</state>
***************
*** 198,208 ****
--- 198,213 ----
<expanded_node url="file://$PROJECT_DIR$/src/schemas" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/test" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers" module="neuclear-commons" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay" module="neuclear-pay" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset" module="neuclear-pay" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java" module="neuclear-commons" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src" module="neuclear-commons" type="directory" />
<expanded_node url="file://$PROJECT_DIR$" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons" module="neuclear-commons" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id" module="neuclear" type="directory" />
***************
*** 333,344 ****
<component name="ToolWindowManager">
<frame x="4" y="25" width="1392" height="965" extended-state="6" />
! <editor active="false" />
<layout>
<window_info id="CVS" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.27380952" order="0" />
! <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
! <window_info id="Messages" active="true" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="true" weight="0.33026466" order="8" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
--- 338,349 ----
<component name="ToolWindowManager">
<frame x="4" y="25" width="1392" height="965" extended-state="6" />
! <editor active="true" />
<layout>
<window_info id="CVS" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.27380952" order="0" />
! <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.33026466" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
! <window_info id="Messages" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
***************
*** 421,427 ****
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="78" column="47" selection-start="3202" selection-end="3202" vertical-scroll-proportion="1.1653225">
<folding />
</state>
--- 426,432 ----
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="223" column="93" selection-start="10718" selection-end="10718" vertical-scroll-proportion="3.8669438">
<folding />
</state>
***************
*** 430,448 ****
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="161" column="0" selection-start="7364" selection-end="7364" vertical-scroll-proportion="0.47401246">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="115" column="95" selection-start="5882" selection-end="5882" vertical-scroll-proportion="-0.13548388">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="176" column="25" selection-start="8076" selection-end="8076" vertical-scroll-proportion="0.9612903">
<folding />
</state>
--- 435,453 ----
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="212" column="0" selection-start="9080" selection-end="9080" vertical-scroll-proportion="0.53638256">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="57" column="26" selection-start="1974" selection-end="1974" vertical-scroll-proportion="0.38045737">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/XMLTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="319" column="45" selection-start="12399" selection-end="12399" vertical-scroll-proportion="1.3306452">
<folding />
</state>
***************
*** 451,462 ****
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="163" column="12" selection-start="8555" selection-end="8555" vertical-scroll-proportion="0.4064516">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="338" column="0" selection-start="16557" selection-end="16557" vertical-scroll-proportion="0.34511435">
<folding />
</state>
--- 456,467 ----
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="146" column="81" selection-start="7670" selection-end="7670" vertical-scroll-proportion="0.6611227">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="100" column="19" selection-start="4960" selection-end="4960" vertical-scroll-proportion="-2.2141373">
<folding />
</state>
***************
*** 465,525 ****
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="330" column="24" selection-start="14824" selection-end="14824" vertical-scroll-proportion="-1.3513514">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="204" column="81" selection-start="10194" selection-end="10194" vertical-scroll-proportion="1.5488565">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/c14/CanonicalizationTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="47" selection-start="4117" selection-end="4117" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/XMLSignerTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="51" column="23" selection-start="2049" selection-end="2049" vertical-scroll-proportion="0.4864865">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/SignedNamedCore.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="383" column="46" selection-start="18240" selection-end="18240" vertical-scroll-proportion="0.6756757">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/test/org/neuclear/id/SignedNamedCoreTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="98" column="22" selection-start="4293" selection-end="4293" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/Builder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="35" column="10" selection-start="1152" selection-end="1152" vertical-scroll-proportion="-0.04158004">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="220" column="93" selection-start="10630" selection-end="10630" vertical-scroll-proportion="0.3014553">
<folding />
</state>
--- 470,530 ----
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="335" column="54" selection-start="15012" selection-end="15012" vertical-scroll-proportion="0.48856547">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/InvalidSignatureException.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="54" selection-start="332" selection-end="332" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="127" column="45" selection-start="6220" selection-end="6220" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="213" column="11" selection-start="10521" selection-end="10521" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="164" column="19" selection-start="7541" selection-end="7541" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="58" column="85" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.9072581">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/KeyInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="42" selection-start="5543" selection-end="5543" vertical-scroll-proportion="0.5301455">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/NullResolver.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="75" selection-start="331" selection-end="331" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SignatureTests.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="129" column="39" selection-start="6113" selection-end="6113" vertical-scroll-proportion="0.32848233">
<folding />
</state>
|
|
From: <pe...@us...> - 2004-01-14 16:34:10
|
Update of /cvsroot/neuclear/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers
In directory sc8-pr-cvs1:/tmp/cvs-serv7121/src/java/org/neuclear/commons/crypto/keyresolvers
Modified Files:
KeyResolverFactory.java
Added Files:
NullResolver.java
Log Message:
New model of references and signatures now pretty much works.
I am still not 100% sure on the created enveloping signatures. I need to do more testing.
--- NEW FILE: NullResolver.java ---
package org.neuclear.commons.crypto.keyresolvers;
import java.security.PublicKey;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 14, 2004
* Time: 11:17:37 AM
* To change this template use Options | File Templates.
*/
public class NullResolver implements KeyResolver {
public PublicKey resolve(String name) {
return null; //To change body of implemented methods use Options | File Templates.
}
}
Index: KeyResolverFactory.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers/KeyResolverFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** KeyResolverFactory.java 7 Jan 2004 23:11:27 -0000 1.1
--- KeyResolverFactory.java 14 Jan 2004 16:34:07 -0000 1.2
***************
*** 23,26 ****
--- 23,30 ----
$Id$
$Log$
+ Revision 1.2 2004/01/14 16:34:07 pelle
+ New model of references and signatures now pretty much works.
+ I am still not 100% sure on the created enveloping signatures. I need to do more testing.
+
Revision 1.1 2004/01/07 23:11:27 pelle
XMLSig now has various added features:
***************
*** 57,61 ****
}
! public final static String DEFAULT="org.neuclear.commons.crypto.keyresolvers.Sha1Resolver";
private static KeyResolver instance;
}
--- 61,65 ----
}
! public final static String DEFAULT="org.neuclear.commons.crypto.keyresolvers.NullResolver";
private static KeyResolver instance;
}
|
|
From: <pe...@us...> - 2004-01-14 06:42:41
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv29428/src/java/org/neuclear/xml/xmlsec
Modified Files:
QuickEmbeddedSignature.java Reference.java SignatureInfo.java
SignedElement.java XMLSecTools.java XMLSignature.java
Added Files:
InvalidSignatureException.java
Log Message:
Got rid of the verifyXXX() methods
--- NEW FILE: InvalidSignatureException.java ---
package org.neuclear.xml.xmlsec;
import java.security.PublicKey;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 13, 2004
* Time: 8:53:09 PM
* To change this template use Options | File Templates.
*/
public class InvalidSignatureException extends Exception {
public InvalidSignatureException(String a,String b) {
super("Digest: '"+a+"' not equal to: "+b);
}
public InvalidSignatureException(PublicKey pub){
super("Publick Key: "+pub.toString()+ " didnt sign this signature");
}
}
Index: QuickEmbeddedSignature.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** QuickEmbeddedSignature.java 13 Jan 2004 23:37:59 -0000 1.7
--- QuickEmbeddedSignature.java 14 Jan 2004 06:42:38 -0000 1.8
***************
*** 8,11 ****
--- 8,14 ----
* $Id$
* $Log$
+ * Revision 1.8 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.7 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 139,143 ****
*/
public final class QuickEmbeddedSignature extends XMLSignature {
! public QuickEmbeddedSignature(final KeyPair keypair, final Element root) throws XMLSecurityException, CryptoException {
this(keypair.getPrivate(), root);
final Element sig = getElement();
--- 142,146 ----
*/
public final class QuickEmbeddedSignature extends XMLSignature {
! public QuickEmbeddedSignature(final KeyPair keypair, final Element root) throws XMLSecurityException, CryptoException, InvalidSignatureException {
this(keypair.getPrivate(), root);
final Element sig = getElement();
***************
*** 146,150 ****
}
! public QuickEmbeddedSignature(final PrivateKey key, final Element root) throws XMLSecurityException, CryptoException {
super(getSignatureElement(root, key));
final Element sig = getElement();
--- 149,153 ----
}
! public QuickEmbeddedSignature(final PrivateKey key, final Element root) throws XMLSecurityException, CryptoException, InvalidSignatureException {
super(getSignatureElement(root, key));
final Element sig = getElement();
***************
*** 156,160 ****
}
! public QuickEmbeddedSignature(final String name, final Signer signer, final Element root) throws XMLSecurityException, UserCancellationException, NonExistingSignerException {
super(getSignatureElement(root,signer.getKeyType(name)));
final Element sig = getElement();
--- 159,163 ----
}
! public QuickEmbeddedSignature(final String name, final Signer signer, final Element root) throws XMLSecurityException, UserCancellationException, NonExistingSignerException, InvalidSignatureException {
super(getSignatureElement(root,signer.getKeyType(name)));
final Element sig = getElement();
Index: Reference.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Reference.java 13 Jan 2004 23:37:59 -0000 1.5
--- Reference.java 14 Jan 2004 06:42:38 -0000 1.6
***************
*** 1,4 ****
--- 1,7 ----
/* $Id$
* $Log$
+ * Revision 1.6 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.5 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 113,116 ****
--- 116,121 ----
/**
+ * The Reference class implements the W3C XML Signature Spec Reference Object.
+ * The basic contract says that once it has been instantiated the digest value within is valid.
* @author pelleb
* @version $Revision$
***************
*** 118,121 ****
--- 123,127 ----
import org.dom4j.Element;
+ import org.dom4j.Node;
import org.neuclear.commons.Utility;
import org.neuclear.commons.crypto.Base64;
***************
*** 142,166 ****
public Reference(Element root, final int sigtype) throws XMLSecurityException {
super(Reference.TAG_NAME);
! try {
! final Canonicalizer canon;
! Element transformsElement = addElement("Transforms");
! if (sigtype == XMLSIGTYPE_ENVELOPED){
! canon=new CanonicalizerWithoutSignature();
! transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature");
! }else {
! canon= new Canonicalizer();
! }
! transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/TR/2001/REC-xml-c14n-20010315");
! type=sigtype;
! final String id = root.attributeValue("id");
! if (!Utility.isEmpty(id))
! createAttribute("URI","#"+id);
! digest=createDigest(canon, root);
! addDigest();
! } catch (IOException e) {
! throw new XMLSecurityException(e);
! }
}
--- 148,168 ----
public Reference(Element root, final int sigtype) throws XMLSecurityException {
super(Reference.TAG_NAME);
! final Canonicalizer canon;
! Element transformsElement = addElement("Transforms");
! if (sigtype == XMLSIGTYPE_ENVELOPED){
! canon=new CanonicalizerWithoutSignature();
! transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#enveloped-signature");
! }else {
! canon= new Canonicalizer();
! }
! transformsElement.addElement(XMLSecTools.createQName("Transform")).addAttribute("Algorithm","http://www.w3.org/TR/2001/REC-xml-c14n-20010315");
! type=sigtype;
! final String id = root.attributeValue("id");
! if (!Utility.isEmpty(id))
! createAttribute("URI","#"+id);
! digest=createDigest(canon, root);
! addDigest();
}
***************
*** 170,174 ****
}
! private static String createDigest(final Canonicalizer canon, Object root) throws IOException {
return new String(Base64.encode(CryptoTools.digest(canon.canonicalize(root))));
}
--- 172,176 ----
}
! private static String createDigest(final Canonicalizer canon, Object root) throws XMLSecurityException {
return new String(Base64.encode(CryptoTools.digest(canon.canonicalize(root))));
}
***************
*** 177,187 ****
super(Reference.TAG_NAME);
type=XMLSIGTYPE_DETACHED;
! try {
! createAttribute("URI",uri);
! digest=createDigest(new Canonicalizer(),loadReference(uri));
! addDigest();
! } catch (IOException e) {
! throw new XMLSecurityException(e);
! }
}
/**
--- 179,185 ----
super(Reference.TAG_NAME);
type=XMLSIGTYPE_DETACHED;
! createAttribute("URI",uri);
! digest=createDigest(new Canonicalizer(),loadReference(uri));
! addDigest();
}
/**
***************
*** 190,214 ****
* @throws XMLSecurityException
*/
! public Reference(final Element elem) throws XMLSecurityException {
super(elem);
- type=0;
if (!elem.getQName().getName().equals(TAG_NAME))
throw new XMLSecurityException("Element: " + elem.getQualifiedName() + " is not a valid: " + XMLSecTools.NS_DS.getPrefix() + ":" + TAG_NAME);
! digest=new String(XMLSecTools.decodeBase64Element(getElement().element(XMLSecTools.createQName("DigestValue"))));
! // findRefElement(elem);
}
! private static Object findRefElement(Element elem) throws XMLSecurityException {
if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().getParent() != null) { // Enveloped
! return elem.getDocument();
} else if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().element("Object") != null) { // Enveloped
! final List contents = elem.getParent().getParent().element("Object").content();
! if (contents.size() == 1)
! return contents.get(0);
! else
! return contents;
} else {// Detached
! return loadReference(elem.attributeValue("URI"));
}
}
--- 188,243 ----
* @throws XMLSecurityException
*/
! public Reference(final Element elem) throws XMLSecurityException, InvalidSignatureException {
super(elem);
if (!elem.getQName().getName().equals(TAG_NAME))
throw new XMLSecurityException("Element: " + elem.getQualifiedName() + " is not a valid: " + XMLSecTools.NS_DS.getPrefix() + ":" + TAG_NAME);
! type=findSignatureType(elem);
!
! digest=new String(XMLSecTools.decodeBase64Element(getElement().element(XMLSecTools.createQName("DigestValue"))));
!
! final Object object=findRefElement(type,elem);
! final Canonicalizer canon;
! if (type==XMLSIGTYPE_ENVELOPED)
! canon=new CanonicalizerWithoutSignature();
! else
! canon=new Canonicalizer();
!
! final String dig2 = createDigest(canon, object);
! if (!digest.equals(dig2))
! throw new InvalidSignatureException(digest,dig2);
}
! private static int findSignatureType(Element elem) throws XMLSecurityException {
if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().getParent() != null) { // Enveloped
! return XMLSIGTYPE_ENVELOPED;
} else if (elem.getParent() != null&&elem.getParent().getParent() != null&&elem.getParent().getParent().element("Object") != null) { // Enveloped
! return XMLSIGTYPE_ENVELOPING;
} else {// Detached
! return XMLSIGTYPE_DETACHED;
! }
! }
!
! private static Object findRefElement(int type,Element elem) throws XMLSecurityException {
! final String id=elem.attributeValue("URI");
! if (!Utility.isEmpty(id)){
! if (id.startsWith("#")&&id.length()>2){
! Node node= elem.getDocument().elementByID(id.substring(1));
! if (node!=null)
! return node;
! }
}
+ switch (type){
+ case XMLSIGTYPE_ENVELOPED:
+ return elem.getDocument();
+ case XMLSIGTYPE_ENVELOPING:
+ final List contents = elem.getParent().getParent().element("Object").content();
+ if (contents.size() == 1)
+ return contents.get(0);
+ else
+ return contents;
+ case XMLSIGTYPE_DETACHED:
+ return loadReference(id);
+ }
+ throw new XMLSecurityException("Confused Stated. Dont know what Signature Type we have");
}
Index: SignatureInfo.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** SignatureInfo.java 13 Jan 2004 23:37:59 -0000 1.5
--- SignatureInfo.java 14 Jan 2004 06:42:38 -0000 1.6
***************
*** 1,4 ****
--- 1,7 ----
/* $Id$
* $Log$
+ * Revision 1.6 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.5 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 97,103 ****
public final class SignatureInfo extends AbstractXMLSigElement {
! public SignatureInfo(final XMLSignature sig, final Element root, final String uri, final int sigalg, final int sigtype) throws XMLSecurityException {
super(SignatureInfo.TAG_NAME);
- this.sig = sig;
this.algType = sigalg;
--- 100,105 ----
public final class SignatureInfo extends AbstractXMLSigElement {
! public SignatureInfo(final Element root, final int sigalg, final int sigtype) throws XMLSecurityException {
super(SignatureInfo.TAG_NAME);
this.algType = sigalg;
***************
*** 121,125 ****
}
! public SignatureInfo(final XMLSignature sig, final Element elem) throws XMLSecurityException {
super(elem);
if (!elem.getQName().equals(XMLSecTools.createQName(TAG_NAME)))
--- 123,127 ----
}
! public SignatureInfo( final Element elem) throws XMLSecurityException, InvalidSignatureException {
super(elem);
if (!elem.getQName().equals(XMLSecTools.createQName(TAG_NAME)))
Index: SignedElement.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** SignedElement.java 13 Jan 2004 23:37:59 -0000 1.9
--- SignedElement.java 14 Jan 2004 06:42:38 -0000 1.10
***************
*** 1,4 ****
--- 1,7 ----
/* $Id$
* $Log$
+ * Revision 1.10 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.9 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 169,172 ****
--- 172,177 ----
} catch (XMLException e) {
throw new XMLSecurityException(e);
+ } catch (InvalidSignatureException e) {
+ throw new XMLSecurityException(e) ;
}
***************
*** 215,248 ****
return sig;
}
!
! /**
! * This verifies the signature of the object.
! */
! public final boolean verifySignature(final PublicKey pub) throws XMLSecurityException {
! if (sig == null)
! throw new XMLSecurityException("The object can not be verified as it doesnt contain a signature");
! return sig.verifySignature(pub);
! }
! /**
! * This verifies the signature of the object.
! */
! public final boolean verifySignature() throws XMLSecurityException {
! if (sig == null)
! throw new XMLSecurityException("The object can not be verified as it doesnt contain a signature");
! return sig.verifySignature();
! }
!
! /**
! * Sign object using given PrivateKey. This also adds a timestamp to the root element prior to signing
! */
! public final void sign(final PrivateKey priv) throws XMLSecurityException, CryptoException {
! preSign();
! sig = XMLSecTools.signElement(getElement(), priv);
! postSign();
}
-
public final void sign(final String name, final Signer signer) throws XMLSecurityException, NonExistingSignerException, UserCancellationException {
preSign();
! sig = XMLSecTools.signElement( getElement(), name, signer);
postSign();
}
--- 220,234 ----
return sig;
}
! public boolean verify() throws XMLSecurityException {
! try {
! sig=new XMLSignature(getElement().element(XMLSecTools.createQName("Signature")));
! return true;
! } catch (InvalidSignatureException e) {
! return false;
! }
}
public final void sign(final String name, final Signer signer) throws XMLSecurityException, NonExistingSignerException, UserCancellationException {
preSign();
! sig = new XMLSignature(name,signer, getElement(),Reference.XMLSIGTYPE_ENVELOPED);
postSign();
}
Index: XMLSecTools.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** XMLSecTools.java 13 Jan 2004 23:37:59 -0000 1.6
--- XMLSecTools.java 14 Jan 2004 06:42:38 -0000 1.7
***************
*** 1,4 ****
--- 1,7 ----
/* $Id$
* $Log$
+ * Revision 1.7 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.6 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 191,209 ****
*/
public static XMLSignature signElement(final Element root, final KeyPair keypair) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new QuickEmbeddedSignature(keypair, root);
return sig;
}
- /**
- * Signs an element with a given Private Key and "Envelopes" the signature within.
- *
- * @param root Element to be signed
- * @param key RSA Private Key
- * @throws XMLSecurityException
- */
- public static XMLSignature signElement( final Element root, final PrivateKey key) throws XMLSecurityException, CryptoException {//, KeyStoreException {
- final XMLSignature sig = new QuickEmbeddedSignature(key, root);
- return sig;
- }
/**
--- 194,201 ----
*/
public static XMLSignature signElement(final Element root, final KeyPair keypair) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new XMLSignature(keypair, root);
return sig;
}
/**
***************
*** 216,221 ****
*/
public static XMLSignature signElement( final Element root, final String name, final org.neuclear.commons.crypto.signers.Signer signer) throws XMLSecurityException, NonExistingSignerException, UserCancellationException {//, KeyStoreException {
! final XMLSignature sig = new QuickEmbeddedSignature(name, signer, root);
! return sig;
}
--- 208,212 ----
*/
public static XMLSignature signElement( final Element root, final String name, final org.neuclear.commons.crypto.signers.Signer signer) throws XMLSecurityException, NonExistingSignerException, UserCancellationException {//, KeyStoreException {
! return new XMLSignature(name, signer, root,Reference.XMLSIGTYPE_ENVELOPED);
}
***************
*** 223,233 ****
* Signs an element with a given keypair and embeds the element within the Signature.
*
- * @param baseURI Unique ID of the Element to be signed
* @param root Element to be signed
* @param keypair RSA/DSA KeyPair
! * @throws XMLSecurityException
*/
! public static XMLSignature signElementEnveloping(final String baseURI, final Element root, final KeyPair keypair) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new XMLSignature(keypair, root, baseURI, Reference.XMLSIGTYPE_ENVELOPING);
return sig;
}
--- 214,223 ----
* Signs an element with a given keypair and embeds the element within the Signature.
*
* @param root Element to be signed
* @param keypair RSA/DSA KeyPair
! * @throws XMLSecurityException
*/
! public static XMLSignature signElementEnveloping(final Element root, final KeyPair keypair) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new XMLSignature(keypair, root, Reference.XMLSIGTYPE_ENVELOPING);
return sig;
}
***************
*** 242,246 ****
*/
public static XMLSignature signElementEnveloping(final String baseURI, final Element root, final PrivateKey key) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new XMLSignature(key, null, root, baseURI, Reference.XMLSIGTYPE_ENVELOPING);
return sig;
}
--- 232,236 ----
*/
public static XMLSignature signElementEnveloping(final String baseURI, final Element root, final PrivateKey key) throws XMLSecurityException, CryptoException {//, KeyStoreException {
! final XMLSignature sig = new XMLSignature(key, null, root, Reference.XMLSIGTYPE_ENVELOPING);
return sig;
}
***************
*** 298,302 ****
* @throws XMLSecurityException
*/
! public static XMLSignature getXMLSignature(final Element elem) throws XMLSecurityException {
final QName qname = XMLSecTools.createQName("Signature");
Element xmlSigElement = elem.element(qname);
--- 288,292 ----
* @throws XMLSecurityException
*/
! public static XMLSignature getXMLSignature(final Element elem) throws XMLSecurityException, InvalidSignatureException {
final QName qname = XMLSecTools.createQName("Signature");
Element xmlSigElement = elem.element(qname);
***************
*** 323,341 ****
*/
public static boolean verifySignature(final Element elem, final PublicKey pub) throws XMLSecurityException {
! final XMLSignature sig = getXMLSignature(elem);
! return sig.verifySignature(pub);
! }
!
! /**
! * Verifies the signature of a given element
! *
! * @param elem Element to verify
! * @param pubs Array of Public Key to verify against
! * @return true if it verifies
! * @throws XMLSecurityException
! */
! public static boolean verifySignature(final Element elem, final PublicKey[] pubs) throws XMLSecurityException {
! final XMLSignature sig = getXMLSignature(elem);
! return sig.verifySignature(pubs);
}
--- 313,322 ----
*/
public static boolean verifySignature(final Element elem, final PublicKey pub) throws XMLSecurityException {
! try {
! final XMLSignature sig = getXMLSignature(elem);
! return true;
! } catch (InvalidSignatureException e) {
! return false;
! }
}
***************
*** 349,354 ****
*/
public static boolean verifySignature(final Element elem) throws XMLSecurityException, CryptoException {
! final XMLSignature sig = getXMLSignature(elem);
! return sig.verifySignature();
}
--- 330,339 ----
*/
public static boolean verifySignature(final Element elem) throws XMLSecurityException, CryptoException {
! try {
! final XMLSignature sig = getXMLSignature(elem);
! return true;
! } catch (InvalidSignatureException e) {
! return false;
! }
}
***************
*** 377,381 ****
* @return byte array of signature
*/
! public static byte[] canonicalize(final Object node) {
return canonicalize(new Canonicalizer(), node);
}
--- 362,366 ----
* @return byte array of signature
*/
! public static byte[] canonicalize(final Object node) throws XMLSecurityException {
return canonicalize(new Canonicalizer(), node);
}
***************
*** 387,391 ****
* @return
*/
! public static byte[] canonicalizeEmbeddedSignature(final Object node) {
return canonicalize(new CanonicalizerWithoutSignature(), node);
}
--- 372,376 ----
* @return
*/
! public static byte[] canonicalizeEmbeddedSignature(final Object node) throws XMLSecurityException {
return canonicalize(new CanonicalizerWithoutSignature(), node);
}
***************
*** 398,409 ****
* @return
*/
! public static byte[] canonicalize(final Canonicalizer canon, final Object node) {
! try {
!
! return canon.canonicalize(node);
! } catch (IOException e) {
! throw new RuntimeException("Weird IOException while generating textual representation: " + e.getMessage());
! }
!
}
--- 383,388 ----
* @return
*/
! public static byte[] canonicalize(final Canonicalizer canon, final Object node) throws XMLSecurityException {
! return canon.canonicalize(node);
}
Index: XMLSignature.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** XMLSignature.java 13 Jan 2004 23:37:59 -0000 1.9
--- XMLSignature.java 14 Jan 2004 06:42:38 -0000 1.10
***************
*** 1,4 ****
--- 1,7 ----
/* $Id$
* $Log$
+ * Revision 1.10 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.9 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 174,177 ****
--- 177,184 ----
import org.neuclear.commons.crypto.CryptoException;
import org.neuclear.commons.crypto.CryptoTools;
+ import org.neuclear.commons.crypto.passphraseagents.UserCancellationException;
+ import org.neuclear.commons.crypto.signers.Signer;
+ import org.neuclear.commons.crypto.signers.PublicKeySource;
+ import org.neuclear.commons.crypto.signers.NonExistingSignerException;
import org.neuclear.xml.XMLException;
***************
*** 191,199 ****
* @param keypair
* @param root
! * @param uri
! * @throws XMLSecurityException
*/
! public XMLSignature(final KeyPair keypair, final Element root, final String uri) throws XMLSecurityException, CryptoException {
! this(keypair.getPrivate(), keypair.getPublic(), root, uri);
}
--- 198,205 ----
* @param keypair
* @param root
! * @throws XMLSecurityException
*/
! public XMLSignature(final KeyPair keypair, final Element root) throws XMLSecurityException, CryptoException {
! this(keypair.getPrivate(), keypair.getPublic(), root);
}
***************
*** 203,220 ****
* @param keypair
* @param root
- * @param uri
* @param type Reference.XMLSIGTYPE_ENVELOPED,Reference.XMLSIGTYPE_ENVELOPING or Reference.XMLSIGTYPE_DETACHED
* @throws XMLSecurityException
*/
! public XMLSignature(final KeyPair keypair, final Element root, final String uri, final int type) throws XMLSecurityException, CryptoException {
! this(keypair.getPrivate(), keypair.getPublic(), root, uri, type);
}
! public XMLSignature(final PrivateKey key, final PublicKey pub, final Element root, final String uri) throws XMLSecurityException, CryptoException {
! this(key, pub, root, uri, Reference.XMLSIGTYPE_ENVELOPED);
}
! public XMLSignature(final PrivateKey key, final PublicKey pub, Element root, final String uri, final int type) throws XMLSecurityException, CryptoException {
super(XMLSignature.TAG_NAME);
try {
--- 209,225 ----
* @param keypair
* @param root
* @param type Reference.XMLSIGTYPE_ENVELOPED,Reference.XMLSIGTYPE_ENVELOPING or Reference.XMLSIGTYPE_DETACHED
* @throws XMLSecurityException
*/
! public XMLSignature(final KeyPair keypair, final Element root, final int type) throws XMLSecurityException, CryptoException {
! this(keypair.getPrivate(), keypair.getPublic(), root, type);
}
! public XMLSignature(final PrivateKey key, final PublicKey pub, final Element root) throws XMLSecurityException, CryptoException {
! this(key, pub, root, Reference.XMLSIGTYPE_ENVELOPED);
}
! public XMLSignature(final PrivateKey key, final PublicKey pub, Element root, final int type) throws XMLSecurityException, CryptoException {
super(XMLSignature.TAG_NAME);
try {
***************
*** 231,235 ****
}
final int alg = (key instanceof RSAPrivateKey) ? SignatureInfo.SIG_ALG_RSA : SignatureInfo.SIG_ALG_DSA;
! si = new SignatureInfo(this, root, uri, alg, type);
addElement(si);
addElement(XMLSecTools.base64ToElement("SignatureValue", CryptoTools.sign(key, si.canonicalize())));
--- 236,240 ----
}
final int alg = (key instanceof RSAPrivateKey) ? SignatureInfo.SIG_ALG_RSA : SignatureInfo.SIG_ALG_DSA;
! si = new SignatureInfo( root, alg, type);
addElement(si);
addElement(XMLSecTools.base64ToElement("SignatureValue", CryptoTools.sign(key, si.canonicalize())));
***************
*** 240,251 ****
}
}
! public XMLSignature(final Element elem) throws XMLSecurityException {
super(elem);
final Element siElem = elem.element(XMLSecTools.createQName("SignedInfo"));
if (!elem.getQName().equals(XMLSecTools.createQName(TAG_NAME)) || siElem == null) // Not sure if equals is imeplemented properly for QNames
throw new XMLSecurityException("Element: " + elem.getQualifiedName() + " is not a valid: " + XMLSecTools.NS_DS.getPrefix() + ":" + TAG_NAME);
! si = new SignatureInfo(this, siElem);
}
--- 245,310 ----
}
}
+ public XMLSignature(final String name, final Signer signer, final Element root,final int type) throws XMLSecurityException, NonExistingSignerException, UserCancellationException {
+ super(XMLSignature.TAG_NAME);
+ if (! (signer instanceof PublicKeySource))
+ throw new XMLSecurityException("We Require a PublicKeySource");
+ PublicKeySource src=(PublicKeySource)signer;
+ try {
+ if (type == Reference.XMLSIGTYPE_ENVELOPED) {
+ root.add(getElement());
+ } else if (type == Reference.XMLSIGTYPE_ENVELOPING) {
+ final Element objElem = XMLSecTools.createElementInSignatureSpace("Object");
+ getElement().add(objElem);
+ DocumentHelper.createDocument(getElement());//As Signature Element is parent we will now add a doc
+ objElem.add(root);
+ } else {
+ // Detached Handle this in the Ference Constructor
+ }
+ final PublicKey pub = src.getPublicKey(name);
+ final KeyInfo key = new KeyInfo(pub,name);
+ addElement(key);
+ final int alg = (pub instanceof RSAPrivateKey) ? SignatureInfo.SIG_ALG_RSA : SignatureInfo.SIG_ALG_DSA;
+ si = new SignatureInfo( root, alg, type);
+ addElement(si);
+ addElement(XMLSecTools.base64ToElement("SignatureValue", signer.sign(name, si.canonicalize())));
+ } catch (XMLException e) {
+ throw new XMLSecurityException(e);
+ }
+ }
! public XMLSignature(final Element elem) throws XMLSecurityException, InvalidSignatureException {
super(elem);
final Element siElem = elem.element(XMLSecTools.createQName("SignedInfo"));
if (!elem.getQName().equals(XMLSecTools.createQName(TAG_NAME)) || siElem == null) // Not sure if equals is imeplemented properly for QNames
throw new XMLSecurityException("Element: " + elem.getQualifiedName() + " is not a valid: " + XMLSecTools.NS_DS.getPrefix() + ":" + TAG_NAME);
! si = new SignatureInfo(siElem);
! KeyInfo key=getKeyInfo();
! if (key == null)
! throw new XMLSecurityException("No included PublicKey, can not verify.");
+ final byte[] sig = getSignature();
+ final byte[] cansi = si.canonicalize();
+ try {
+ if (!CryptoTools.verify(key.getPublicKey(), cansi, sig))
+ throw new InvalidSignatureException(key.getPublicKey());
+ } catch (CryptoException e) {
+ throw new XMLSecurityException(e);
+ }
+ }
+
+ public XMLSignature(final Element elem,PublicKey pub) throws XMLSecurityException, InvalidSignatureException {
+ super(elem);
+ final Element siElem = elem.element(XMLSecTools.createQName("SignedInfo"));
+ if (!elem.getQName().equals(XMLSecTools.createQName(TAG_NAME)) || siElem == null) // Not sure if equals is imeplemented properly for QNames
+ throw new XMLSecurityException("Element: " + elem.getQualifiedName() + " is not a valid: " + XMLSecTools.NS_DS.getPrefix() + ":" + TAG_NAME);
+ si = new SignatureInfo(siElem);
+ final byte[] sig = getSignature();
+ final byte[] cansi = si.canonicalize();
+ try {
+ if (!CryptoTools.verify(pub, cansi, sig))
+ throw new InvalidSignatureException(pub);
+ } catch (CryptoException e) {
+ throw new XMLSecurityException(e);
+ }
}
***************
*** 256,271 ****
* @throws XMLSecurityException
*/
! public final byte[] getSignature() throws XMLSecurityException, CryptoException {
final Element sigVal = getElement().element("SignatureValue");
return XMLSecTools.decodeBase64Element(sigVal);
}
- public final boolean verifySignature() throws XMLSecurityException {
- final PublicKey pk = getSignersKey();
- if (pk==null)
- throw new XMLSecurityException("Signature does not contain an embedded PublicKey");
- return verifySignature(pk);
- }
-
public final PublicKey getSignersKey() throws XMLSecurityException {
KeyInfo key=getKeyInfo();
--- 315,323 ----
* @throws XMLSecurityException
*/
! private final byte[] getSignature() throws XMLSecurityException {
final Element sigVal = getElement().element("SignatureValue");
return XMLSecTools.decodeBase64Element(sigVal);
}
public final PublicKey getSignersKey() throws XMLSecurityException {
KeyInfo key=getKeyInfo();
***************
*** 289,327 ****
}
-
- public final boolean verifySignature(final PublicKey pk) throws XMLSecurityException {
-
- try {
- // if (!si.getReference().verifyReferences())
- // return false;
- final byte[] sig = getSignature();
- final byte[] cansi = si.canonicalize();
- return CryptoTools.verify(pk, cansi, sig);
- } catch (CryptoException e) {
- throw new XMLSecurityException(e);
- }
- }
-
- public final boolean verifySignature(final PublicKey[] pks) throws XMLSecurityException {
-
- try {
- // if (!si.getReference().verifyReferences()) {
- //// System.err.println("XMLSIG: References didnt match up");
- // return false;
- // }
- final byte[] sig = getSignature();
- final byte[] cansi = si.canonicalize();
- for (int i = 0; i < pks.length; i++)
- if (CryptoTools.verify(pks[i], cansi, sig))
- return true;
- // System.err.println("XMLSIG: Signature didnt Verify");
- return false;
- } catch (CryptoException e) {
- throw new XMLSecurityException(e);
- }
- }
-
-
-
protected final SignatureInfo getSi() {
return si;
--- 341,344 ----
|
|
From: <pe...@us...> - 2004-01-14 06:42:41
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec
In directory sc8-pr-cvs1:/tmp/cvs-serv29428/src/test/org/neuclear/xml/xmlsec
Modified Files:
RefTest.java SimpleXMLSigTest.java XMLSignerTest.java
Log Message:
Got rid of the verifyXXX() methods
Index: RefTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefTest.java 13 Jan 2004 23:37:59 -0000 1.1
--- RefTest.java 14 Jan 2004 06:42:38 -0000 1.2
***************
*** 31,34 ****
--- 31,37 ----
$Id$
$Log$
+ Revision 1.2 2004/01/14 06:42:38 pelle
+ Got rid of the verifyXXX() methods
+
Revision 1.1 2004/01/13 23:37:59 pelle
Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 63,66 ****
--- 66,86 ----
assertEquals("#one",ref.getUri());
System.out.println(ref.asXML());
+
+ }
+ public void testEnvelopingReference() throws DocumentException, XMLException, CryptoException, InvalidSignatureException {
+ Document doc=DocumentHelper.parseText("<Signature><SignedInfo/><Object id=\"one\"><test>hello</test></Object>");
+ Reference ref=new Reference(doc.getRootElement().element("Object"),Reference.XMLSIGTYPE_ENVELOPED);
+ doc.getRootElement().element("SignedInfo").add(ref.getElement());
+ assertNotNull(ref);
+ assertNotNull(ref.getDigest());
+ assertEquals("#one",ref.getUri());
+ System.out.println(doc.asXML());
+
+ Document doc2=DocumentHelper.parseText(doc.asXML());
+ Reference ref2=new Reference(doc2.getRootElement().element("SignedInfo").element("Reference"));
+ assertEquals(ref.getDigest(),ref2.getDigest());
+ assertEquals(ref.getUri(),ref2.getUri());
+
+
}
Index: SimpleXMLSigTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SimpleXMLSigTest.java 13 Jan 2004 23:37:59 -0000 1.6
--- SimpleXMLSigTest.java 14 Jan 2004 06:42:38 -0000 1.7
***************
*** 22,25 ****
--- 22,28 ----
* $Id$
* $Log$
+ * Revision 1.7 2004/01/14 06:42:38 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.6 2004/01/13 23:37:59 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 113,117 ****
public final void testRSASignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(signer, doc.getRootElement(), "http://testsigs");
final File outputFile = new File("target/testdata/homegrown/signature-enveloped-rsa.xml");
XMLTools.writeFile(outputFile, doc);
--- 116,120 ----
public final void testRSASignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(signer, doc.getRootElement());
final File outputFile = new File("target/testdata/homegrown/signature-enveloped-rsa.xml");
XMLTools.writeFile(outputFile, doc);
***************
*** 123,127 ****
public final void testRSAEnvelopingSignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(signer, doc.getRootElement(), "http://testsigs", Reference.XMLSIGTYPE_ENVELOPING);
final File outputFile = new File("target/testdata/homegrown/signature-enveloping-rsa.xml");
XMLTools.writeFile(outputFile, sig.getElement());
--- 126,130 ----
public final void testRSAEnvelopingSignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(signer, doc.getRootElement(), Reference.XMLSIGTYPE_ENVELOPING);
final File outputFile = new File("target/testdata/homegrown/signature-enveloping-rsa.xml");
XMLTools.writeFile(outputFile, sig.getElement());
***************
*** 133,137 ****
public final void testDSAEnvelopingSignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(dsaSigner, doc.getRootElement(), "http://testsigs", Reference.XMLSIGTYPE_ENVELOPING);
final File outputFile = new File("target/testdata/homegrown/signature-enveloping-dsa.xml");
XMLTools.writeFile(outputFile, sig.getElement());
--- 136,140 ----
public final void testDSAEnvelopingSignXML() throws DocumentException, XMLException, CryptoException {
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(dsaSigner, doc.getRootElement(), Reference.XMLSIGTYPE_ENVELOPING);
final File outputFile = new File("target/testdata/homegrown/signature-enveloping-dsa.xml");
XMLTools.writeFile(outputFile, sig.getElement());
***************
*** 145,149 ****
assertTrue("Test if public key is really DSA", dsaSigner.getPublic() instanceof DSAPublicKey);
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(dsaSigner, doc.getRootElement(), "http://testDSAsigs");
final File outputFile = new File("target/testdata/homegrown/signature-enveloped-dsa.xml");
--- 148,152 ----
assertTrue("Test if public key is really DSA", dsaSigner.getPublic() instanceof DSAPublicKey);
Document doc = DocumentHelper.parseText(TESTXML);
! final XMLSignature sig = new XMLSignature(dsaSigner, doc.getRootElement());
final File outputFile = new File("target/testdata/homegrown/signature-enveloped-dsa.xml");
Index: XMLSignerTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/XMLSignerTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** XMLSignerTest.java 13 Jan 2004 23:37:59 -0000 1.1
--- XMLSignerTest.java 14 Jan 2004 06:42:38 -0000 1.2
***************
*** 30,33 ****
--- 30,36 ----
$Id$
$Log$
+ Revision 1.2 2004/01/14 06:42:38 pelle
+ Got rid of the verifyXXX() methods
+
Revision 1.1 2004/01/13 23:37:59 pelle
Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 49,54 ****
Document doc=DocumentHelper.parseText("<hello>test</hello>");
! XMLSignature sig=new QuickEmbeddedSignature("neu://bob@test",signer,doc.getRootElement());
! assertTrue(sig.verifySignature());
}
--- 52,57 ----
Document doc=DocumentHelper.parseText("<hello>test</hello>");
! XMLSignature sig=new XMLSignature("neu://bob@test",signer,doc.getRootElement(),Reference.XMLSIGTYPE_ENVELOPED);
! assertTrue(true);
}
|
|
From: <pe...@us...> - 2004-01-14 06:42:41
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/c14 In directory sc8-pr-cvs1:/tmp/cvs-serv29428/src/test/org/neuclear/xml/c14 Modified Files: CanonicalizationTest.java Log Message: Got rid of the verifyXXX() methods Index: CanonicalizationTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/test/org/neuclear/xml/c14/CanonicalizationTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CanonicalizationTest.java 21 Nov 2003 04:44:31 -0000 1.3 --- CanonicalizationTest.java 14 Jan 2004 06:42:38 -0000 1.4 *************** *** 7,10 **** --- 7,13 ---- * $Id$ * $Log$ + * Revision 1.4 2004/01/14 06:42:38 pelle + * Got rid of the verifyXXX() methods + * * Revision 1.3 2003/11/21 04:44:31 pelle * EncryptedFileStore now works. It uses the PBECipher with DES3 afair. *************** *** 64,67 **** --- 67,71 ---- import org.dom4j.io.SAXReader; import org.neuclear.xml.xmlsec.XMLSecTools; + import org.neuclear.xml.xmlsec.XMLSecurityException; import java.io.*; *************** *** 85,93 **** } */ ! public final void testMerlin() throws IOException, DocumentException { runDirectoryTest("src/testdata/merlin-xmldsig-eight"); } ! public final void runDirectoryTest(final String path) throws DocumentException, IOException, FileNotFoundException { final File dir=new File(path).getAbsoluteFile(); if (!dir.exists()) { --- 89,97 ---- } */ ! public final void testMerlin() throws IOException, DocumentException, XMLSecurityException { runDirectoryTest("src/testdata/merlin-xmldsig-eight"); } ! public final void runDirectoryTest(final String path) throws DocumentException, IOException, FileNotFoundException, XMLSecurityException { final File dir=new File(path).getAbsoluteFile(); if (!dir.exists()) { |
|
From: <pe...@us...> - 2004-01-14 06:42:40
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/c14 In directory sc8-pr-cvs1:/tmp/cvs-serv29428/src/java/org/neuclear/xml/c14 Modified Files: Canonicalizer.java Log Message: Got rid of the verifyXXX() methods Index: Canonicalizer.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Canonicalizer.java 10 Dec 2003 23:57:04 -0000 1.4 --- Canonicalizer.java 14 Jan 2004 06:42:37 -0000 1.5 *************** *** 8,11 **** --- 8,14 ---- * $Id$ * $Log$ + * Revision 1.5 2004/01/14 06:42:37 pelle + * Got rid of the verifyXXX() methods + * * Revision 1.4 2003/12/10 23:57:04 pelle * Did some cleaning up in the builders *************** *** 112,117 **** --- 115,122 ---- import org.neuclear.xml.ElementProxy; import org.neuclear.xml.XMLTools; + import org.neuclear.xml.xmlsec.XMLSecurityException; import org.neuclear.xml.transforms.TransformerFactory; import org.neuclear.xml.transforms.XPathTransform; + import org.neuclear.commons.LowLevelException; import java.io.*; *************** *** 158,167 **** * * @param node - * @throws IOException */ ! public final byte[] canonicalize(final Object node) throws IOException { ! init(); ! write(node); ! return getBytes(); } --- 163,175 ---- * * @param node */ ! public final byte[] canonicalize(final Object node) throws XMLSecurityException { ! try { ! init(); ! write(node); ! return getBytes(); ! } catch (IOException e) { ! throw new XMLSecurityException(e); ! } } |
|
From: <pe...@us...> - 2004-01-14 06:42:21
|
Update of /cvsroot/neuclear/neuclear-id
In directory sc8-pr-cvs1:/tmp/cvs-serv29374
Modified Files:
neuclear.iws
Log Message:
Got rid of the verifyXXX() methods
Index: neuclear.iws
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/neuclear.iws,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** neuclear.iws 13 Jan 2004 15:11:36 -0000 1.3
--- neuclear.iws 14 Jan 2004 06:42:15 -0000 1.4
***************
*** 67,71 ****
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Completed all the builders and contracts. Added a new abstract Value class to contain either an amount or a list of serial numbers. Now ready to finish off the AssetControllers." />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
--- 67,71 ----
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Now builds. Now need to do unit tests" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
***************
*** 81,99 ****
</component>
<component name="DebuggerManager">
! <line_breakpoints>
! <breakpoint url="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" line="279">
! <option name="ENABLED" value="true" />
! <option name="SUSPEND_VM" value="true" />
! <option name="LOG_ENABLED" value="false" />
! <option name="LOG_EXPRESSION_ENABLED" value="false" />
! <option name="LOG_MESSAGE" value="" />
! <option name="COUNT_FILTER_ENABLED" value="false" />
! <option name="COUNT_FILTER" value="0" />
! <option name="CONDITION_ENABLED" value="false" />
! <option name="CONDITION" value="" />
! <option name="CLASS_FILTERS_ENABLED" value="false" />
! <option name="INSTANCE_FILTERS_ENABLED" value="false" />
! </breakpoint>
! </line_breakpoints>
<exception_breakpoints>
<breakpoint_any>
--- 81,85 ----
</component>
<component name="DebuggerManager">
! <line_breakpoints />
<exception_breakpoints>
<breakpoint_any>
***************
*** 122,142 ****
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
<first-group selected-file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
! <entry file="file://$PROJECT_DIR$-sample/src/java/org/neuclear/id/sample/MessageSenderReceiver.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="47" column="75" selection-start="1919" selection-end="1919" vertical-scroll-proportion="0.71370965">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/statements/SimpleStatementFactory.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="46" column="32" selection-start="1648" selection-end="1648" vertical-scroll-proportion="0.4717742">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="0" selection-start="258" selection-end="258" vertical-scroll-proportion="0.36290324">
<folding />
</state>
--- 108,128 ----
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
<first-group selected-file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="330" column="24" selection-start="14824" selection-end="14824" vertical-scroll-proportion="-1.3513514">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/c14/CanonicalizationTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="47" selection-start="4117" selection-end="4117" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/XMLSignerTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="51" column="23" selection-start="2049" selection-end="2049" vertical-scroll-proportion="0.4864865">
<folding />
</state>
***************
*** 145,191 ****
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="191" column="74" selection-start="9845" selection-end="9845" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="325" column="28" selection-start="14964" selection-end="14964" vertical-scroll-proportion="1.3471934">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="279" column="0" selection-start="13454" selection-end="13454" vertical-scroll-proportion="0.5675676">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/test/org/neuclear/commons/sql/entities/TableDefinitionTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="139" column="18" selection-start="5745" selection-end="5745" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/entities/EntityModel.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="68" column="35" selection-start="2666" selection-end="2666" vertical-scroll-proportion="0.5302419">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/SQLContext.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="68" column="7" selection-start="2594" selection-end="2594" vertical-scroll-proportion="0.98991936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/ConnectionSource.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="17" selection-start="208" selection-end="208" vertical-scroll-proportion="0.30241936">
<folding />
</state>
--- 131,177 ----
<entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="204" column="81" selection-start="10194" selection-end="10194" vertical-scroll-proportion="1.5488565">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/SignedNamedCore.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="383" column="46" selection-start="18240" selection-end="18240" vertical-scroll-proportion="0.6756757">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/Builder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="35" column="10" selection-start="1152" selection-end="1152" vertical-scroll-proportion="-0.04158004">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="220" column="93" selection-start="10630" selection-end="10630" vertical-scroll-proportion="0.3014553">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/test/org/neuclear/id/SignedNamedCoreTest.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="98" column="22" selection-start="4293" selection-end="4293" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="338" column="0" selection-start="16557" selection-end="16557" vertical-scroll-proportion="0.34511435">
<folding />
</state>
***************
*** 209,212 ****
--- 195,199 ----
<component name="ProjectPane">
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/controllers/currency" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/java" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/schemas" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src" module="neuclear-pay" type="directory" />
***************
*** 221,224 ****
--- 208,212 ----
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-xmlsig" module="NeuClear XMLSig" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java" module="neuclear" type="directory" />
***************
*** 433,539 ****
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto/signers/TestCaseSigner.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="90" column="54" selection-start="4100" selection-end="4100" vertical-scroll-proportion="0.40129033">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/servlet/AssetControllerServlet.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="108" column="36" selection-start="5144" selection-end="5144" vertical-scroll-proportion="0.75225806">
! <folding>
! <element signature="imports" expanded="true" />
! </folding>
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/controllers/currency/CurrencyController.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="154" column="98" selection-start="7845" selection-end="7845" vertical-scroll-proportion="0.33290324">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/test/org/neuclear/asset/receiver/PaymentReceiverTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="242" column="47" selection-start="11800" selection-end="11800" vertical-scroll-proportion="0.59354836">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/receiver/SimpleReceipt.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="42" selection-start="382" selection-end="382" vertical-scroll-proportion="0.1329114">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$-sample/src/java/org/neuclear/id/sample/MessageSenderReceiver.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="47" column="75" selection-start="1919" selection-end="1919" vertical-scroll-proportion="0.71370965">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/ConnectionSource.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="17" selection-start="208" selection-end="208" vertical-scroll-proportion="0.30241936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/SQLContext.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="68" column="7" selection-start="2594" selection-end="2594" vertical-scroll-proportion="0.98991936">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/entities/EntityModel.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="68" column="35" selection-start="2666" selection-end="2666" vertical-scroll-proportion="0.5302419">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/test/org/neuclear/commons/sql/entities/TableDefinitionTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="139" column="18" selection-start="5745" selection-end="5745" vertical-scroll-proportion="0.3326613">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
<provider selected="true" editor-type-id="text-editor">
! <state line="12" column="0" selection-start="258" selection-end="258" vertical-scroll-proportion="0.36290324">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/sql/statements/SimpleStatementFactory.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="46" column="32" selection-start="1648" selection-end="1648" vertical-scroll-proportion="0.4717742">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="191" column="74" selection-start="9845" selection-end="9845" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="325" column="28" selection-start="14964" selection-end="14964" vertical-scroll-proportion="1.3471934">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="279" column="0" selection-start="13454" selection-end="13454" vertical-scroll-proportion="0.5675676">
<folding />
</state>
--- 421,525 ----
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/RefTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="78" column="47" selection-start="3202" selection-end="3202" vertical-scroll-proportion="1.1653225">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/c14/Canonicalizer.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="161" column="0" selection-start="7364" selection-end="7364" vertical-scroll-proportion="0.47401246">
! <folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/Reference.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="115" column="95" selection-start="5882" selection-end="5882" vertical-scroll-proportion="-0.13548388">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignatureInfo.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="176" column="25" selection-start="8076" selection-end="8076" vertical-scroll-proportion="0.9612903">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="163" column="12" selection-start="8555" selection-end="8555" vertical-scroll-proportion="0.4064516">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="338" column="0" selection-start="16557" selection-end="16557" vertical-scroll-proportion="0.34511435">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="330" column="24" selection-start="14824" selection-end="14824" vertical-scroll-proportion="-1.3513514">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/SimpleXMLSigTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="204" column="81" selection-start="10194" selection-end="10194" vertical-scroll-proportion="1.5488565">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/c14/CanonicalizationTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="47" selection-start="4117" selection-end="4117" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/test/org/neuclear/xml/xmlsec/XMLSignerTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="51" column="23" selection-start="2049" selection-end="2049" vertical-scroll-proportion="0.4864865">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/SignedNamedCore.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="383" column="46" selection-start="18240" selection-end="18240" vertical-scroll-proportion="0.6756757">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/test/org/neuclear/id/SignedNamedCoreTest.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="98" column="22" selection-start="4293" selection-end="4293" vertical-scroll-proportion="1.004158">
<folding />
</state>
</provider>
</entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/Builder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="35" column="10" selection-start="1152" selection-end="1152" vertical-scroll-proportion="-0.04158004">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-commons/src/java/carol.properties">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="220" column="93" selection-start="10630" selection-end="10630" vertical-scroll-proportion="0.3014553">
<folding />
</state>
|
|
From: <pe...@us...> - 2004-01-14 06:42:18
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv29374/src/test/org/neuclear/id
Modified Files:
SignedNamedCoreTest.java
Log Message:
Got rid of the verifyXXX() methods
Index: SignedNamedCoreTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/SignedNamedCoreTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** SignedNamedCoreTest.java 13 Jan 2004 23:38:26 -0000 1.6
--- SignedNamedCoreTest.java 14 Jan 2004 06:42:15 -0000 1.7
***************
*** 33,36 ****
--- 33,39 ----
$Id$
$Log$
+ Revision 1.7 2004/01/14 06:42:15 pelle
+ Got rid of the verifyXXX() methods
+
Revision 1.6 2004/01/13 23:38:26 pelle
Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 104,108 ****
System.out.println(builder.asXML());
! assertTrue(builder.verifySignature(signer.getPublicKey(name)));
try {
final SignedNamedCore core = SignedNamedCore.read(builder.getElement());
--- 107,111 ----
System.out.println(builder.asXML());
! assertTrue(builder.verify());
try {
final SignedNamedCore core = SignedNamedCore.read(builder.getElement());
|
|
From: <pe...@us...> - 2004-01-14 06:42:18
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv29374/src/java/org/neuclear/id
Modified Files:
SignedNamedCore.java
Log Message:
Got rid of the verifyXXX() methods
Index: SignedNamedCore.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/SignedNamedCore.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** SignedNamedCore.java 13 Jan 2004 23:38:26 -0000 1.12
--- SignedNamedCore.java 14 Jan 2004 06:42:15 -0000 1.13
***************
*** 2,5 ****
--- 2,8 ----
* $Id$
* $Log$
+ * Revision 1.13 2004/01/14 06:42:15 pelle
+ * Got rid of the verifyXXX() methods
+ *
* Revision 1.12 2004/01/13 23:38:26 pelle
* Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
***************
*** 258,266 ****
import org.neuclear.commons.crypto.CryptoTools;
import org.neuclear.commons.time.TimeTools;
import org.neuclear.id.resolver.NSResolver;
! import org.neuclear.xml.xmlsec.KeyInfo;
! import org.neuclear.xml.xmlsec.XMLSecTools;
! import org.neuclear.xml.xmlsec.XMLSecurityException;
! import org.neuclear.xml.xmlsec.XMLSignature;
import java.security.PublicKey;
--- 261,267 ----
import org.neuclear.commons.crypto.CryptoTools;
import org.neuclear.commons.time.TimeTools;
+ import org.neuclear.commons.LowLevelException;
import org.neuclear.id.resolver.NSResolver;
! import org.neuclear.xml.xmlsec.*;
import java.security.PublicKey;
***************
*** 367,380 ****
private static String encodeElement(final Element elem) {
! return new String(XMLSecTools.canonicalize(elem));
}
private static SignedNamedCore readUnnamed(final Element elem) throws XMLSecurityException, InvalidNamedObjectException {
! final XMLSignature sig=XMLSecTools.getXMLSignature(elem);
! final PublicKey pub = sig.getSignersKey();
! if (sig.verifySignature(pub))
return new SignedNamedCore(pub,encodeElement(elem));
! else
throw new InvalidNamedObjectException("Unnamed object failed Signature verification");
}
--- 368,386 ----
private static String encodeElement(final Element elem) {
! try {
! return new String(XMLSecTools.canonicalize(elem));
! } catch (XMLSecurityException e) {
! throw new LowLevelException(e);
! }
}
private static SignedNamedCore readUnnamed(final Element elem) throws XMLSecurityException, InvalidNamedObjectException {
! try {
! final XMLSignature sig=XMLSecTools.getXMLSignature(elem);
! final PublicKey pub = sig.getSignersKey();
return new SignedNamedCore(pub,encodeElement(elem));
! } catch (InvalidSignatureException e) {
throw new InvalidNamedObjectException("Unnamed object failed Signature verification");
+ }
}
|
|
From: <pe...@us...> - 2004-01-13 23:38:30
|
Update of /cvsroot/neuclear/neuclear-id/src/test-cactus/org/neuclear/receiver
In directory sc8-pr-cvs1:/tmp/cvs-serv25435/src/test-cactus/org/neuclear/receiver
Modified Files:
ReceiverServletTest.java
Log Message:
Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
Index: ReceiverServletTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/test-cactus/org/neuclear/receiver/ReceiverServletTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ReceiverServletTest.java 12 Dec 2003 15:12:50 -0000 1.5
--- ReceiverServletTest.java 13 Jan 2004 23:38:26 -0000 1.6
***************
*** 5,22 ****
import org.neuclear.auth.AuthenticationTicket;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.crypto.signers.JCESigner;
import org.neuclear.commons.crypto.signers.TestCaseSigner;
- import org.neuclear.commons.crypto.Base64;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.xml.XMLException;
- import org.neuclear.xml.soap.SOAPTools;
- import org.neuclear.xml.xmlsec.XMLSecTools;
import javax.servlet.ServletException;
- import java.io.IOException;
import java.io.ByteArrayInputStream;
! import java.io.ByteArrayOutputStream;
import java.security.GeneralSecurityException;
- import java.net.HttpURLConnection;
/*
--- 5,18 ----
import org.neuclear.auth.AuthenticationTicket;
import org.neuclear.commons.NeuClearException;
+ import org.neuclear.commons.crypto.Base64;
import org.neuclear.commons.crypto.signers.JCESigner;
import org.neuclear.commons.crypto.signers.TestCaseSigner;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.xml.XMLException;
import javax.servlet.ServletException;
import java.io.ByteArrayInputStream;
! import java.io.IOException;
import java.security.GeneralSecurityException;
/*
***************
*** 40,43 ****
--- 36,42 ----
$Id$
$Log$
+ Revision 1.6 2004/01/13 23:38:26 pelle
+ Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
+
Revision 1.5 2003/12/12 15:12:50 pelle
The ReceiverServletTest now passes.
***************
*** 73,77 ****
AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://bob@test", "neu://test", "http://localhost");
! AuthenticationTicket ticket = (AuthenticationTicket) builder.sign(signer);
theRequest.setContentType("application/x-www-form-urlencoded");
String b64 =Base64.encode(ticket.getEncoded().getBytes());
--- 72,76 ----
AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://bob@test", "neu://test", "http://localhost");
! AuthenticationTicket ticket = (AuthenticationTicket) builder.convert("neu://bob@test",signer);
theRequest.setContentType("application/x-www-form-urlencoded");
String b64 =Base64.encode(ticket.getEncoded().getBytes());
***************
*** 96,100 ****
AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://alice@test", "neu://test", "http://localhost");
! AuthenticationTicket ticket = (AuthenticationTicket) builder.sign(signer);
theRequest.setContentType("text/xml");
theRequest.setURL("http://users.neuclear.org", "/test", "/Service",
--- 95,99 ----
AuthenticationTicketBuilder builder = new AuthenticationTicketBuilder("neu://alice@test", "neu://test", "http://localhost");
! AuthenticationTicket ticket = (AuthenticationTicket) builder.convert("neu://bob@test",signer);
theRequest.setContentType("text/xml");
theRequest.setURL("http://users.neuclear.org", "/test", "/Service",
|
|
From: <pe...@us...> - 2004-01-13 23:38:30
|
Update of /cvsroot/neuclear/neuclear-id
In directory sc8-pr-cvs1:/tmp/cvs-serv25435
Modified Files:
project.xml
Log Message:
Refactoring parts of the core of XMLSignature. There shouldnt be any real API changes.
Index: project.xml
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/project.xml,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** project.xml 7 Jan 2004 16:16:02 -0000 1.28
--- project.xml 13 Jan 2004 23:38:26 -0000 1.29
***************
*** 71,75 ****
<id>neuclear-xmlsig</id>
<name>neuclear-xmlsig</name>
! <version>0.11.1</version>
<properties>
<war.bundle>true</war.bundle>
--- 71,75 ----
<id>neuclear-xmlsig</id>
<name>neuclear-xmlsig</name>
! <version>0.12-SNAPSHOT</version>
<properties>
<war.bundle>true</war.bundle>
***************
*** 80,84 ****
<id>neuclear-commons</id>
<name>neuclear-commons</name>
! <version>0.5.1</version>
<properties>
<war.bundle>true</war.bundle>
--- 80,84 ----
<id>neuclear-commons</id>
<name>neuclear-commons</name>
! <version>0.6-SNAPSHOT</version>
<properties>
<war.bundle>true</war.bundle>
|