blob: cba3f2d35962d11adbb98177671c54b28c8af25d [file] [log] [blame]
rsc57fcfc22005-02-13 18:04:20 +00001#include <u.h>
2#include <libc.h>
3#include <bio.h>
4#include <auth.h>
5#include <mp.h>
6#include <libsec.h>
7#include "rsa2any.h"
8
9void
10usage(void)
11{
12 fprint(2, "usage: aux/rsa2csr 'C=US ...CN=xxx' [key]");
13 exits("usage");
14}
15
16void
17main(int argc, char **argv)
18{
19 int len;
20 uchar *cert;
21 RSApriv *key;
22
23 fmtinstall('B', mpfmt);
24 fmtinstall('H', encodefmt);
25
26 ARGBEGIN{
27 default:
28 usage();
29 }ARGEND
30
31 if(argc != 1 && argc != 2)
32 usage();
33
34 if((key = getkey(argc-1, argv+1, 1, nil)) == nil)
35 sysfatal("%r");
36
37 cert = X509req(key, argv[0], &len);
38 if(cert == nil)
39 sysfatal("X509req: %r");
40
41 write(1, cert, len);
42 exits(0);
43}