|
From: <pe...@us...> - 2004-02-18 00:24:15
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29406/src/java/org/neuclear/id/tools/commandline Modified Files: BuildAllTopLevel.java CommandLineSigner.java IdentityCreator.java Log Message: Many, many clean ups. I've readded Targets in a new method. Gotten rid of NamedObjectBuilder and revamped Identity and Resolvers Index: BuildAllTopLevel.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline/BuildAllTopLevel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BuildAllTopLevel.java 16 Jan 2004 23:42:09 -0000 1.5 --- BuildAllTopLevel.java 18 Feb 2004 00:14:31 -0000 1.6 *************** *** 32,35 **** --- 32,39 ---- $Id$ $Log$ + Revision 1.6 2004/02/18 00:14:31 pelle + Many, many clean ups. I've readded Targets in a new method. + Gotten rid of NamedObjectBuilder and revamped Identity and Resolvers + Revision 1.5 2004/01/16 23:42:09 pelle Added Base32 class. The Base32 encoding used wasnt following the standards. *************** *** 82,94 **** public final class BuildAllTopLevel { public static SignedNamedObject createIdentities(final String name, final Signer signer, final PublicKeySource pubsource) throws NeuClearException, XMLException { ! final IdentityBuilder id = new IdentityBuilder( ! name, ! pubsource.getPublicKey(name), ! "http://repository.neuclear.org", ! "http://users.neuclear.org:8080/DemoSigner", ! "http://logger.neuclear.org", ! "mailto:pe...@ne..."); System.out.println("Signing: " + name); ! return id.sign(signer); } --- 86,92 ---- public final class BuildAllTopLevel { public static SignedNamedObject createIdentities(final String name, final Signer signer, final PublicKeySource pubsource) throws NeuClearException, XMLException { ! final IdentityBuilder id = new IdentityBuilder(pubsource.getPublicKey(name)); System.out.println("Signing: " + name); ! return id.convert(name,signer); } Index: CommandLineSigner.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline/CommandLineSigner.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CommandLineSigner.java 19 Jan 2004 23:49:44 -0000 1.8 --- CommandLineSigner.java 18 Feb 2004 00:14:31 -0000 1.9 *************** *** 1,4 **** --- 1,8 ---- /* $Id$ * $Log$ + * Revision 1.9 2004/02/18 00:14:31 pelle + * Many, many clean ups. I've readded Targets in a new method. + * Gotten rid of NamedObjectBuilder and revamped Identity and Resolvers + * * Revision 1.8 2004/01/19 23:49:44 pelle * Unit testing uncovered further issues with Base32 *************** *** 227,233 **** import org.neuclear.commons.time.TimeTools; import org.neuclear.id.Identity; ! import org.neuclear.id.InvalidNamedObjectException; ! import org.neuclear.id.NSTools; ! import org.neuclear.id.builders.NamedObjectBuilder; import org.neuclear.id.resolver.NSResolver; import org.neuclear.xml.XMLException; --- 231,235 ---- import org.neuclear.commons.time.TimeTools; import org.neuclear.id.Identity; ! import org.neuclear.id.builders.Builder; import org.neuclear.id.resolver.NSResolver; import org.neuclear.xml.XMLException; *************** *** 258,262 **** System.out.println("was signed at: " + TimeTools.formatTimeStamp(id.getTimeStamp())); System.out.println("Is of type: " + id.getClass().getName()); - System.out.println("repository: " + id.getRepository()); System.out.println("signer: " + id.getSigner()); } else { --- 260,263 ---- *************** *** 336,340 **** public final void execute() throws UserCancellationException { ! final NamedObjectBuilder subject = build(); try { --- 337,341 ---- public final void execute() throws UserCancellationException { ! final Builder subject = build(); try { *************** *** 358,366 **** XMLTools.writeFile(dest, subject.getElement()); System.out.println(); ! System.out.println("You now need to copy the file: "+of+ " to your webserver so it is visible at the following location:\n" + ! NSTools.getRepositoryURL(alias)+NSTools.name2path(subject.getName())+"/root.id"); ! System.out.println("\nOnce this is done you will be able to verify your new Identity like this:"); ! System.out.println(EXECUTABLE+" -v "+subject.getName()); /* We need to be able to send an unsigned object before I can enable this if (!sig.canSignFor(alias)) { --- 359,366 ---- XMLTools.writeFile(dest, subject.getElement()); System.out.println(); ! System.out.println("You now need to copy the file: "+of+ " to your webserver so it is visible at a given location"); ! // System.out.println("\nOnce this is done you will be able to verify your new Identity like this:"); ! // System.out.println(EXECUTABLE+" -v "+subject.getName()); /* We need to be able to send an unsigned object before I can enable this if (!sig.canSignFor(alias)) { *************** *** 378,383 **** } */ - } catch (InvalidNamedObjectException e) { - throw new LowLevelException(e); } catch (NonExistingSignerException e) { throw new LowLevelException(e); --- 378,381 ---- *************** *** 392,398 **** } ! protected NamedObjectBuilder build() throws UserCancellationException { final String sf = cmd.getOptionValue("i"); ! NamedObjectBuilder subject=null; try { InputStream source = System.in; --- 390,396 ---- } ! protected Builder build() throws UserCancellationException { final String sf = cmd.getOptionValue("i"); ! Builder subject=null; try { InputStream source = System.in; *************** *** 405,413 **** } final Document doc = XMLTools.loadDocument(source); ! subject = new NamedObjectBuilder(doc); - if (Utility.isEmpty(alias)) { - alias = Utility.denullString(NSTools.isHttpScheme(subject.getName()), NSTools.getSignatoryURI(subject.getName())); - } if (!sig.canSignFor(alias)) { System.err.println("You can not sign as " + alias + " with your current keystore."); --- 403,408 ---- } final Document doc = XMLTools.loadDocument(source); ! subject = new Builder(doc.getRootElement()); if (!sig.canSignFor(alias)) { System.err.println("You can not sign as " + alias + " with your current keystore."); *************** *** 417,421 **** System.out.println("You are about to sign the following Contract. Please make sure that is what you want."); System.out.println("Type: " + subject.getElement().getName()); - System.out.println("Proposed Name: " + subject.getName()); System.out.println("Raw XML:\n==================="); System.out.println(subject.asXML()); --- 412,415 ---- *************** *** 428,434 **** return subject; - } catch (InvalidNamedObjectException e) { - System.err.println("The name: "+e.getName()+" is not valid. \nplease check the xml attribute \"neuid:name\" in the xml element: "+ subject.getElement().getQualifiedName()+" in your input file: "+sf); - System.exit(1); } catch (FileNotFoundException e) { System.err.println("Couldnt find file: " + sf); --- 422,425 ---- Index: IdentityCreator.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/tools/commandline/IdentityCreator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IdentityCreator.java 20 Jan 2004 20:28:24 -0000 1.7 --- IdentityCreator.java 18 Feb 2004 00:14:31 -0000 1.8 *************** *** 1,4 **** --- 1,8 ---- /* $Id$ * $Log$ + * Revision 1.8 2004/02/18 00:14:31 pelle + * Many, many clean ups. I've readded Targets in a new method. + * Gotten rid of NamedObjectBuilder and revamped Identity and Resolvers + * * Revision 1.7 2004/01/20 20:28:24 pelle * Fixed final issues highlighted by unit tests. Really just a bunch of smaller stuff. *************** *** 219,225 **** import org.neuclear.commons.crypto.signers.PublicKeySource; import org.neuclear.id.InvalidNamedObjectException; ! import org.neuclear.id.NSTools; import org.neuclear.id.builders.IdentityBuilder; - import org.neuclear.id.builders.NamedObjectBuilder; import org.neuclear.senders.LogSender; --- 223,228 ---- import org.neuclear.commons.crypto.signers.PublicKeySource; import org.neuclear.id.InvalidNamedObjectException; ! import org.neuclear.id.builders.Builder; import org.neuclear.id.builders.IdentityBuilder; import org.neuclear.senders.LogSender; *************** *** 238,271 **** } pksource = (PublicKeySource) sig; ! identity = cmd.getOptionValue("n"); //final String cachedirpath = System.getProperty("user.home") + "/.neuclear/cache"; // final File cachedir = new File(cachedirpath); // if (!cachedir.exists()) // cachedir.mkdirs(); ! if (!Utility.isEmpty(identity)) { ! of = Utility.denullString(of, "_NEUID" + NSTools.name2path(identity) + "/root.id"); ! alias = Utility.denullString(alias, NSTools.getSignatoryURI(identity)); ! } } ! protected NamedObjectBuilder build() throws UserCancellationException { ! NamedObjectBuilder subject = null; if (cmd.hasOption('i')) {//If we have an input file we load that instead of creating a new one subject = super.build(); - identity = subject.getName(); } try { - String store = NSTools.isHttpScheme(identity); - boolean isTopLevel = !Utility.isEmpty(store); - if (!isTopLevel) { - // If this isn't a top level we will derive the repository from its parent. - store = NSTools.isHttpScheme(NSTools.getSignatoryURI(identity)); - } - alias = (isTopLevel) ? identity : NSTools.getSignatoryURI(identity); - final String defaultstore = Utility.denullString(cmd.getOptionValue("r"), store); final String defaultsigner = Utility.denullString(cmd.getOptionValue("s"), "http://localhost:11870/Signer"); final String defaultlogger = Utility.denullString(cmd.getOptionValue("l"), LogSender.LOGGER); final String defaultreceiver = cmd.getOptionValue("b"); ! if (!sig.canSignFor(identity)){ System.out.println("You do not currently have a key matching this name. Do you with to create one?"); if (!Utility.getAffirmative(true)) { --- 241,262 ---- } pksource = (PublicKeySource) sig; ! alias = cmd.getOptionValue("n"); //final String cachedirpath = System.getProperty("user.home") + "/.neuclear/cache"; // final File cachedir = new File(cachedirpath); // if (!cachedir.exists()) // cachedir.mkdirs(); ! of = Utility.denullString(of, alias + ".xml"); } ! protected Builder build() throws UserCancellationException { ! Builder subject = null; if (cmd.hasOption('i')) {//If we have an input file we load that instead of creating a new one subject = super.build(); } try { final String defaultsigner = Utility.denullString(cmd.getOptionValue("s"), "http://localhost:11870/Signer"); final String defaultlogger = Utility.denullString(cmd.getOptionValue("l"), LogSender.LOGGER); final String defaultreceiver = cmd.getOptionValue("b"); ! if (!sig.canSignFor(alias)){ System.out.println("You do not currently have a key matching this name. Do you with to create one?"); if (!Utility.getAffirmative(true)) { *************** *** 273,278 **** System.exit(0); } ! System.out.println("Generating Keys for "+identity+"... "); ! PublicKey pub=sig.generateKey(identity); System.out.println("DONE"); System.out.println("STORING Keys"); --- 264,269 ---- System.exit(0); } ! System.out.println("Generating Keys for "+alias+"... "); ! PublicKey pub=sig.generateKey(alias); System.out.println("DONE"); System.out.println("STORING Keys"); *************** *** 280,286 **** } ! final PublicKey newkid = pksource.getPublicKey(identity); ! return new IdentityBuilder(identity, newkid, defaultstore, defaultsigner, defaultlogger, defaultreceiver); } catch (InvalidNamedObjectException e) { System.err.println("The name: "+e.getName()+" is not valid. "); --- 271,277 ---- } ! final PublicKey newkid = pksource.getPublicKey(alias); ! return new IdentityBuilder(newkid, defaultsigner, defaultlogger, defaultreceiver); } catch (InvalidNamedObjectException e) { System.err.println("The name: "+e.getName()+" is not valid. "); *************** *** 314,318 **** protected final void getLocalOptions(final Options options) { options.addOption(new Option("n", "name", true, "specify name of new Identity \n[ --name neu://bob@yourdomain.com ]")); - options.addOption(new Option("r", "repository", true, "Identity's default Repository \n[ --repository http://repository.neuclear.org ] ")); options.addOption(new Option("s", "signer", true, "Identity's default Interactive Signer \n[ --signer http://localhost:11870 ]")); options.addOption(new Option("l", "logger", true, "Identity's default Logging Service \n[ --logger http://logger.neuclear.org ]")); --- 305,308 ---- *************** *** 321,325 **** - private String identity; private final PublicKeySource pksource; } --- 311,314 ---- |