aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/auth/rsafill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/auth/rsafill.c')
-rw-r--r--src/cmd/auth/rsafill.c46
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);
+}