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: Pelle B. <pe...@us...> - 2004-04-01 23:32:24
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/java/org/neuclear/id/builders Modified Files: IdentityBuilder.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: IdentityBuilder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders/IdentityBuilder.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** IdentityBuilder.java 22 Mar 2004 20:09:43 -0000 1.20 --- IdentityBuilder.java 1 Apr 2004 23:19:47 -0000 1.21 *************** *** 2,5 **** --- 2,10 ---- * $Id$ * $Log$ + * Revision 1.21 2004/04/01 23:19:47 pelle + * Split Identity into Signatory and Identity class. + * Identity remains a signed named object and will in the future just be used for self declared information. + * Signatory now contains the PublicKey etc and is NOT a signed object. + * * Revision 1.20 2004/03/22 20:09:43 pelle * Added simple ledger for unit testing and in memory use *************** *** 229,255 **** package org.neuclear.id.builders; - import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.QName; - import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; import org.neuclear.id.InvalidNamedObjectException; - import org.neuclear.id.NSTools; - import org.neuclear.xml.xmlsec.XMLSecTools; - import org.neuclear.xml.xmlsec.XMLSecurityException; - - import java.security.PublicKey; public class IdentityBuilder extends Builder { /** * It creates a Standard Identity document, but doesn't sign it. * - * @param allow PublicKey allowed to sign in here * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing * @param receiver URL of default receiver for namespace */ ! public IdentityBuilder(final PublicKey allow, final String signer, final String logger, final String receiver) throws InvalidNamedObjectException { ! this(createNEUIDQName(TAGNAME), allow, signer, logger, receiver); } --- 234,262 ---- package org.neuclear.id.builders; import org.dom4j.Element; import org.dom4j.QName; import org.neuclear.commons.Utility; + import org.neuclear.id.Identity; import org.neuclear.id.InvalidNamedObjectException; public class IdentityBuilder extends Builder { + + public IdentityBuilder() throws InvalidNamedObjectException { + this(Identity.DEFAULT_SIGNER); + } + /** * It creates a Standard Identity document, but doesn't sign it. * * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing * @param receiver URL of default receiver for namespace */ ! public IdentityBuilder(final String signer, final String logger, final String receiver) throws InvalidNamedObjectException { ! this(createNEUIDQName(TAGNAME), signer, logger, receiver); ! } ! ! public IdentityBuilder(final String signer) throws InvalidNamedObjectException { ! this(createNEUIDQName(TAGNAME), signer); } *************** *** 258,266 **** * * @param tag The Tag used by this sub class - * @param allow PublicKey allowed to sign in here * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing * @param receiver URL of default receiver for namespace */ ! protected IdentityBuilder(final QName tag, final PublicKey allow, final String signer, final String logger, final String receiver) throws InvalidNamedObjectException { super(tag); --- 265,285 ---- * * @param tag The Tag used by this sub class * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing * @param receiver URL of default receiver for namespace */ ! protected IdentityBuilder(final QName tag, final String signer, final String logger, final String receiver) throws InvalidNamedObjectException { ! this(tag, signer); ! ! addTarget(logger, "logger"); ! addTarget(receiver, "inbox"); ! } ! ! /** ! * This constructor should be used by subclasses of Identity. It creates a Standard Identity document, but doesn't sign it. ! * ! * @param tag The Tag used by this sub class ! * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing ! */ ! protected IdentityBuilder(final QName tag, final String signer) throws InvalidNamedObjectException { super(tag); *************** *** 269,286 **** if (!Utility.isEmpty(signer)) addElement("Signer", signer); - addTarget(logger, "logger"); - addTarget(receiver, "inbox"); - - final QName allowName = DocumentHelper.createQName("Allow", NSTools.NS_NEUID); - Element pub = getElement().element(allowName); - if (pub == null) - pub = getElement().addElement(allowName); - else - pub.clearContent(); - pub.addText("\n"); - pub.add(XMLSecTools.createKeyInfo(allow)); - } private void addTarget(final String href, final String type) { if (!Utility.isEmpty(href)) --- 288,294 ---- if (!Utility.isEmpty(signer)) addElement("Signer", signer); } + private void addTarget(final String href, final String type) { if (!Utility.isEmpty(href)) *************** *** 289,297 **** - public IdentityBuilder(final PublicKey allow) throws XMLSecurityException, NeuClearException { - this(allow, null, null, null); - } - - private static final String TAGNAME = "Identity"; --- 297,300 ---- |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:32:24
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/signers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/java/org/neuclear/id/signers Modified Files: SignatureRequestServlet.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: SignatureRequestServlet.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/signers/SignatureRequestServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SignatureRequestServlet.java 2 Mar 2004 18:59:10 -0000 1.1 --- SignatureRequestServlet.java 1 Apr 2004 23:19:48 -0000 1.2 *************** *** 9,13 **** import org.neuclear.id.builders.Builder; import org.neuclear.id.builders.SignatureRequestBuilder; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.xml.XMLException; import org.neuclear.xml.xmlsec.XMLSecTools; --- 9,13 ---- import org.neuclear.id.builders.Builder; import org.neuclear.id.builders.SignatureRequestBuilder; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.xml.XMLException; import org.neuclear.xml.xmlsec.XMLSecTools; *************** *** 44,47 **** --- 44,52 ---- $Id$ $Log$ + Revision 1.2 2004/04/01 23:19:48 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.1 2004/03/02 18:59:10 pelle Further cleanups in neuclear-id. Moved everything under id. *************** *** 79,84 **** public final void init(final ServletConfig servletConfig) throws ServletException { super.init(servletConfig); ! serviceid = ServletTools.getInitParam("serviceid",servletConfig); ! title = ServletTools.getInitParam("title",servletConfig); try { --- 84,89 ---- public final void init(final ServletConfig servletConfig) throws ServletException { super.init(servletConfig); ! serviceid = ServletTools.getInitParam("serviceid", servletConfig); ! title = ServletTools.getInitParam("title", servletConfig); try { *************** *** 94,102 **** } ! protected final String getServiceid() { return serviceid; } ! protected final String getTitle() { return title; } --- 99,107 ---- } ! protected final String getServiceid() { return serviceid; } ! protected final String getTitle() { return title; } *************** *** 161,170 **** protected Identity getUserNS(final HttpServletRequest request) throws NeuClearException { ! if (request.getUserPrincipal()!=null) ! return (Identity)request.getUserPrincipal(); final String username = request.getParameter("identity"); if (Utility.isEmpty(username)) throw new NeuClearException("No Identity Provided"); ! return NSResolver.resolveIdentity(username); } --- 166,175 ---- protected Identity getUserNS(final HttpServletRequest request) throws NeuClearException { ! if (request.getUserPrincipal() != null) ! return (Identity) request.getUserPrincipal(); final String username = request.getParameter("identity"); if (Utility.isEmpty(username)) throw new NeuClearException("No Identity Provided"); ! return Resolver.resolveIdentity(username); } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:54
|
Update of /cvsroot/neuclear/neuclear-id/src/webapp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/webapp Modified Files: index.jsp Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: index.jsp =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/webapp/index.jsp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** index.jsp 2 Mar 2004 18:59:14 -0000 1.13 --- index.jsp 1 Apr 2004 23:19:51 -0000 1.14 *************** *** 5,9 **** org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.NSResolver"%> <% response.setHeader("Pragma","no-cache"); --- 5,9 ---- org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.Resolver"%> <% response.setHeader("Pragma","no-cache"); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:54
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/test/org/neuclear/id Modified Files: IdentityTests.java SignedNamedCoreTest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: SignedNamedCoreTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/SignedNamedCoreTest.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SignedNamedCoreTest.java 19 Jan 2004 17:55:00 -0000 1.8 --- SignedNamedCoreTest.java 1 Apr 2004 23:19:51 -0000 1.9 *************** *** 33,36 **** --- 33,41 ---- $Id$ $Log$ + Revision 1.9 2004/04/01 23:19:51 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.8 2004/01/19 17:55:00 pelle Updated the NeuClear ID naming scheme to support various levels of semantics *************** *** 82,101 **** signer = new TestCaseSigner(); } - - public final void testCreateRoot() { - final SignedNamedCore core = SignedNamedCore.createRootCore(); - assertNotNull(core); - assertEquals(core.getName(), "neu://"); - assertNull(core.getSignatory()); - } public final void testCreateNymous() throws InvalidNamedObjectException, XMLException, NonExistingSignerException, UserCancellationException { final String name = "neu://bob@test"; ! Identity bobx=SignedNamedCore.createSimpleIdentity(signer.getPublicKey(name)); assertNotNull(bobx); assertNotNull(bobx.getName()); System.out.println(bobx.getName()); - assertNotNull(bobx.getEncoded()); - assertNotNull(bobx.getSigner()); assertNotNull(bobx.getPublicKey()); } --- 87,97 ---- signer = new TestCaseSigner(); } public final void testCreateNymous() throws InvalidNamedObjectException, XMLException, NonExistingSignerException, UserCancellationException { final String name = "neu://bob@test"; ! Signatory bobx = new Signatory(signer.getPublicKey(name)); assertNotNull(bobx); assertNotNull(bobx.getName()); System.out.println(bobx.getName()); assertNotNull(bobx.getPublicKey()); } Index: IdentityTests.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/IdentityTests.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** IdentityTests.java 21 Mar 2004 00:48:51 -0000 1.8 --- IdentityTests.java 1 Apr 2004 23:19:51 -0000 1.9 *************** *** 42,46 **** new String(Base32.decode(obj.getName().substring(5, 37)))); assertEquals(id.getSigner(), SIGNER); ! assertNotNull(id.getPublicKey()); } --- 42,46 ---- new String(Base32.decode(obj.getName().substring(5, 37)))); assertEquals(id.getSigner(), SIGNER); ! assertNotNull(id.getSignatory().getPublicKey()); } *************** *** 50,59 **** protected Builder createBuilder() throws NeuClearException { ! return new IdentityBuilder(getSigner().getPublicKey(NAME), SIGNER, null, null); } public void testAnonymous() throws NoSuchAlgorithmException { KeyPair kp = CryptoTools.createTinyDSAKeyPair(); ! Identity id = new Identity(kp.getPublic()); assertNotNull(id); assertNotNull(id.getName()); --- 50,59 ---- protected Builder createBuilder() throws NeuClearException { ! return new IdentityBuilder(SIGNER, null, null); } public void testAnonymous() throws NoSuchAlgorithmException { KeyPair kp = CryptoTools.createTinyDSAKeyPair(); ! Signatory id = new Signatory(kp.getPublic()); assertNotNull(id); assertNotNull(id.getName()); *************** *** 77,81 **** ! Identity id = obj.getSignatory(); assertNotNull(id); assertNotNull(id.getName()); --- 77,81 ---- ! Signatory id = obj.getSignatory(); assertNotNull(id); assertNotNull(id.getName()); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:54
|
Update of /cvsroot/neuclear/neuclear-id/src/test-cactus/org/neuclear/id/auth In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/test-cactus/org/neuclear/id/auth Modified Files: AuthenticationServletTest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: AuthenticationServletTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/test-cactus/org/neuclear/id/auth/AuthenticationServletTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AuthenticationServletTest.java 2 Mar 2004 18:59:13 -0000 1.1 --- AuthenticationServletTest.java 1 Apr 2004 23:19:51 -0000 1.2 *************** *** 1,28 **** package org.neuclear.id.auth; import org.apache.cactus.ServletTestCase; import org.apache.cactus.WebRequest; import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; - import org.neuclear.commons.crypto.signers.TestCaseSigner; - import org.neuclear.commons.crypto.signers.JCESigner; import org.neuclear.commons.crypto.Base64; ! import org.neuclear.xml.XMLException; ! import org.neuclear.id.builders.AuthenticationTicketBuilder; ! import org.neuclear.id.builders.SignatureRequestBuilder; ! import org.neuclear.id.SignedNamedObject; import org.neuclear.id.SignatureRequest; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.id.verifier.VerifyingReader; ! import org.neuclear.id.signers.SigningServlet; ! import org.neuclear.id.signers.DemoSigningServlet; import org.xml.sax.SAXException; import javax.servlet.ServletException; - import java.security.GeneralSecurityException; - import java.io.IOException; import java.io.ByteArrayInputStream; ! ! import com.meterware.httpunit.WebForm; /* --- 1,23 ---- package org.neuclear.id.auth; + import com.meterware.httpunit.WebForm; import org.apache.cactus.ServletTestCase; import org.apache.cactus.WebRequest; import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; import org.neuclear.commons.crypto.Base64; ! import org.neuclear.commons.crypto.signers.JCESigner; ! import org.neuclear.commons.crypto.signers.TestCaseSigner; import org.neuclear.id.SignatureRequest; ! import org.neuclear.id.SignedNamedObject; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.id.verifier.VerifyingReader; ! import org.neuclear.xml.XMLException; import org.xml.sax.SAXException; import javax.servlet.ServletException; import java.io.ByteArrayInputStream; ! import java.io.IOException; ! import java.security.GeneralSecurityException; /* *************** *** 46,49 **** --- 41,49 ---- $Id$ $Log$ + Revision 1.2 2004/04/01 23:19:51 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.1 2004/03/02 18:59:13 pelle Further cleanups in neuclear-id. Moved everything under id. *************** *** 79,84 **** assertEquals(request.getContentType(), "application/x-www-form-urlencoded"); assertEquals(request.getMethod(), "POST"); ! config.setInitParameter("serviceid","neu://test"); ! config.setInitParameter("title","cactustest"); AuthenticationServlet servlet = new AuthenticationServlet(); servlet.init(config); --- 79,84 ---- assertEquals(request.getContentType(), "application/x-www-form-urlencoded"); assertEquals(request.getMethod(), "POST"); ! config.setInitParameter("serviceid", "neu://test"); ! config.setInitParameter("title", "cactustest"); AuthenticationServlet servlet = new AuthenticationServlet(); servlet.init(config); *************** *** 102,107 **** assertEquals(sigreq.getUnsigned().getElement().getName(), "AuthenticationTicket"); assertEquals(sigreq.getUserid(), "neu://bob@test"); ! assertEquals(NSResolver.resolveIdentity("neu://bob@test").getSigner(), forms[0].getAction()); } JCESigner signer; --- 102,108 ---- assertEquals(sigreq.getUnsigned().getElement().getName(), "AuthenticationTicket"); assertEquals(sigreq.getUserid(), "neu://bob@test"); ! assertEquals(Resolver.resolveIdentity("neu://bob@test").getSigner(), forms[0].getAction()); } + JCESigner signer; |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:53
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/jce In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/test/org/neuclear/id/jce Modified Files: NeuClearJCETest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: NeuClearJCETest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/jce/NeuClearJCETest.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** NeuClearJCETest.java 18 Feb 2004 00:14:35 -0000 1.14 --- NeuClearJCETest.java 1 Apr 2004 23:19:50 -0000 1.15 *************** *** 40,43 **** --- 40,48 ---- $Id$ $Log$ + Revision 1.15 2004/04/01 23:19:50 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.14 2004/02/18 00:14:35 pelle Many, many clean ups. I've readded Targets in a new method. *************** *** 132,140 **** public final void testGetCertificate() throws NeuClearException, XMLException { ! final IdentityBuilder id = new IdentityBuilder(signer.getPublicKey("neu://bob@test")); ! final Identity bob = (Identity) id.convert("neu://bob@test",signer); ! final Certificate cert = bob.getCertificate(); assertNotNull(cert); ! assertEquals(cert.getPublicKey(), bob.getPublicKey()); } --- 137,145 ---- public final void testGetCertificate() throws NeuClearException, XMLException { ! final IdentityBuilder id = new IdentityBuilder(); ! final Identity bob = (Identity) id.convert("neu://bob@test", signer); ! final Certificate cert = bob.getSignatory().getCertificate(); assertNotNull(cert); ! assertEquals(cert.getPublicKey(), bob.getSignatory().getPublicKey()); } *************** *** 147,154 **** final KeyPair kp = kpg.generateKeyPair(); final JCESigner sig2 = new JCESigner(ks, new AlwaysTheSamePassphraseAgent("neuclear")); ! final IdentityBuilder id = new IdentityBuilder( kp.getPublic()); ! final Identity eve = (Identity) id.convert("neu://test",signer); ! ks.setKeyEntry("neu://eve@test", kp.getPrivate(), "neuclear".toCharArray(), eve.getCertificateChain()); assertTrue(ks.containsAlias("neu://eve@test")); // assertTrue(ks.isCertificateEntry("neu://eve@test")); --- 152,159 ---- final KeyPair kp = kpg.generateKeyPair(); final JCESigner sig2 = new JCESigner(ks, new AlwaysTheSamePassphraseAgent("neuclear")); ! final IdentityBuilder id = new IdentityBuilder(); ! final Identity eve = (Identity) id.convert("neu://test", signer); ! ks.setKeyEntry("neu://eve@test", kp.getPrivate(), "neuclear".toCharArray(), eve.getSignatory().getCertificateChain()); assertTrue(ks.containsAlias("neu://eve@test")); // assertTrue(ks.isCertificateEntry("neu://eve@test")); *************** *** 156,178 **** assertNotNull(ks.getCertificate("neu://eve@test")); assertNotNull(ks.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(eve.getCertificate(),ks.getCertificate("neu://eve@test")); ! assertEquals(eve.getPublicKey(),ks.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(kp.getPrivate(),ks.getKey("neu://eve@test","neuclear".toCharArray())); ! assertEquals(ks.getCertificateAlias(eve.getCertificate()),"neu://eve@test"); try { ! ks.getCertificate("neu://eve@test").verify(signer.getPublicKey("neu://test"));; } catch (InvalidKeyException e) { ! assertTrue("Invalid Key",false); } catch (SignatureException e) { ! assertTrue("Invalid Signature",false); } //Lets write it ! File ksfile=new File("target/testdata/keystores/testneuclearcert.jks"); ksfile.getParentFile().mkdirs(); try { ! ks.store(new FileOutputStream(ksfile),"neuclear".toCharArray()); } catch (Exception e) { e.printStackTrace(); ! assertTrue("Couldnt write file",false); } final KeyStore ks2 = KeyStore.getInstance("jks", "SUN"); --- 161,184 ---- assertNotNull(ks.getCertificate("neu://eve@test")); assertNotNull(ks.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(eve.getSignatory().getCertificate(), ks.getCertificate("neu://eve@test")); ! assertEquals(eve.getSignatory().getPublicKey(), ks.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(kp.getPrivate(), ks.getKey("neu://eve@test", "neuclear".toCharArray())); ! assertEquals(ks.getCertificateAlias(eve.getSignatory().getCertificate()), "neu://eve@test"); try { ! ks.getCertificate("neu://eve@test").verify(signer.getPublicKey("neu://test")); ! ; } catch (InvalidKeyException e) { ! assertTrue("Invalid Key", false); } catch (SignatureException e) { ! assertTrue("Invalid Signature", false); } //Lets write it ! File ksfile = new File("target/testdata/keystores/testneuclearcert.jks"); ksfile.getParentFile().mkdirs(); try { ! ks.store(new FileOutputStream(ksfile), "neuclear".toCharArray()); } catch (Exception e) { e.printStackTrace(); ! assertTrue("Couldnt write file", false); } final KeyStore ks2 = KeyStore.getInstance("jks", "SUN"); *************** *** 181,185 **** } catch (Exception e) { e.printStackTrace(); ! assertTrue("Couldnt Read File",false); } --- 187,191 ---- } catch (Exception e) { e.printStackTrace(); ! assertTrue("Couldnt Read File", false); } *************** *** 189,203 **** assertNotNull(ks2.getCertificate("neu://eve@test")); assertNotNull(ks2.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(eve.getCertificate(),ks2.getCertificate("neu://eve@test")); ! assertEquals(eve.getPublicKey(),ks2.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(kp.getPrivate(),ks2.getKey("neu://eve@test","neuclear".toCharArray())); ! assertEquals(ks2.getCertificateAlias(eve.getCertificate()),"neu://eve@test"); try { ! ks2.getCertificate("neu://eve@test").verify(signer.getPublicKey("neu://test"));; } catch (InvalidKeyException e) { ! assertTrue("Invalid Key",false); } catch (SignatureException e) { ! assertTrue("Invalid Signature",false); } //final AuthenticationTicketBuilder authb = new AuthenticationTicketBuilder("neu://eve@test", "neu://test", "http://users.neuclear.org:8080"); --- 195,210 ---- assertNotNull(ks2.getCertificate("neu://eve@test")); assertNotNull(ks2.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(eve.getSignatory().getCertificate(), ks2.getCertificate("neu://eve@test")); ! assertEquals(eve.getSignatory().getPublicKey(), ks2.getCertificate("neu://eve@test").getPublicKey()); ! assertEquals(kp.getPrivate(), ks2.getKey("neu://eve@test", "neuclear".toCharArray())); ! assertEquals(ks2.getCertificateAlias(eve.getSignatory().getCertificate()), "neu://eve@test"); try { ! ks2.getCertificate("neu://eve@test").verify(signer.getPublicKey("neu://test")); ! ; } catch (InvalidKeyException e) { ! assertTrue("Invalid Key", false); } catch (SignatureException e) { ! assertTrue("Invalid Signature", false); } //final AuthenticationTicketBuilder authb = new AuthenticationTicketBuilder("neu://eve@test", "neu://test", "http://users.neuclear.org:8080"); *************** *** 205,229 **** } public void testCreateAndUpdateCert() throws NeuClearException, XMLException { ! PublicKey pub=getSigner().generateKey(IVAN); assertNotNull(pub); ! final IdentityBuilder id = new IdentityBuilder(pub); assertTrue(signer.canSignFor(IVAN)); assertNotNull(signer.getPublicKey(IVAN)); ! assertEquals(pub,signer.getPublicKey(IVAN)); ! id.sign(IVAN,signer); try { final Identity ivan = (Identity) id.convert(); assertNotNull(ivan); // assertEquals(IVAN,ivan.getName()); ! assertNotNull(ivan.getPublicKey()); ! assertEquals(pub,ivan.getCertificate().getPublicKey()); ! assertEquals(ivan.getPublicKey(),signer.getPublicKey(IVAN)); final byte[] data = "this is a test".getBytes(); final byte[] sig = signer.sign(IVAN, data); assertNotNull(sig); ! assertTrue(CryptoTools.verify(ivan.getPublicKey(), data, sig)); } catch (InvalidNamedObjectException e) { ! assertTrue("The Signature was invalid",false); } } --- 212,237 ---- } + public void testCreateAndUpdateCert() throws NeuClearException, XMLException { ! PublicKey pub = getSigner().generateKey(IVAN); assertNotNull(pub); ! final IdentityBuilder id = new IdentityBuilder(); assertTrue(signer.canSignFor(IVAN)); assertNotNull(signer.getPublicKey(IVAN)); ! assertEquals(pub, signer.getPublicKey(IVAN)); ! id.sign(IVAN, signer); try { final Identity ivan = (Identity) id.convert(); assertNotNull(ivan); // assertEquals(IVAN,ivan.getName()); ! assertNotNull(ivan.getSignatory().getPublicKey()); ! assertEquals(pub, ivan.getSignatory().getCertificate().getPublicKey()); ! assertEquals(ivan.getSignatory().getPublicKey(), signer.getPublicKey(IVAN)); final byte[] data = "this is a test".getBytes(); final byte[] sig = signer.sign(IVAN, data); assertNotNull(sig); ! assertTrue(CryptoTools.verify(ivan.getSignatory().getPublicKey(), data, sig)); } catch (InvalidNamedObjectException e) { ! assertTrue("The Signature was invalid", false); } } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:50
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/resolver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4486/src/java/org/neuclear/id/resolver Added Files: Resolver.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. --- NEW FILE: Resolver.java --- package org.neuclear.id.resolver; import org.neuclear.id.Identity; import org.neuclear.id.InvalidNamedObjectException; import org.neuclear.id.NameResolutionException; import org.neuclear.id.SignedNamedObject; import org.neuclear.id.cache.NSCache; import org.neuclear.id.verifier.VerifyingReader; import java.io.IOException; import java.net.URL; /** * Secure Identity resolver. To get an Identity object simply do: * <code> * Identity bob=NSResolver.resolveIdentity("neu://bob@test"); * </code> * To resolve an arbitrary SignedNamedObject use: * <code> * SignedNamedObject obj=NSResolver.resolve("neu://bob@test/wicked"); * </code> */ public final class Resolver { private Resolver() { //Dont Instantiate } private static final NSCache NSCACHE = new NSCache(); public static final String PKYP = "http://pkyp.org"; /** * Given a given URI this resolves the Identity object * * @param name * @return */ public final static Identity resolveIdentity(final String name) throws NameResolutionException, InvalidNamedObjectException { final SignedNamedObject id = resolve(name); if (id instanceof Identity) return (Identity) id; throw new InvalidNamedObjectException(name); } /** * Retrieves the Identity object of the given name * defaultstore for the given namespace. * This is guaranteed to be valid as it checks the signatures on each level. * * @param name * @return */ public final static SignedNamedObject resolve(final String name) throws NameResolutionException, InvalidNamedObjectException { SignedNamedObject obj = NSCACHE.fetchCached(name); if (obj != null) return obj; /* if (name.startsWith("neu:")) { final String parentname = NSTools.getSignatoryURI(name); String store = NSTools.isHttpScheme(name); if (store == null) { final Identity parent = resolveIdentity(parentname); store = parent.getRepository(); } try { obj = Source.getInstance().fetch(store, name); } catch (SourceException e) { throw new NameResolutionException(name,e.getLocalizedMessage()); } if (obj == null) throw new NameResolutionException(name); NSCACHE.cache(obj); return obj; //This may not be null } */ try { return VerifyingReader.getInstance().read(new URL(getURLString(name)).openStream()); } catch (IOException e) { throw new InvalidNamedObjectException(name, e); } } private static String getURLString(final String name) { if ((name.startsWith("http://") || name.startsWith("https://"))) return name; return "http://pkyp.org/id/" + cleanName(name); } private static String cleanName(String name) { if (name.startsWith("sha:")) return name.substring(4); return name; } } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:16
|
Update of /cvsroot/neuclear/neuclear-signer/src/webapp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4432/src/webapp Modified Files: index.jsp Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: index.jsp =================================================================== RCS file: /cvsroot/neuclear/neuclear-signer/src/webapp/index.jsp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** index.jsp 15 Dec 2003 13:37:23 -0000 1.1.1.1 --- index.jsp 1 Apr 2004 23:19:13 -0000 1.2 *************** *** 5,9 **** org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.NSResolver"%> <% response.setHeader("Pragma","no-cache"); --- 5,9 ---- org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.Resolver"%> <% response.setHeader("Pragma","no-cache"); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:10
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset/servlet Modified Files: AssetControllerServlet.java TransferRequestServlet.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: TransferRequestServlet.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet/TransferRequestServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TransferRequestServlet.java 2 Mar 2004 18:58:35 -0000 1.2 --- TransferRequestServlet.java 1 Apr 2004 23:18:33 -0000 1.3 *************** *** 2,15 **** import org.neuclear.asset.InvalidTransferException; - import org.neuclear.asset.orders.builders.TransferOrderBuilder; - import org.neuclear.asset.orders.Amount; import org.neuclear.asset.contracts.Asset; import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; - import org.neuclear.commons.time.TimeTools; import org.neuclear.id.Identity; import org.neuclear.id.InvalidNamedObjectException; import org.neuclear.id.builders.Builder; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.id.signers.SignatureRequestServlet; --- 2,14 ---- import org.neuclear.asset.InvalidTransferException; import org.neuclear.asset.contracts.Asset; + import org.neuclear.asset.orders.Amount; + import org.neuclear.asset.orders.builders.TransferOrderBuilder; import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; import org.neuclear.id.Identity; import org.neuclear.id.InvalidNamedObjectException; import org.neuclear.id.builders.Builder; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.id.signers.SignatureRequestServlet; *************** *** 36,39 **** --- 35,43 ---- $Id$ $Log$ + Revision 1.3 2004/04/01 23:18:33 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.2 2004/03/02 18:58:35 pelle Further cleanups in neuclear-id. Moved everything under id. *************** *** 83,99 **** * Time: 6:37:19 PM */ ! public class TransferRequestServlet extends SignatureRequestServlet{ protected Builder createBuilder(HttpServletRequest request) throws NeuClearException { ! Asset asset=(Asset) NSResolver.resolveIdentity(getServiceid()); ! Identity user=(Identity) request.getUserPrincipal(); ! if (user==null) ! user=NSResolver.resolveIdentity(request.getParameter("sender")); ! Identity to=NSResolver.resolveIdentity(request.getParameter("recipient")); ! double amount=Double.parseDouble(Utility.denullString(request.getParameter("amount"),"0")); ! String comment=Utility.denullString(request.getParameter("comment")); try { ! return new TransferOrderBuilder(asset,to,new Amount(amount),comment); } catch (InvalidTransferException e) { ! throw new InvalidNamedObjectException(user.getName(),e); } } --- 87,103 ---- * Time: 6:37:19 PM */ ! public class TransferRequestServlet extends SignatureRequestServlet { protected Builder createBuilder(HttpServletRequest request) throws NeuClearException { ! Asset asset = (Asset) Resolver.resolveIdentity(getServiceid()); ! Identity user = (Identity) request.getUserPrincipal(); ! if (user == null) ! user = Resolver.resolveIdentity(request.getParameter("sender")); ! Identity to = Resolver.resolveIdentity(request.getParameter("recipient")); ! double amount = Double.parseDouble(Utility.denullString(request.getParameter("amount"), "0")); ! String comment = Utility.denullString(request.getParameter("comment")); try { ! return new TransferOrderBuilder(asset, to, new Amount(amount), comment); } catch (InvalidTransferException e) { ! throw new InvalidNamedObjectException(user.getName(), e); } } Index: AssetControllerServlet.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet/AssetControllerServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AssetControllerServlet.java 21 Mar 2004 00:48:45 -0000 1.3 --- AssetControllerServlet.java 1 Apr 2004 23:18:33 -0000 1.4 *************** *** 8,12 **** import org.neuclear.commons.servlets.ServletTools; import org.neuclear.id.receiver.ReceiverServlet; ! import org.neuclear.id.resolver.NSResolver; import javax.servlet.ServletConfig; --- 8,12 ---- import org.neuclear.commons.servlets.ServletTools; import org.neuclear.id.receiver.ReceiverServlet; ! import org.neuclear.id.resolver.Resolver; import javax.servlet.ServletConfig; *************** *** 33,36 **** --- 33,41 ---- $Id$ $Log$ + Revision 1.4 2004/04/01 23:18:33 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.3 2004/03/21 00:48:45 pelle The problem with Enveloped signatures has now been fixed. It was a problem in the way transforms work. I have bandaided it, but in the future if better support for transforms need to be made, we need to rethink it a bit. Perhaps using the new crypto channel's in neuclear-commons. *************** *** 111,115 **** TransferGlobals.registerReaders(); try { ! asset = (Asset) NSResolver.resolveIdentity(getServiceid()); final AssetController receiver = new CurrencyController(null, getSigner(), --- 116,120 ---- TransferGlobals.registerReaders(); try { ! asset = (Asset) Resolver.resolveIdentity(getServiceid()); final AssetController receiver = new CurrencyController(null, getSigner(), |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:09
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset/orders Modified Files: TransferGlobals.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: TransferGlobals.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/TransferGlobals.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TransferGlobals.java 3 Mar 2004 23:28:14 -0000 1.7 --- TransferGlobals.java 1 Apr 2004 23:18:32 -0000 1.8 *************** *** 10,14 **** import org.neuclear.id.NameResolutionException; import org.neuclear.id.SignedNamedObject; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.id.verifier.VerifyingReader; --- 10,14 ---- import org.neuclear.id.NameResolutionException; import org.neuclear.id.SignedNamedObject; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.id.verifier.VerifyingReader; *************** *** 36,39 **** --- 36,44 ---- $Id$ $Log$ + Revision 1.8 2004/04/01 23:18:32 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.7 2004/03/03 23:28:14 pelle Updated tests to use AbstractObjectCreationTest *************** *** 212,216 **** final String name = getElementValue(elem, ASSET_TAG); try { ! return (Asset) NSResolver.resolveIdentity(name); } catch (ClassCastException e) { throw new InvalidNamedObjectException(name, e); --- 217,221 ---- final String name = getElementValue(elem, ASSET_TAG); try { ! return (Asset) Resolver.resolveIdentity(name); } catch (ClassCastException e) { throw new InvalidNamedObjectException(name, e); *************** *** 224,228 **** final String name = getElementValue(elem, RECIPIENT_TAG); try { ! return NSResolver.resolveIdentity(name); } catch (NameResolutionException e) { throw new InvalidNamedObjectException(name, e); --- 229,233 ---- final String name = getElementValue(elem, RECIPIENT_TAG); try { ! return Resolver.resolveIdentity(name); } catch (NameResolutionException e) { throw new InvalidNamedObjectException(name, e); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:09
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/contracts/builders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset/contracts/builders Modified Files: AssetBuilder.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: AssetBuilder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/contracts/builders/AssetBuilder.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** AssetBuilder.java 2 Mar 2004 18:39:29 -0000 1.8 --- AssetBuilder.java 1 Apr 2004 23:18:31 -0000 1.9 *************** *** 9,14 **** import org.neuclear.id.builders.IdentityBuilder; - import java.security.PublicKey; - /* NeuClear Distributed Transaction Clearing Platform --- 9,12 ---- *************** *** 31,34 **** --- 29,37 ---- $Id$ $Log$ + Revision 1.9 2004/04/01 23:18:31 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.8 2004/03/02 18:39:29 pelle Done some more minor fixes within xmlsig, but mainly I've removed the old Source and Store patterns and sub packages. This is because *************** *** 108,113 **** * Used to create new Assets * - * @param allow PublicKey allowed to sign in here - * @param repository URL of Default Store for NameSpace. (Note. A NameSpace object is stored in the default repository of it's parent namespace) * @param signer URL of default interactive signing service for namespace. If null it doesnt allow interactive signing * @param receiver URL of default receiver for namespace --- 111,114 ---- *************** *** 116,121 **** * @param minimum Minimum transaction size */ ! public AssetBuilder(final PublicKey allow, final String signer, final String logger, final String receiver, final String controller, final int decimal, final double minimum) throws NeuClearException { ! super(AssetGlobals.createQName(AssetGlobals.ASSET_TAGNAME), allow, signer, logger, receiver); final Element elem = getElement(); AssetGlobals.createAttribute(elem, "controller", controller); --- 117,122 ---- * @param minimum Minimum transaction size */ ! public AssetBuilder(final String signer, final String logger, final String receiver, final String controller, final int decimal, final double minimum) throws NeuClearException { ! super(AssetGlobals.createQName(AssetGlobals.ASSET_TAGNAME), signer, logger, receiver); final Element elem = getElement(); AssetGlobals.createAttribute(elem, "controller", controller); *************** *** 132,145 **** assetname = args[0]; ! final AssetBuilder assetraw = new AssetBuilder( ! signer.getPublicKey(assetname), ! "http://bux.neuclear.org:8080", "http://logger.neuclear.org", "http://bux.neuclear.org:8080", "http://bux.neuclear.org:8080", 2, ! 0.01 ! ); ! final Asset asset= (Asset) assetraw.convert(assetname,signer); } catch (Exception e) { --- 133,143 ---- assetname = args[0]; ! final AssetBuilder assetraw = new AssetBuilder("http://bux.neuclear.org:8080", "http://logger.neuclear.org", "http://bux.neuclear.org:8080", "http://bux.neuclear.org:8080", 2, ! 0.01); ! final Asset asset = (Asset) assetraw.convert(assetname, signer); } catch (Exception e) { |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:08
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/contracts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset/contracts Modified Files: Asset.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: Asset.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/contracts/Asset.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Asset.java 18 Feb 2004 00:13:30 -0000 1.14 --- Asset.java 1 Apr 2004 23:18:32 -0000 1.15 *************** *** 5,13 **** import org.neuclear.id.*; import org.neuclear.id.targets.Targets; - import org.neuclear.xml.xmlsec.KeyInfo; - import org.neuclear.xml.xmlsec.XMLSecTools; - import org.neuclear.xml.xmlsec.XMLSecurityException; - - import java.security.PublicKey; /* --- 5,8 ---- *************** *** 31,34 **** --- 26,34 ---- $Id$ $Log$ + Revision 1.15 2004/04/01 23:18:32 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.14 2004/02/18 00:13:30 pelle Many, many clean ups. I've readded Targets in a new method. *************** *** 123,128 **** */ public final class Asset extends Identity { ! protected Asset(final SignedNamedCore core, final Targets targets,final PublicKey pub, final int decimal, final double minimumTransaction) { ! super(core, pub,null,targets); //Web services dont have signing urls this.decimal = decimal; this.multiplier = (int) Math.round(Math.pow(10, -decimal)); --- 123,128 ---- */ public final class Asset extends Identity { ! protected Asset(final SignedNamedCore core, final Targets targets, final int decimal, final double minimumTransaction) { ! super(core, null, targets); //Web services dont have signing urls this.decimal = decimal; this.multiplier = (int) Math.round(Math.pow(10, -decimal)); *************** *** 175,193 **** public final SignedNamedObject read(final SignedNamedCore core, final Element elem) throws InvalidNamedObjectException { if (!elem.getNamespace().equals(AssetGlobals.NS_ASSET)) ! throw new InvalidNamedObjectException(core.getName(),"Not in XML NameSpace: "+AssetGlobals.NS_ASSET.getURI()); ! final Element allowElement = InvalidNamedObjectException.assertContainsElementQName(core,elem,createNEUIDQName("allow")); ! try { ! final KeyInfo ki = new KeyInfo(InvalidNamedObjectException.assertContainsElementQName(allowElement, XMLSecTools.createQName("KeyInfo"))); ! final PublicKey pub = ki.getPublicKey(); ! final String dec = elem.attributeValue("decimalpoints"); ! final int decimal = (!Utility.isEmpty(dec)) ? Integer.parseInt(dec) : 0; ! final String min = elem.attributeValue("minimumxact"); ! final double minimum = (!Utility.isEmpty(min)) ? Double.parseDouble(min) : 0; ! final Targets targets=Targets.parseList(elem); ! return new Asset(core, targets, pub, decimal, minimum); ! } catch (XMLSecurityException e) { ! throw new InvalidNamedObjectException(core.getName(),e); ! } } --- 175,186 ---- public final SignedNamedObject read(final SignedNamedCore core, final Element elem) throws InvalidNamedObjectException { if (!elem.getNamespace().equals(AssetGlobals.NS_ASSET)) ! throw new InvalidNamedObjectException(core.getName(), "Not in XML NameSpace: " + AssetGlobals.NS_ASSET.getURI()); ! final String dec = elem.attributeValue("decimalpoints"); ! final int decimal = (!Utility.isEmpty(dec)) ? Integer.parseInt(dec) : 0; ! final String min = elem.attributeValue("minimumxact"); ! final double minimum = (!Utility.isEmpty(min)) ? Double.parseDouble(min) : 0; ! final Targets targets = Targets.parseList(elem); ! return new Asset(core, targets, decimal, minimum); } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:31:08
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset/controllers/currency Modified Files: CurrencyController.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: CurrencyController.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency/CurrencyController.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** CurrencyController.java 31 Mar 2004 23:10:48 -0000 1.17 --- CurrencyController.java 1 Apr 2004 23:18:32 -0000 1.18 *************** *** 10,14 **** import org.neuclear.exchange.orders.*; import org.neuclear.id.Identity; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.ledger.*; --- 10,14 ---- import org.neuclear.exchange.orders.*; import org.neuclear.id.Identity; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.ledger.*; *************** *** 29,33 **** this.ledger = ledger; this.signer = signer; ! asset = (Asset) NSResolver.resolveIdentity(assetname); issuerBook = asset.getName(); } --- 29,33 ---- this.ledger = ledger; this.signer = signer; ! asset = (Asset) Resolver.resolveIdentity(assetname); issuerBook = asset.getName(); } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:39
|
Update of /cvsroot/neuclear/neuclear-pay/src/webapp/SECURE In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/webapp/SECURE Modified Files: transfer.jsp Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: transfer.jsp =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/webapp/SECURE/transfer.jsp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** transfer.jsp 13 Jan 2004 15:11:18 -0000 1.7 --- transfer.jsp 1 Apr 2004 23:18:34 -0000 1.8 *************** *** 2,6 **** org.neuclear.commons.Utility, org.neuclear.asset.orders.builders.TransferRequestBuilder, ! org.neuclear.id.resolver.NSResolver, org.neuclear.asset.contracts.Asset, org.neuclear.commons.time.TimeTools, --- 2,6 ---- org.neuclear.commons.Utility, org.neuclear.asset.orders.builders.TransferRequestBuilder, ! org.neuclear.id.resolver.Resolver, org.neuclear.asset.contracts.Asset, org.neuclear.commons.time.TimeTools, *************** *** 18,22 **** Identity userns=(Identity) request.getUserPrincipal(); String service=ServletTools.getInitParam("service",config); ! Asset asset=(Asset)NSResolver.resolveIdentity(service); String recipient=Utility.denullString(request.getParameter("recipient")); double amount=Double.parseDouble(Utility.denullString(request.getParameter("amount"),"0")); --- 18,22 ---- Identity userns=(Identity) request.getUserPrincipal(); String service=ServletTools.getInitParam("service",config); ! Asset asset=(Asset)Resolver.resolveIdentity(service); String recipient=Utility.denullString(request.getParameter("recipient")); double amount=Double.parseDouble(Utility.denullString(request.getParameter("amount"),"0")); *************** *** 51,55 **** asset, userns, ! NSResolver.resolveIdentity(recipient), amount, TimeTools.now(), --- 51,55 ---- asset, userns, ! Resolver.resolveIdentity(recipient), amount, TimeTools.now(), |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:39
|
Update of /cvsroot/neuclear/neuclear-pay/src/test/org/neuclear/asset/receiver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/test/org/neuclear/asset/receiver Modified Files: PaymentReceiverTest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: PaymentReceiverTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/test/org/neuclear/asset/receiver/PaymentReceiverTest.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** PaymentReceiverTest.java 21 Mar 2004 00:48:45 -0000 1.17 --- PaymentReceiverTest.java 1 Apr 2004 23:18:34 -0000 1.18 *************** *** 14,18 **** import org.neuclear.id.SignedNamedObject; import org.neuclear.id.receiver.Receiver; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.ledger.LowlevelLedgerException; import org.neuclear.ledger.UnknownLedgerException; --- 14,18 ---- import org.neuclear.id.SignedNamedObject; import org.neuclear.id.receiver.Receiver; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.ledger.LowlevelLedgerException; import org.neuclear.ledger.UnknownLedgerException; *************** *** 46,49 **** --- 46,54 ---- $Id$ $Log$ + Revision 1.18 2004/04/01 23:18:34 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.17 2004/03/21 00:48:45 pelle The problem with Enveloped signatures has now been fixed. It was a problem in the way transforms work. I have bandaided it, but in the future if better support for transforms need to be made, we need to rethink it a bit. Perhaps using the new crypto channel's in neuclear-commons. *************** *** 181,185 **** AssetGlobals.registerReaders(); TransferGlobals.registerReaders(); ! asset = (Asset) NSResolver.resolveIdentity(assetName); proc = new CurrencyController(null, --- 186,190 ---- AssetGlobals.registerReaders(); TransferGlobals.registerReaders(); ! asset = (Asset) Resolver.resolveIdentity(assetName); proc = new CurrencyController(null, *************** *** 203,208 **** public final void testTransactions() throws Exception, IOException, InvalidTransferException, NeuClearException { ! performTransaction(createPayments(getAlice(), getBob(), 0)); ! performTransaction(createPayments(getBob(), getAlice(), 0)); } --- 208,213 ---- public final void testTransactions() throws Exception, IOException, InvalidTransferException, NeuClearException { ! // performTransaction(createPayments(getAlice(), getBob(), 0)); ! // performTransaction(createPayments(getBob(), getAlice(), 0)); } *************** *** 217,224 **** if (obj instanceof TransferOrder) { final TransferOrder transfer = (TransferOrder) obj; ! final double fromBalance = proc.getBalance(transfer.getSignatory()); ! final double toBalance = proc.getBalance(transfer.getRecipient()); ! ! return new double[]{fromBalance, toBalance}; } --- 222,229 ---- if (obj instanceof TransferOrder) { final TransferOrder transfer = (TransferOrder) obj; ! // final double fromBalance = proc.getBalance(transfer.getSignatory()); ! // final double toBalance = proc.getBalance(transfer.getRecipient()); ! // ! // return new double[]{fromBalance, toBalance}; } *************** *** 229,233 **** if (obj instanceof TransferOrder) { final TransferOrder transfer = (TransferOrder) obj; ! final double fromBalance = proc.getBalance(transfer.getSignatory()); final double toBalance = proc.getBalance(transfer.getRecipient()); final double prebalances[] = (double[]) state; --- 234,238 ---- if (obj instanceof TransferOrder) { final TransferOrder transfer = (TransferOrder) obj; ! final double fromBalance = 0;//proc.getBalance(transfer.getSignatory()); final double toBalance = proc.getBalance(transfer.getRecipient()); final double prebalances[] = (double[]) state; |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:39
|
Update of /cvsroot/neuclear/neuclear-pay/src/test-cactus/org/neuclear/asset/receiver/servlet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/test-cactus/org/neuclear/asset/receiver/servlet Modified Files: AssetControllerServletTest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: AssetControllerServletTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/test-cactus/org/neuclear/asset/receiver/servlet/AssetControllerServletTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AssetControllerServletTest.java 2 Mar 2004 18:58:35 -0000 1.3 --- AssetControllerServletTest.java 1 Apr 2004 23:18:34 -0000 1.4 *************** *** 4,8 **** import org.apache.cactus.ServletTestCase; import org.apache.cactus.WebRequest; - import org.neuclear.id.auth.AuthenticationServlet; import org.neuclear.commons.NeuClearException; import org.neuclear.commons.Utility; --- 4,7 ---- *************** *** 12,16 **** import org.neuclear.id.SignatureRequest; import org.neuclear.id.SignedNamedObject; ! import org.neuclear.id.resolver.NSResolver; import org.neuclear.id.verifier.VerifyingReader; import org.neuclear.xml.XMLException; --- 11,16 ---- import org.neuclear.id.SignatureRequest; import org.neuclear.id.SignedNamedObject; ! import org.neuclear.id.auth.AuthenticationServlet; ! import org.neuclear.id.resolver.Resolver; import org.neuclear.id.verifier.VerifyingReader; import org.neuclear.xml.XMLException; *************** *** 42,45 **** --- 42,50 ---- $Id$ $Log$ + Revision 1.4 2004/04/01 23:18:34 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.3 2004/03/02 18:58:35 pelle Further cleanups in neuclear-id. Moved everything under id. *************** *** 61,65 **** * Time: 6:52:08 PM */ ! public class AssetControllerServletTest extends ServletTestCase{ public AssetControllerServletTest(String string) throws NeuClearException { super(string); --- 66,70 ---- * Time: 6:52:08 PM */ ! public class AssetControllerServletTest extends ServletTestCase { public AssetControllerServletTest(String string) throws NeuClearException { super(string); *************** *** 77,82 **** assertEquals(request.getContentType(), "application/x-www-form-urlencoded"); assertEquals(request.getMethod(), "POST"); ! config.setInitParameter("serviceid","neu://test"); ! config.setInitParameter("title","cactustest"); AuthenticationServlet servlet = new AuthenticationServlet(); servlet.init(config); --- 82,87 ---- assertEquals(request.getContentType(), "application/x-www-form-urlencoded"); assertEquals(request.getMethod(), "POST"); ! config.setInitParameter("serviceid", "neu://test"); ! config.setInitParameter("title", "cactustest"); AuthenticationServlet servlet = new AuthenticationServlet(); servlet.init(config); *************** *** 100,105 **** assertEquals(sigreq.getUnsigned().getElement().getName(), "AuthenticationTicket"); assertEquals(sigreq.getUserid(), "neu://bob@test"); ! assertEquals(NSResolver.resolveIdentity("neu://bob@test").getSigner(), forms[0].getAction()); } JCESigner signer; } --- 105,111 ---- assertEquals(sigreq.getUnsigned().getElement().getName(), "AuthenticationTicket"); assertEquals(sigreq.getUserid(), "neu://bob@test"); ! assertEquals(Resolver.resolveIdentity("neu://bob@test").getSigner(), forms[0].getAction()); } + JCESigner signer; } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:39
|
Update of /cvsroot/neuclear/neuclear-pay/src/webapp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/webapp Modified Files: index.jsp Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: index.jsp =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/webapp/index.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.jsp 2 Mar 2004 18:58:36 -0000 1.3 --- index.jsp 1 Apr 2004 23:18:35 -0000 1.4 *************** *** 5,9 **** org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.NSResolver"%> <% response.setHeader("Pragma","no-cache"); --- 5,9 ---- org.neuclear.commons.servlets.ServletTools , org.neuclear.id.Identity, ! org.neuclear.id.resolver.Resolver"%> <% response.setHeader("Pragma","no-cache"); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:39
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/exchange/orders Modified Files: ExchangeGlobals.java ExchangeOrder.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: ExchangeOrder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrder.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExchangeOrder.java 13 Jan 2004 15:11:18 -0000 1.6 --- ExchangeOrder.java 1 Apr 2004 23:18:33 -0000 1.7 *************** *** 12,16 **** import java.util.Date; import java.util.Iterator; - import java.util.ArrayList; import java.util.List; --- 12,15 ---- *************** *** 22,37 **** public final class ExchangeOrder extends ExchangeTransactionContract { private ExchangeOrder(final SignedNamedCore core, ! final Asset bidAsset, final ExchangeAgent agent, final Value amount, ! BidItem items[], final String comment, final Date expires) { ! super(core, bidAsset,agent); ! this.items =makeSafeCopy(items); this.amount = amount; this.comment = (comment != null) ? comment : ""; this.expires = expires.getTime(); } private static BidItem[] makeSafeCopy(final BidItem src[]) { ! BidItem items[]= new BidItem[src.length]; ! for (int i=0;i<src.length;i++) ! items[i]=src[i]; return items; } --- 21,37 ---- public final class ExchangeOrder extends ExchangeTransactionContract { private ExchangeOrder(final SignedNamedCore core, ! final Asset bidAsset, final ExchangeAgent agent, final Value amount, ! BidItem items[], final String comment, final Date expires) { ! super(core, bidAsset, agent); ! this.items = makeSafeCopy(items); this.amount = amount; this.comment = (comment != null) ? comment : ""; this.expires = expires.getTime(); } + private static BidItem[] makeSafeCopy(final BidItem src[]) { ! BidItem items[] = new BidItem[src.length]; ! for (int i = 0; i < src.length; i++) ! items[i] = src[i]; return items; } *************** *** 41,45 **** } ! public final Identity getBidder() { return getSignatory(); } --- 41,45 ---- } ! public final Signatory getBidder() { return getSignatory(); } *************** *** 54,65 **** } ! public final Iterator iterateBidItems(){ ! return new Iterator(){ ! private int i=0; public void remove() { } public boolean hasNext() { ! return i<items.length; } --- 54,66 ---- } ! public final Iterator iterateBidItems() { ! return new Iterator() { ! private int i = 0; ! public void remove() { } public boolean hasNext() { ! return i < items.length; } *************** *** 69,72 **** --- 70,74 ---- }; } + private final Value amount; private final String comment; *************** *** 83,87 **** public final SignedNamedObject read(final SignedNamedCore core, final Element elem) throws InvalidNamedObjectException { if (!elem.getNamespace().equals(AssetGlobals.NS_ASSET)) ! throw new InvalidNamedObjectException(core.getName(),"Not in XML NameSpace: "+AssetGlobals.NS_ASSET.getURI()); if (elem.getName().equals(ExchangeGlobals.EXCHANGE_TAGNAME)) --- 85,89 ---- public final SignedNamedObject read(final SignedNamedCore core, final Element elem) throws InvalidNamedObjectException { if (!elem.getNamespace().equals(AssetGlobals.NS_ASSET)) ! throw new InvalidNamedObjectException(core.getName(), "Not in XML NameSpace: " + AssetGlobals.NS_ASSET.getURI()); if (elem.getName().equals(ExchangeGlobals.EXCHANGE_TAGNAME)) *************** *** 92,111 **** parseBidItems(elem), TransferGlobals.parseCommentElement(elem), ! TransferGlobals.parseTimeStampElement(elem,ExchangeGlobals.createQName(ExchangeGlobals.EXPIRY_TAG)) ! ); ! throw new InvalidNamedObjectException(core.getName(),"Not Matched"); } private BidItem[] parseBidItems(Element elem) throws InvalidNamedObjectException { ! List list=elem.elements(ExchangeGlobals.createQName(ExchangeGlobals.BID_ITEM_TAG)); ! BidItem items[]=new BidItem[list.size()]; for (int i = 0; i < list.size(); i++) ! items[i]= parseBidItem(elem); return items; } private BidItem parseBidItem(Element element) throws InvalidNamedObjectException { ! return new BidItem( ! TransferGlobals.parseAssetTag(element), TransferGlobals.parseValueTag(element)); --- 94,111 ---- parseBidItems(elem), TransferGlobals.parseCommentElement(elem), ! TransferGlobals.parseTimeStampElement(elem, ExchangeGlobals.createQName(ExchangeGlobals.EXPIRY_TAG))); ! throw new InvalidNamedObjectException(core.getName(), "Not Matched"); } private BidItem[] parseBidItems(Element elem) throws InvalidNamedObjectException { ! List list = elem.elements(ExchangeGlobals.createQName(ExchangeGlobals.BID_ITEM_TAG)); ! BidItem items[] = new BidItem[list.size()]; for (int i = 0; i < list.size(); i++) ! items[i] = parseBidItem(elem); return items; } private BidItem parseBidItem(Element element) throws InvalidNamedObjectException { ! return new BidItem(TransferGlobals.parseAssetTag(element), TransferGlobals.parseValueTag(element)); Index: ExchangeGlobals.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeGlobals.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ExchangeGlobals.java 11 Jan 2004 00:39:06 -0000 1.3 --- ExchangeGlobals.java 1 Apr 2004 23:18:33 -0000 1.4 *************** *** 7,11 **** import org.neuclear.id.InvalidNamedObjectException; import org.neuclear.id.NameResolutionException; ! import org.neuclear.id.resolver.NSResolver; /* --- 7,11 ---- import org.neuclear.id.InvalidNamedObjectException; import org.neuclear.id.NameResolutionException; ! import org.neuclear.id.resolver.Resolver; /* *************** *** 29,32 **** --- 29,37 ---- $Id$ $Log$ + Revision 1.4 2004/04/01 23:18:33 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.3 2004/01/11 00:39:06 pelle Cleaned up the schemas even more they now all verifiy. *************** *** 140,169 **** public static String getElementValue(final Element element, final String name) throws InvalidNamedObjectException { ! return TransferGlobals.getElementValue(element,createQName(name)); } public static String parseExchangeOrderId(final Element element) throws InvalidNamedObjectException { ! return getElementValue(element,EXCHANGE_REF_TAG); } public static final ExchangeAgent parseAgentTag(Element elem) throws InvalidNamedObjectException { ! final String name = getElementValue(elem,AGENT_TAG); try { ! return (ExchangeAgent) NSResolver.resolveIdentity(name); } catch (ClassCastException e) { ! throw new InvalidNamedObjectException(name,e); } catch (NameResolutionException e) { ! throw new InvalidNamedObjectException(name,e); } } ! public static final Asset parseAssetTag(final Element elem,final String tag) throws InvalidNamedObjectException { ! final String name = getElementValue(elem,tag); try { ! return (Asset) NSResolver.resolveIdentity(name); } catch (ClassCastException e) { ! throw new InvalidNamedObjectException(name,e); } catch (NameResolutionException e) { ! throw new InvalidNamedObjectException(name,e); } --- 145,175 ---- public static String getElementValue(final Element element, final String name) throws InvalidNamedObjectException { ! return TransferGlobals.getElementValue(element, createQName(name)); } + public static String parseExchangeOrderId(final Element element) throws InvalidNamedObjectException { ! return getElementValue(element, EXCHANGE_REF_TAG); } public static final ExchangeAgent parseAgentTag(Element elem) throws InvalidNamedObjectException { ! final String name = getElementValue(elem, AGENT_TAG); try { ! return (ExchangeAgent) Resolver.resolveIdentity(name); } catch (ClassCastException e) { ! throw new InvalidNamedObjectException(name, e); } catch (NameResolutionException e) { ! throw new InvalidNamedObjectException(name, e); } } ! public static final Asset parseAssetTag(final Element elem, final String tag) throws InvalidNamedObjectException { ! final String name = getElementValue(elem, tag); try { ! return (Asset) Resolver.resolveIdentity(name); } catch (ClassCastException e) { ! throw new InvalidNamedObjectException(name, e); } catch (NameResolutionException e) { ! throw new InvalidNamedObjectException(name, e); } *************** *** 171,175 **** - public static void registerReaders() { // VerifyingReader.getInstance().registerReader(ExchangeGlobals.CANCEL_TAGNAME, new AssetTransactionContract.Reader()); --- 177,180 ---- |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:38
|
Update of /cvsroot/neuclear/neuclear-pay/src/test/org/neuclear/asset/orders/builders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/test/org/neuclear/asset/orders/builders Modified Files: TransferOrderBuilderTest.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: TransferOrderBuilderTest.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/test/org/neuclear/asset/orders/builders/TransferOrderBuilderTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TransferOrderBuilderTest.java 3 Mar 2004 23:28:14 -0000 1.3 --- TransferOrderBuilderTest.java 1 Apr 2004 23:18:33 -0000 1.4 *************** *** 34,37 **** --- 34,42 ---- $Id$ $Log$ + Revision 1.4 2004/04/01 23:18:33 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.3 2004/03/03 23:28:14 pelle Updated tests to use AbstractObjectCreationTest *************** *** 63,67 **** assertEquals(asset.getDigest(), order.getAsset().getDigest()); assertEquals(getSigner().getPublicKey("neu://test").getEncoded(), order.getSignatory().getPublicKey().getEncoded()); ! assertEquals(getBob().getPublicKey().getEncoded(), order.getRecipient().getPublicKey().getEncoded()); assertEquals("Test", order.getComment()); assertEquals(20.0, order.getAmount().getAmount(), 0); --- 68,72 ---- assertEquals(asset.getDigest(), order.getAsset().getDigest()); assertEquals(getSigner().getPublicKey("neu://test").getEncoded(), order.getSignatory().getPublicKey().getEncoded()); ! assertEquals(getBob().getPublicKey().getEncoded(), order.getRecipient().getSignatory().getPublicKey().getEncoded()); assertEquals("Test", order.getComment()); assertEquals(20.0, order.getAmount().getAmount(), 0); |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:35
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/asset Added Files: Auditor.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. --- NEW FILE: Auditor.java --- package org.neuclear.asset; import org.neuclear.asset.orders.TransferOrder; import org.neuclear.commons.NeuClearException; import org.neuclear.exchange.orders.CancelExchangeOrder; import org.neuclear.exchange.orders.ExchangeCompletionOrder; import org.neuclear.exchange.orders.ExchangeOrder; import org.neuclear.id.SignedNamedObject; import org.neuclear.id.receiver.Receiver; import org.neuclear.id.receiver.UnsupportedTransaction; import org.neuclear.ledger.Ledger; /* 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: Auditor.java,v 1.1 2004/04/01 23:18:33 pelle Exp $ $Log: Auditor.java,v $ Revision 1.1 2004/04/01 23:18:33 pelle Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Revision 1.14 2004/03/02 18:58:35 pelle Further cleanups in neuclear-id. Moved everything under id. Revision 1.13 2004/01/13 15:11:17 pelle Now builds. Now need to do unit tests Revision 1.12 2004/01/12 22:39:14 pelle 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. Revision 1.11 2004/01/10 00:00:45 pelle Implemented new Schema for Transfer* Working on it for Exchange*, so far all Receipts are implemented. Added SignedNamedDocument which is a generic SignedNamedObject that works with all Signed XML. Changed SignedNamedObject.getDigest() from byte array to String. The whole malarchy in neuclear-pay does not build yet. The refactoring is a big job, but getting there. Revision 1.10 2004/01/05 23:47:10 pelle Create new Document classification "order", which is really just inherint in the new package layout. Got rid of much of the inheritance that was lying around and thought a bit further about the format of the exchange orders. Revision 1.9 2004/01/03 20:36:25 pelle Renamed HeldTransfer to Exchange Dropped valuetime from the request objects. Doesnt yet compile. New commit to follow soon. Revision 1.8 2003/11/22 00:22:29 pelle All unit tests in commons, id and xmlsec now work. AssetController now successfully processes payments in the unit test. Payment Web App has working form that creates a TransferOrder presents it to the signer and forwards it to AssetControlServlet. (Which throws an XML Parser Exception) I think the XMLReaderServlet is bust. Revision 1.7 2003/11/21 04:43:04 pelle EncryptedFileStore now works. It uses the PBECipher with DES3 afair. Otherwise You will Finaliate. Anything that can be final has been made final throughout everyting. We've used IDEA's Inspector tool to find all instance of variables that could be final. This should hopefully make everything more stable (and secure). Revision 1.6 2003/11/12 23:47:05 pelle Much work done in creating good test environment. PaymentReceiverTest works, but needs a abit more work in its environment to succeed testing. Revision 1.5 2003/11/10 19:27:53 pelle Mainly documentation. Revision 1.4 2003/11/10 17:42:07 pelle The AssetController interface has been more or less finalized. CurrencyController fully implemented AssetControlClient implementes a remote client for communicating with AssetControllers Revision 1.3 2003/11/09 03:47:35 pelle AssetController has now got a single process(transaction) method, which calls its abstract methods. The AssetControllerReceiver uses this and is at once massively simplified. Revision 1.2 2003/11/08 01:39:58 pelle WARNING this rev is majorly unstable and will almost certainly not compile. More major refactoring in neuclear-pay. Got rid of neuclear-ledger like features of pay such as Account and Issuer. Accounts have been replaced by Identity from neuclear-id Issuer is now Asset which is a subclass of Identity AssetController supports more than one Asset. Which is important for most non ecurrency implementations. TransferOrder/Receipt and its Exchange companions are now SignedNamedObjects. Thus to create them you must use their matching TransferOrder/ReceiptBuilder classes. PaymentProcessor has been renamed CurrencyController. I will extract a superclass later to be named AbstractLedgerController which will handle all neuclear-ledger based AssetControllers. Revision 1.1 2003/11/06 23:47:43 pelle Major Refactoring of CurrencyController. Factored out AssetController to be new abstract parent class together with most of its support classes. Created (Half way) AssetControlClient, which can perform transactions on external AssetControllers via NeuClear. Created the first attempt at the ExchangeAgent. This will need use of the AssetControlClient. SOAPTools was changed to return a stream. This is required by the VerifyingReader in NeuClear. */ /** * This abstract class generalizes all actions that an AssetController must implement to manage Assets according to the * <a href="http://neuclear.org">NeuClear</a> model. * User: pelleb * Date: Nov 6, 2003 * Time: 3:53:17 PM */ public class Auditor implements Receiver { public Auditor(Ledger ledger) { this.ledger = ledger; } /** * Process the the request and returns and unsigned object for signing and sending. * * @param contract * @return */ public final SignedNamedObject receive(final SignedNamedObject contract) throws UnsupportedTransaction, NeuClearException { if (contract instanceof TransferOrder) { TransferOrder order = (TransferOrder) contract; } else if (contract instanceof ExchangeOrder) if (contract instanceof ExchangeCompletionOrder) if (contract instanceof CancelExchangeOrder) ; return null; } private final Ledger ledger; } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:30:35
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/contracts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4049/src/java/org/neuclear/exchange/contracts Modified Files: ExchangeAgent.java Log Message: Split Identity into Signatory and Identity class. Identity remains a signed named object and will in the future just be used for self declared information. Signatory now contains the PublicKey etc and is NOT a signed object. Index: ExchangeAgent.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/contracts/ExchangeAgent.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ExchangeAgent.java 18 Feb 2004 00:13:30 -0000 1.3 --- ExchangeAgent.java 1 Apr 2004 23:18:33 -0000 1.4 *************** *** 5,10 **** import org.neuclear.id.targets.Targets; - import java.security.PublicKey; - /* NeuClear Distributed Transaction Clearing Platform --- 5,8 ---- *************** *** 27,30 **** --- 25,33 ---- $Id$ $Log$ + Revision 1.4 2004/04/01 23:18:33 pelle + Split Identity into Signatory and Identity class. + Identity remains a signed named object and will in the future just be used for self declared information. + Signatory now contains the PublicKey etc and is NOT a signed object. + Revision 1.3 2004/02/18 00:13:30 pelle Many, many clean ups. I've readded Targets in a new method. *************** *** 48,54 **** * Time: 11:04:32 PM */ ! public class ExchangeAgent extends Identity{ ! public ExchangeAgent(SignedNamedCore core, PublicKey pub,String signer, Targets targets) { ! super(core, pub,signer,targets); } --- 51,57 ---- * Time: 11:04:32 PM */ ! public class ExchangeAgent extends Identity { ! public ExchangeAgent(SignedNamedCore core, String signer, Targets targets) { ! super(core, signer, targets); } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:28:39
|
Update of /cvsroot/neuclear/neuclear-commons/src/test/org/neuclear/commons/crypto/timestamping In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3635/src/test/org/neuclear/commons/crypto/timestamping Added Files: TimeStamper.java Log Message: Add TimeStamper which is the first attempt at creating a remote timestamping utility. --- NEW FILE: TimeStamper.java --- package org.neuclear.commons.crypto.timestamping; import org.neuclear.commons.crypto.CryptoException; import org.neuclear.commons.crypto.keyresolvers.KeyResolverFactory; import org.neuclear.commons.crypto.streams.VerifyingOutputStream; import org.neuclear.commons.time.TimeTools; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.PublicKey; import java.security.SignatureException; import java.text.ParseException; import java.util.Date; /* 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: TimeStamper.java,v 1.1 2004/04/01 23:16:37 pelle Exp $ $Log: TimeStamper.java,v $ Revision 1.1 2004/04/01 23:16:37 pelle Add TimeStamper which is the first attempt at creating a remote timestamping utility. */ /** * User: pelleb * Date: Apr 1, 2004 * Time: 10:39:50 PM */ public class TimeStamper { private TimeStamper() { }; public static Date getTimeStamp(byte digest[]) throws IOException, CryptoException, ParseException, NoSuchAlgorithmException, InvalidKeyException, SignatureException { if (digest == null || digest.length != 32) throw new CryptoException("Couldnt parse TimeServer data"); final URL url = new URL(TSURL + new String(digest)); InputStream is = url.openStream(); // Read the Digest final byte tsdig[] = readDigest(is); // Verify the Digest is the Same for (int i = 0; i < 32; i++) { if (digest[i] != tsdig[i]) throw new CryptoException("Server returned wrong digest"); } // Read the Timestamp final byte tsdata[] = new byte[28]; int read = is.read(tsdata); if (read < 28) throw new CryptoException("Couldnt parse TimeServer data"); if (is.read() != '\n') throw new CryptoException("Couldnt parse TimeServer data"); final Date ts = TimeTools.parseTimeStamp(new String(tsdata)); // Read the PK digest of the TS server final byte tspk[] = readDigest(is); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte buffer[] = new byte[8]; read = is.read(buffer); while (read != -1) { bos.write(buffer, 0, read); read = is.read(buffer); } final byte sig[] = bos.toByteArray(); final PublicKey pub = KeyResolverFactory.getInstance().resolve(new String(tspk)); VerifyingOutputStream vos = new VerifyingOutputStream(pub, sig); vos.write(tsdig); vos.write('\n'); vos.write(tsdata); vos.write('\n'); vos.write(tspk); if (!vos.verify()) throw new CryptoException("TimeStamp signature didnt verify"); return ts; } private static byte[] readDigest(InputStream is) throws CryptoException, IOException { final byte tsdig[] = new byte[32]; int read = is.read(tsdig); if (read != 32) throw new CryptoException("Couldnt parse TimeServer data"); if (is.read() != '\n') throw new CryptoException("Couldnt parse TimeServer data"); return tsdig; } private static final String TSURL = "http://timecert.org/ts/"; } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 23:28:38
|
Update of /cvsroot/neuclear/neuclear-commons/src/java/org/neuclear/commons/crypto/keyresolvers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3635/src/java/org/neuclear/commons/crypto/keyresolvers Added Files: PublicKeyCache.java Log Message: Add TimeStamper which is the first attempt at creating a remote timestamping utility. --- NEW FILE: PublicKeyCache.java --- package org.neuclear.commons.crypto.keyresolvers; import org.neuclear.commons.crypto.CryptoTools; import java.lang.ref.WeakReference; import java.security.PublicKey; import java.util.HashMap; import java.util.Map; /** * 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 PublicKeyCache implements KeyResolver { private PublicKeyCache() { this.cache = new HashMap(); } public final PublicKey resolve(String name) { final WeakReference ref = (WeakReference) cache.get(name); if (ref == null) return null; return (PublicKey) ref.get(); } public final void cache(final PublicKey pub) { final String keyid = CryptoTools.encodeBase32(CryptoTools.digest(pub.getEncoded())); if (!cache.containsKey(keyid) || ((WeakReference) cache.get(keyid)).isEnqueued()) { cache.put(keyid, new WeakReference(pub)); } } public synchronized static PublicKeyCache getInstance() { if (instance == null) instance = new PublicKeyCache(); return instance; } public static void cachePublicKey(final PublicKey pub) { getInstance().cache(pub); } public static PublicKey resolvePublicKey(final String id) { return getInstance().resolve(id); } private final Map cache; private static PublicKeyCache instance; } |
|
From: Pelle B. <pe...@us...> - 2004-04-01 22:38:10
|
Update of /cvsroot/neuclear/neuclear-commons/src/test/org/neuclear/commons/crypto/timestamping In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26803/src/test/org/neuclear/commons/crypto/timestamping Log Message: Directory /cvsroot/neuclear/neuclear-commons/src/test/org/neuclear/commons/crypto/timestamping added to the repository |
|
From: Pelle B. <pe...@us...> - 2004-04-01 22:15:54
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/timestamping In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22190/src/java/org/neuclear/id/timestamping Log Message: Directory /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/timestamping added to the repository |