|
From: <pe...@us...> - 2003-11-19 23:34:43
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/jce
In directory sc8-pr-cvs1:/tmp/cvs-serv12836/src/test/org/neuclear/id/jce
Modified Files:
NeuClearJCETest.java
Log Message:
Signers now can generatekeys via the generateKey() method.
Refactored the relationship between SignedNamedObject and NamedObjectBuilder a bit.
SignedNamedObject now contains the full xml which is returned with getEncoded()
This means that it is now possible to further send on or process a SignedNamedObject, leaving
NamedObjectBuilder for its original purposes of purely generating new Contracts.
NamedObjectBuilder.sign() now returns a SignedNamedObject which is the prefered way of processing it.
Updated all major interfaces that used the old model to use the new model.
Index: NeuClearJCETest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/jce/NeuClearJCETest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** NeuClearJCETest.java 18 Nov 2003 15:07:37 -0000 1.2
--- NeuClearJCETest.java 19 Nov 2003 23:34:00 -0000 1.3
***************
*** 1,22 ****
package org.neuclear.id.jce;
- import junit.framework.TestCase;
-
- import java.security.*;
- import java.security.cert.Certificate;
- import java.security.cert.CertificateFactory;
- import java.security.cert.CertificateException;
-
- import org.neuclear.tests.AbstractSigningTest;
import org.neuclear.commons.NeuClearException;
- import org.neuclear.commons.crypto.CryptoException;
import org.neuclear.commons.crypto.passphraseagents.AlwaysTheSamePassphraseAgent;
import org.neuclear.commons.crypto.signers.JCESigner;
import org.neuclear.id.Identity;
- import org.neuclear.id.builders.IdentityBuilder;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
! import org.neuclear.xml.xmlsec.XMLSecurityException;
import org.neuclear.xml.XMLException;
/*
NeuClear Distributed Transaction Clearing Platform
--- 1,18 ----
package org.neuclear.id.jce;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.crypto.passphraseagents.AlwaysTheSamePassphraseAgent;
import org.neuclear.commons.crypto.signers.JCESigner;
import org.neuclear.id.Identity;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
! import org.neuclear.id.builders.IdentityBuilder;
! import org.neuclear.tests.AbstractSigningTest;
import org.neuclear.xml.XMLException;
+ import java.security.*;
+ import java.security.cert.Certificate;
+ import java.security.cert.CertificateException;
+ import java.security.cert.CertificateFactory;
+
/*
NeuClear Distributed Transaction Clearing Platform
***************
*** 39,42 ****
--- 35,47 ----
$Id$
$Log$
+ Revision 1.3 2003/11/19 23:34:00 pelle
+ Signers now can generatekeys via the generateKey() method.
+ Refactored the relationship between SignedNamedObject and NamedObjectBuilder a bit.
+ SignedNamedObject now contains the full xml which is returned with getEncoded()
+ This means that it is now possible to further send on or process a SignedNamedObject, leaving
+ NamedObjectBuilder for its original purposes of purely generating new Contracts.
+ NamedObjectBuilder.sign() now returns a SignedNamedObject which is the prefered way of processing it.
+ Updated all major interfaces that used the old model to use the new model.
+
Revision 1.2 2003/11/18 15:07:37 pelle
Changes to JCE Implementation
***************
*** 49,53 ****
/**
- *
* User: pelleb
* Date: Oct 1, 2003
--- 54,57 ----
***************
*** 66,93 ****
assertNotNull(Security.getProvider("NeuClear"));
}
public void testCertificateFactory() throws CertificateException {
assertNotNull(CertificateFactory.getInstance("NeuClear"));
}
public void testGetCertificate() throws NeuClearException, XMLException {
! IdentityBuilder id=new IdentityBuilder("neu://bob@test",signer.getPublicKey("neu://bob@test"));
! id.sign(signer);
! Identity bob=(Identity) id.verify();
! Certificate cert=bob.getCertificate();
assertNotNull(cert);
! assertEquals(cert.getPublicKey(),bob.getPublicKey());
}
public void testStoreKey() throws NeuClearException, XMLException, NoSuchProviderException, NoSuchAlgorithmException, KeyStoreException {
! KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA","BC");
! KeyStore ks=KeyStore.getInstance("jks","SUN");
kpg.initialize(512);
! KeyPair kp=kpg.generateKeyPair();
! JCESigner sig2=new JCESigner(ks,new AlwaysTheSamePassphraseAgent("neuclear"));
! IdentityBuilder id=new IdentityBuilder("neu://eve@test",kp.getPublic());
! id.sign(signer);
! Identity eve=(Identity) id.verify();
! ks.setKeyEntry("neu://eve@test",kp.getPrivate(),"neuclear".toCharArray(),eve.getCertificateChain());
! AuthenticationTicketBuilder authb=new AuthenticationTicketBuilder("neu://eve@test","neu://test","http://users.neuclear.org:8080");
authb.sign(sig2);
--- 70,99 ----
assertNotNull(Security.getProvider("NeuClear"));
}
+
public void testCertificateFactory() throws CertificateException {
assertNotNull(CertificateFactory.getInstance("NeuClear"));
}
+
public void testGetCertificate() throws NeuClearException, XMLException {
! IdentityBuilder id = new IdentityBuilder("neu://bob@test", signer.getPublicKey("neu://bob@test"));
! Identity bob = (Identity) id.sign(signer);
! Certificate cert = bob.getCertificate();
assertNotNull(cert);
! assertEquals(cert.getPublicKey(), bob.getPublicKey());
}
+
public void testStoreKey() throws NeuClearException, XMLException, NoSuchProviderException, NoSuchAlgorithmException, KeyStoreException {
! KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "BC");
! KeyStore ks = KeyStore.getInstance("jks", "SUN");
kpg.initialize(512);
! KeyPair kp = kpg.generateKeyPair();
! JCESigner sig2 = new JCESigner(ks, new AlwaysTheSamePassphraseAgent("neuclear"));
! IdentityBuilder id = new IdentityBuilder("neu://eve@test", kp.getPublic());
! Identity eve = (Identity) id.sign(signer);
! ks.setKeyEntry("neu://eve@test", kp.getPrivate(), "neuclear".toCharArray(), eve.getCertificateChain());
!
! AuthenticationTicketBuilder authb = new AuthenticationTicketBuilder("neu://eve@test", "neu://test", "http://users.neuclear.org:8080");
authb.sign(sig2);
|