|
From: <pe...@us...> - 2004-01-16 23:42:13
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv8224/src/test/org/neuclear/id
Added Files:
IdentityTests.java
Removed Files:
IdentityCreationTest.java NameSpaceTest.java
Log Message:
Added Base32 class. The Base32 encoding used wasnt following the standards.
Added user creatable Identity for Public Keys
--- NEW FILE: IdentityTests.java ---
package org.neuclear.id;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.crypto.CryptoException;
import org.neuclear.commons.crypto.CryptoTools;
import org.neuclear.id.builders.IdentityBuilder;
import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.verifier.VerifyingReader;
import org.neuclear.tests.AbstractObjectCreationTest;
import org.neuclear.xml.xmlsec.XMLSecurityException;
import org.neuclear.xml.xmlsec.XMLSignature;
import java.security.GeneralSecurityException;
import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Dec 16, 2003
* Time: 9:29:02 AM
* To change this template use Options | File Templates.
*/
public class IdentityTests extends AbstractObjectCreationTest {
private static final String NAME = "neu://alice@test";
private static final String REPOSITORY = "http://repository.neuclear.org";
private static final String SIGNER = "http://localhost:11870/Signer";
private static final String LOGGER = "http://logger.neuclear.org";
private static final String RECEIVER = "mailto:pe...@ne...";
public IdentityTests(String string) throws NeuClearException, GeneralSecurityException {
super(string);
}
protected void verifyObject(SignedNamedObject obj) {
assertTrue(obj instanceof Identity);
Identity id=(Identity) obj;
// assertEquals(id.getLogger(),LOGGER);
assertEquals(id.getName(),NAME);
assertEquals(id.getRepository(),REPOSITORY);
assertEquals(id.getSigner(),SIGNER);
// assertEquals(id.getReceiver(),RECEIVER);
assertNotNull(id.getPublicKey());
}
protected NamedObjectBuilder createBuilder() throws NeuClearException {
return new IdentityBuilder(NAME,getSigner().getPublicKey(NAME),REPOSITORY,SIGNER,LOGGER,RECEIVER);
}
public void testAnonymous() throws NoSuchAlgorithmException {
KeyPair kp=CryptoTools.createTinyKeyPair();
Identity id=new Identity(kp.getPublic());
assertNotNull(id);
assertNotNull(id.getName());
assertEquals("neu:sha1://",id.getName().substring(0,11));
assertEquals(CryptoTools.encodeBase32(CryptoTools.digest(kp.getPublic().getEncoded())),id.getName().substring(11));
assertEquals(kp.getPublic(),id.getPublicKey());
}
public void testEmbedded() throws NoSuchAlgorithmException, XMLSecurityException, CryptoException, NameResolutionException, InvalidNamedObjectException{
KeyPair kp=CryptoTools.createTinyKeyPair();
Document doc=DocumentHelper.createDocument();
Element elem=doc.addElement("TestElement");
XMLSignature sig=new XMLSignature(kp,elem);
assertEquals(kp.getPublic(),sig.getSignersKey());
SignedNamedObject obj=VerifyingReader.getInstance().read(elem);
System.out.println("Name: "+obj.getName());
assertEquals("neu:sha1://",obj.getName().substring(0,11));
assertEquals(CryptoTools.encodeBase32(CryptoTools.digest(kp.getPublic().getEncoded())),obj.getName().substring(11,43));
assertEquals(CryptoTools.encodeBase32(CryptoTools.digest(obj.getEncoded().getBytes())),obj.getName().substring(obj.getName().length()-32));
Identity id=obj.getSignatory();
assertNotNull(id);
assertNotNull(id.getName());
assertEquals("neu:sha1://",id.getName().substring(0,11));
assertEquals(CryptoTools.encodeBase32(CryptoTools.digest(kp.getPublic().getEncoded())),id.getName().substring(11));
assertEquals(kp.getPublic(),id.getPublicKey());
}
}
--- IdentityCreationTest.java DELETED ---
--- NameSpaceTest.java DELETED ---
|