#include <u.h> | |
#include <libc.h> | |
#include <bio.h> | |
#include <auth.h> | |
#include <mp.h> | |
#include <libsec.h> | |
#include "rsa2any.h" | |
void | |
usage(void) | |
{ | |
fprint(2, "usage: aux/rsa2csr 'C=US ...CN=xxx' [key]"); | |
exits("usage"); | |
} | |
void | |
main(int argc, char **argv) | |
{ | |
int len; | |
uchar *cert; | |
RSApriv *key; | |
fmtinstall('B', mpfmt); | |
fmtinstall('H', encodefmt); | |
ARGBEGIN{ | |
default: | |
usage(); | |
}ARGEND | |
if(argc != 1 && argc != 2) | |
usage(); | |
if((key = getkey(argc-1, argv+1, 1, nil)) == nil) | |
sysfatal("%r"); | |
cert = X509req(key, argv[0], &len); | |
if(cert == nil) | |
sysfatal("X509req: %r"); | |
write(1, cert, len); | |
exits(0); | |
} |