aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/auth/rsa2pub.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/auth/rsa2pub.c')
-rw-r--r--src/cmd/auth/rsa2pub.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/cmd/auth/rsa2pub.c b/src/cmd/auth/rsa2pub.c
new file mode 100644
index 00000000..7de10506
--- /dev/null
+++ b/src/cmd/auth/rsa2pub.c
@@ -0,0 +1,44 @@
+#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/rsa2pub [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, 0, &a)) == nil)
+ sysfatal("%r");
+
+ s = smprint("key %A size=%d ek=%B n=%B\n",
+ a,
+ mpsignif(key->pub.n), key->pub.ek, key->pub.n);
+ if(s == nil)
+ sysfatal("smprint: %r");
+ write(1, s, strlen(s));
+ exits(nil);
+}