diff options
Diffstat (limited to 'src/cmd/auth/rsafill.c')
-rw-r--r-- | src/cmd/auth/rsafill.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/cmd/auth/rsafill.c b/src/cmd/auth/rsafill.c new file mode 100644 index 00000000..b9e26d43 --- /dev/null +++ b/src/cmd/auth/rsafill.c @@ -0,0 +1,46 @@ +#include <u.h> +#include <libc.h> +#include <auth.h> +#include <mp.h> +#include <libsec.h> +#include "rsa2any.h" + +void +usage(void) +{ + fprint(2, "usage: auth/rsafill [file]\n"); + exits("usage"); +} + +void +main(int argc, char **argv) +{ + RSApriv *key; + Attr *a; + char *s; + + fmtinstall('A', _attrfmt); + fmtinstall('B', mpfmt); + quotefmtinstall(); + + ARGBEGIN{ + default: + usage(); + }ARGEND + + if(argc > 1) + usage(); + + if((key = getkey(argc, argv, 1, &a)) == nil) + sysfatal("%r"); + + s = smprint("key %A size=%d ek=%B !dk=%B n=%B !p=%B !q=%B !kp=%B !kq=%B !c2=%B\n", + a, + mpsignif(key->pub.n), key->pub.ek, + key->dk, key->pub.n, key->p, key->q, + key->kp, key->kq, key->c2); + if(s == nil) + sysfatal("smprint: %r"); + write(1, s, strlen(s)); + exits(nil); +} |