URI:
       tdsagen.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tdsagen.c (743B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <mp.h>
            4 #include <libsec.h>
            5 
            6 void
            7 usage(void)
            8 {
            9         fprint(2, "usage: auth/dsagen [-t 'attr=value attr=value ...']\n");
           10         exits("usage");
           11 }
           12 
           13 void
           14 main(int argc, char **argv)
           15 {
           16         char *s;
           17         char *tag;
           18         DSApriv *key;
           19 
           20         tag = nil;
           21         key = nil;
           22         fmtinstall('B', mpfmt);
           23 
           24         ARGBEGIN{
           25         case 't':
           26                 tag = EARGF(usage());
           27                 break;
           28         default:
           29                 usage();
           30         }ARGEND
           31 
           32         if(argc != 0)
           33                 usage();
           34 
           35         key = dsagen(nil);
           36 
           37         s = smprint("key proto=dsa %s%sp=%lB q=%lB alpha=%lB key=%lB !secret=%lB\n",
           38                 tag ? tag : "", tag ? " " : "",
           39                 key->pub.p, key->pub.q, key->pub.alpha, key->pub.key,
           40                 key->secret);
           41         if(s == nil)
           42                 sysfatal("smprint: %r");
           43 
           44         if(write(1, s, strlen(s)) != strlen(s))
           45                 sysfatal("write: %r");
           46 
           47         exits(nil);
           48 }