xref: /plan9/sys/src/cmd/auth/dsa2pub.c (revision 2d8b52e80aea4fb9116c3dab5690599d2d0cf529)
1 #include <u.h>
2 #include <libc.h>
3 #include <auth.h>
4 #include <mp.h>
5 #include <libsec.h>
6 #include "rsa2any.h"
7 
8 void
usage(void)9 usage(void)
10 {
11 	fprint(2, "usage: auth/dsa2pub [file]\n");
12 	exits("usage");
13 }
14 
15 void
main(int argc,char ** argv)16 main(int argc, char **argv)
17 {
18 	DSApriv *key;
19 	Attr *a;
20 	char *s;
21 
22 	fmtinstall('A', _attrfmt);
23 	fmtinstall('B', mpfmt);
24 	quotefmtinstall();
25 
26 	ARGBEGIN{
27 	default:
28 		usage();
29 	}ARGEND
30 
31 	if(argc > 1)
32 		usage();
33 
34 	if((key = getdsakey(argc, argv, 0, &a)) == nil)
35 		sysfatal("%r");
36 
37 	s = smprint("key %A p=%B q=%B alpha=%B key=%B\n",
38 		a,
39 		key->pub.p, key->pub.q, key->pub.alpha, key->pub.key);
40 	if(s == nil)
41 		sysfatal("smprint: %r");
42 	write(1, s, strlen(s));
43 	exits(nil);
44 }
45