diff options
| author | Charles Forsyth <charles.forsyth@gmail.com> | 2013-06-05 12:31:33 +0000 |
|---|---|---|
| committer | Charles Forsyth <charles.forsyth@gmail.com> | 2013-06-05 12:31:33 +0000 |
| commit | 5e15e9a076ca680fcee5c9775b9ef0f52984c61a (patch) | |
| tree | d5fe255b32ea26954355c7884174ffdff6713a44 | |
| parent | 97a3cfe15e1952c43eff2380d0b0ce45febe5505 (diff) | |
Crypt and oldauth, not Keyring
| -rw-r--r-- | appl/cmd/auth/createsignerkey.b | 56 | ||||
| -rw-r--r-- | dis/auth/createsignerkey.dis | bin | 2365 -> 2288 bytes |
2 files changed, 26 insertions, 30 deletions
diff --git a/appl/cmd/auth/createsignerkey.b b/appl/cmd/auth/createsignerkey.b index e7b22c50..60f1b1e8 100644 --- a/appl/cmd/auth/createsignerkey.b +++ b/appl/cmd/auth/createsignerkey.b @@ -7,8 +7,12 @@ include "draw.m"; include "daytime.m"; -include "keyring.m"; - kr: Keyring; +include "ipints.m"; +include "crypt.m"; + crypt: Crypt; + +include "oldauth.m"; + oldauth: Oldauth; include "arg.m"; @@ -25,22 +29,20 @@ algs := array[] of {"rsa", "elgamal"}; # first entry is default Createsignerkey: module { - init: fn(ctxt: ref Draw->Context, argv: list of string); + init: fn(nil: ref Draw->Context, nil: list of string); }; -init(nil: ref Draw->Context, argv: list of string) +init(nil: ref Draw->Context, args: list of string) { err: string; sys = load Sys Sys->PATH; - kr = load Keyring Keyring->PATH; - if(kr == nil) - loaderr(Keyring->PATH); + crypt = load Crypt Crypt->PATH; + oldauth = load Oldauth Oldauth->PATH; + oldauth->init(); arg := load Arg Arg->PATH; - if(arg == nil) - loaderr(Arg->PATH); - arg->init(argv); + arg->init(args); arg->setusage("createsignerkey [-a algorithm] [-f keyfile] [-e ddmmyyyy] [-b size-in-bits] name-of-owner"); alg := algs[0]; filename := "/keydb/signerkey"; @@ -74,34 +76,30 @@ init(nil: ref Draw->Context, argv: list of string) arg->usage(); } } - argv = arg->argv(); - if(argv == nil) + args = arg->argv(); + if(args == nil) arg->usage(); arg = nil; - owner := hd argv; + owner := hd args; # generate a local key, self-signed - info := ref Keyring->Authinfo; - info.mysk = kr->genSK(alg, owner, bits); + info := ref Oldauth->Authinfo; + info.mysk = crypt->genSK(alg, bits); if(info.mysk == nil) error(sys->sprint("algorithm %s not configured in system", alg)); - info.mypk = kr->sktopk(info.mysk); - info.spk = kr->sktopk(info.mysk); - myPKbuf := array of byte kr->pktostr(info.mypk); - state := kr->sha1(myPKbuf, len myPKbuf, nil, nil); - info.cert = kr->sign(info.mysk, expire, state, "sha1"); - (info.alpha, info.p) = kr->dhparams(DHmodlen); - - if(kr->writeauthinfo(filename, info) < 0) + info.owner = owner; + info.mypk = crypt->sktopk(info.mysk); + info.spk = crypt->sktopk(info.mysk); + myPKbuf := array of byte oldauth->pktostr(info.mypk, owner); + state := crypt->sha1(myPKbuf, len myPKbuf, nil, nil); + info.cert = oldauth->sign(info.mysk, owner, expire, state, "sha1"); + (info.alpha, info.p) = crypt->dhparams(DHmodlen); + + if(oldauth->writeauthinfo(filename, info) < 0) error(sys->sprint("can't write signerkey file %s: %r", filename)); } -loaderr(s: string) -{ - error(sys->sprint("can't load %s: %r", s)); -} - error(s: string) { sys->fprint(sys->fildes(2), "createsignerkey: %s\n", s); @@ -114,8 +112,6 @@ checkdate(word: string): (string, int) return ("!date must be in form ddmmyyyy", 0); daytime := load Daytime Daytime->PATH; - if(daytime == nil) - loaderr(Daytime->PATH); now := daytime->now(); diff --git a/dis/auth/createsignerkey.dis b/dis/auth/createsignerkey.dis Binary files differindex 6711d832..3c9c032c 100644 --- a/dis/auth/createsignerkey.dis +++ b/dis/auth/createsignerkey.dis |
