#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/dsa2ssh [-c comment] [file]\n"); | |
exits("usage"); | |
} | |
void | |
main(int argc, char **argv) | |
{ | |
DSApriv *k; | |
char *comment; | |
uchar buf[8192], *p; | |
fmtinstall('B', mpfmt); | |
fmtinstall('[', encodefmt); | |
comment = ""; | |
ARGBEGIN{ | |
case 'c': | |
comment = EARGF(usage()); | |
break; | |
default: | |
usage(); | |
}ARGEND | |
if(argc > 1) | |
usage(); | |
if((k = getdsakey(argc, argv, 0, nil)) == nil) | |
sysfatal("%r"); | |
p = buf; | |
p = put4(p, 7); | |
p = putn(p, "ssh-dss", 7); | |
p = putmp2(p, k->pub.p); | |
p = putmp2(p, k->pub.q); | |
p = putmp2(p, k->pub.alpha); | |
p = putmp2(p, k->pub.key); | |
print("ssh-dss %.*[ %s\n", p-buf, buf, comment); | |
exits(nil); | |
} |