diff options
author | Simon Josefsson <simon@josefsson.org> | 2007-01-31 15:33:53 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2007-01-31 15:33:53 +0000 |
commit | f44043db69d4765a4997456492c464703944bde9 (patch) | |
tree | ef60a395df4b5f6f9805f9d3b55ab7ecb748b9e4 /src/certtool-gaa.c | |
parent | 7600c614c2954e09f7c0050af9551ff33af1bb6d (diff) | |
download | gnutls-f44043db69d4765a4997456492c464703944bde9.tar.gz |
Support reading/generating proxy certificates in certtool.
Diffstat (limited to 'src/certtool-gaa.c')
-rw-r--r-- | src/certtool-gaa.c | 131 |
1 files changed, 71 insertions, 60 deletions
diff --git a/src/certtool-gaa.c b/src/certtool-gaa.c index 28d1d2da4f..fabaf3be6e 100644 --- a/src/certtool-gaa.c +++ b/src/certtool-gaa.c @@ -132,6 +132,7 @@ void gaa_help(void) printf("Certtool help\nUsage: certtool [options]\n"); __gaa_helpsingle('s', "generate-self-signed", "", "Generate a self-signed certificate."); __gaa_helpsingle('c', "generate-certificate", "", "Generate a signed certificate."); + __gaa_helpsingle(0, "generate-proxy", "", "Generate a proxy certificate."); __gaa_helpsingle(0, "generate-crl", "", "Generate a CRL."); __gaa_helpsingle('u', "update-certificate", "", "Update a signed certificate."); __gaa_helpsingle('p', "generate-privkey", "", "Generate a private key."); @@ -183,43 +184,43 @@ typedef struct _gaainfo gaainfo; struct _gaainfo { -#line 106 "certtool.gaa" +#line 108 "certtool.gaa" int debug; -#line 102 "certtool.gaa" +#line 104 "certtool.gaa" char *template; -#line 99 "certtool.gaa" +#line 101 "certtool.gaa" char *infile; -#line 96 "certtool.gaa" +#line 98 "certtool.gaa" char *outfile; -#line 93 "certtool.gaa" +#line 95 "certtool.gaa" int bits; -#line 90 "certtool.gaa" +#line 92 "certtool.gaa" int outcert_format; -#line 87 "certtool.gaa" +#line 89 "certtool.gaa" int xml; -#line 84 "certtool.gaa" +#line 86 "certtool.gaa" int incert_format; -#line 81 "certtool.gaa" +#line 83 "certtool.gaa" int export; -#line 78 "certtool.gaa" +#line 80 "certtool.gaa" char *hash; -#line 75 "certtool.gaa" +#line 77 "certtool.gaa" int dsa; -#line 72 "certtool.gaa" +#line 74 "certtool.gaa" int pkcs8; -#line 67 "certtool.gaa" +#line 69 "certtool.gaa" int fix_key; -#line 52 "certtool.gaa" +#line 54 "certtool.gaa" char *pass; -#line 49 "certtool.gaa" +#line 51 "certtool.gaa" char *ca; -#line 46 "certtool.gaa" +#line 48 "certtool.gaa" char *ca_privkey; -#line 43 "certtool.gaa" +#line 45 "certtool.gaa" char *cert; -#line 40 "certtool.gaa" +#line 42 "certtool.gaa" char *request; -#line 37 "certtool.gaa" +#line 39 "certtool.gaa" char *privkey; #line 17 "certtool.gaa" int action; @@ -277,7 +278,7 @@ static int gaa_error = 0; #define GAA_MULTIPLE_OPTION 3 #define GAA_REST 0 -#define GAA_NB_OPTION 39 +#define GAA_NB_OPTION 40 #define GAAOPTID_copyright 1 #define GAAOPTID_version 2 #define GAAOPTID_help 3 @@ -315,8 +316,9 @@ static int gaa_error = 0; #define GAAOPTID_generate_privkey 35 #define GAAOPTID_update_certificate 36 #define GAAOPTID_generate_crl 37 -#define GAAOPTID_generate_certificate 38 -#define GAAOPTID_generate_self_signed 39 +#define GAAOPTID_generate_proxy 38 +#define GAAOPTID_generate_certificate 39 +#define GAAOPTID_generate_self_signed 40 #line 168 "gaa.skel" @@ -643,6 +645,7 @@ static int gaa_get_option_num(char *str, int status) GAA_CHECK1STR("p", GAAOPTID_generate_privkey); GAA_CHECK1STR("u", GAAOPTID_update_certificate); GAA_CHECK1STR("", GAAOPTID_generate_crl); + GAA_CHECK1STR("", GAAOPTID_generate_proxy); GAA_CHECK1STR("c", GAAOPTID_generate_certificate); GAA_CHECK1STR("s", GAAOPTID_generate_self_signed); @@ -686,6 +689,7 @@ static int gaa_get_option_num(char *str, int status) GAA_CHECKSTR("generate-privkey", GAAOPTID_generate_privkey); GAA_CHECKSTR("update-certificate", GAAOPTID_update_certificate); GAA_CHECKSTR("generate-crl", GAAOPTID_generate_crl); + GAA_CHECKSTR("generate-proxy", GAAOPTID_generate_proxy); GAA_CHECKSTR("generate-certificate", GAAOPTID_generate_certificate); GAA_CHECKSTR("generate-self-signed", GAAOPTID_generate_self_signed); @@ -734,21 +738,21 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) { case GAAOPTID_copyright: OK = 0; -#line 112 "certtool.gaa" +#line 114 "certtool.gaa" { print_license(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_version: OK = 0; -#line 111 "certtool.gaa" +#line 113 "certtool.gaa" { certtool_version(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_help: OK = 0; -#line 109 "certtool.gaa" +#line 111 "certtool.gaa" { gaa_help(); exit(0); ;}; return GAA_OK; @@ -758,7 +762,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1); gaa_index++; -#line 107 "certtool.gaa" +#line 109 "certtool.gaa" { gaaval->debug = GAATMP_debug.arg1 ;}; return GAA_OK; @@ -768,7 +772,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_template.arg1, gaa_getstr, GAATMP_template.size1); gaa_index++; -#line 103 "certtool.gaa" +#line 105 "certtool.gaa" { gaaval->template = GAATMP_template.arg1 ;}; return GAA_OK; @@ -778,7 +782,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_infile.arg1, gaa_getstr, GAATMP_infile.size1); gaa_index++; -#line 100 "certtool.gaa" +#line 102 "certtool.gaa" { gaaval->infile = GAATMP_infile.arg1 ;}; return GAA_OK; @@ -788,7 +792,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_outfile.arg1, gaa_getstr, GAATMP_outfile.size1); gaa_index++; -#line 97 "certtool.gaa" +#line 99 "certtool.gaa" { gaaval->outfile = GAATMP_outfile.arg1 ;}; return GAA_OK; @@ -798,35 +802,35 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_bits.arg1, gaa_getint, GAATMP_bits.size1); gaa_index++; -#line 94 "certtool.gaa" +#line 96 "certtool.gaa" { gaaval->bits = GAATMP_bits.arg1 ;}; return GAA_OK; break; case GAAOPTID_outder: OK = 0; -#line 91 "certtool.gaa" +#line 93 "certtool.gaa" { gaaval->outcert_format=1 ;}; return GAA_OK; break; case GAAOPTID_xml: OK = 0; -#line 88 "certtool.gaa" +#line 90 "certtool.gaa" { gaaval->xml=1 ;}; return GAA_OK; break; case GAAOPTID_inder: OK = 0; -#line 85 "certtool.gaa" +#line 87 "certtool.gaa" { gaaval->incert_format=1 ;}; return GAA_OK; break; case GAAOPTID_export_ciphers: OK = 0; -#line 82 "certtool.gaa" +#line 84 "certtool.gaa" { gaaval->export=1 ;}; return GAA_OK; @@ -836,77 +840,77 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_hash.arg1, gaa_getstr, GAATMP_hash.size1); gaa_index++; -#line 79 "certtool.gaa" +#line 81 "certtool.gaa" { gaaval->hash = GAATMP_hash.arg1 ;}; return GAA_OK; break; case GAAOPTID_dsa: OK = 0; -#line 76 "certtool.gaa" +#line 78 "certtool.gaa" { gaaval->dsa=1 ;}; return GAA_OK; break; case GAAOPTID_pkcs8: OK = 0; -#line 73 "certtool.gaa" +#line 75 "certtool.gaa" { gaaval->pkcs8=1 ;}; return GAA_OK; break; case GAAOPTID_to_p12: OK = 0; -#line 70 "certtool.gaa" +#line 72 "certtool.gaa" { gaaval->action = 8; ;}; return GAA_OK; break; case GAAOPTID_fix_key: OK = 0; -#line 68 "certtool.gaa" +#line 70 "certtool.gaa" { gaaval->fix_key = 1; ;}; return GAA_OK; break; case GAAOPTID_key_info: OK = 0; -#line 65 "certtool.gaa" +#line 67 "certtool.gaa" { gaaval->action = 6; ;}; return GAA_OK; break; case GAAOPTID_smime_to_p7: OK = 0; -#line 63 "certtool.gaa" +#line 65 "certtool.gaa" { gaaval->action = 15; ;}; return GAA_OK; break; case GAAOPTID_p7_info: OK = 0; -#line 61 "certtool.gaa" +#line 63 "certtool.gaa" { gaaval->action = 12; ;}; return GAA_OK; break; case GAAOPTID_p12_info: OK = 0; -#line 59 "certtool.gaa" +#line 61 "certtool.gaa" { gaaval->action = 9; ;}; return GAA_OK; break; case GAAOPTID_crl_info: OK = 0; -#line 57 "certtool.gaa" +#line 59 "certtool.gaa" { gaaval->action = 11; ;}; return GAA_OK; break; case GAAOPTID_certificate_info: OK = 0; -#line 55 "certtool.gaa" +#line 57 "certtool.gaa" { gaaval->action = 2; ;}; return GAA_OK; @@ -916,7 +920,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_password.arg1, gaa_getstr, GAATMP_password.size1); gaa_index++; -#line 53 "certtool.gaa" +#line 55 "certtool.gaa" { gaaval->pass = GAATMP_password.arg1 ;}; return GAA_OK; @@ -926,7 +930,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_load_ca_certificate.arg1, gaa_getstr, GAATMP_load_ca_certificate.size1); gaa_index++; -#line 50 "certtool.gaa" +#line 52 "certtool.gaa" { gaaval->ca = GAATMP_load_ca_certificate.arg1 ;}; return GAA_OK; @@ -936,7 +940,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_load_ca_privkey.arg1, gaa_getstr, GAATMP_load_ca_privkey.size1); gaa_index++; -#line 47 "certtool.gaa" +#line 49 "certtool.gaa" { gaaval->ca_privkey = GAATMP_load_ca_privkey.arg1 ;}; return GAA_OK; @@ -946,7 +950,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_load_certificate.arg1, gaa_getstr, GAATMP_load_certificate.size1); gaa_index++; -#line 44 "certtool.gaa" +#line 46 "certtool.gaa" { gaaval->cert = GAATMP_load_certificate.arg1 ;}; return GAA_OK; @@ -956,7 +960,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_load_request.arg1, gaa_getstr, GAATMP_load_request.size1); gaa_index++; -#line 41 "certtool.gaa" +#line 43 "certtool.gaa" { gaaval->request = GAATMP_load_request.arg1 ;}; return GAA_OK; @@ -966,67 +970,74 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_load_privkey.arg1, gaa_getstr, GAATMP_load_privkey.size1); gaa_index++; -#line 38 "certtool.gaa" +#line 40 "certtool.gaa" { gaaval->privkey = GAATMP_load_privkey.arg1 ;}; return GAA_OK; break; case GAAOPTID_get_dh_params: OK = 0; -#line 35 "certtool.gaa" +#line 37 "certtool.gaa" { gaaval->action=16; ;}; return GAA_OK; break; case GAAOPTID_generate_dh_params: OK = 0; -#line 34 "certtool.gaa" +#line 36 "certtool.gaa" { gaaval->action=10; ;}; return GAA_OK; break; case GAAOPTID_verify_crl: OK = 0; -#line 32 "certtool.gaa" +#line 34 "certtool.gaa" { gaaval->action=14; ;}; return GAA_OK; break; case GAAOPTID_verify_chain: OK = 0; -#line 30 "certtool.gaa" +#line 32 "certtool.gaa" { gaaval->action=5; ;}; return GAA_OK; break; case GAAOPTID_generate_request: OK = 0; -#line 28 "certtool.gaa" +#line 30 "certtool.gaa" { gaaval->action=3; ;}; return GAA_OK; break; case GAAOPTID_generate_privkey: OK = 0; -#line 26 "certtool.gaa" +#line 28 "certtool.gaa" { gaaval->action=1; ;}; return GAA_OK; break; case GAAOPTID_update_certificate: OK = 0; -#line 24 "certtool.gaa" +#line 26 "certtool.gaa" { gaaval->action=7; ;}; return GAA_OK; break; case GAAOPTID_generate_crl: OK = 0; -#line 22 "certtool.gaa" +#line 24 "certtool.gaa" { gaaval->action=13; ;}; return GAA_OK; break; + case GAAOPTID_generate_proxy: + OK = 0; +#line 22 "certtool.gaa" +{ gaaval->action=17; ;}; + + return GAA_OK; + break; case GAAOPTID_generate_certificate: OK = 0; #line 20 "certtool.gaa" @@ -1065,7 +1076,7 @@ int gaa(int argc, char **argv, gaainfo *gaaval) if(inited == 0) { -#line 114 "certtool.gaa" +#line 116 "certtool.gaa" { gaaval->bits = 1024; gaaval->pkcs8 = 0; gaaval->privkey = NULL; gaaval->ca=NULL; gaaval->ca_privkey = NULL; gaaval->debug=1; gaaval->request = NULL; gaaval->infile = NULL; gaaval->outfile = NULL; gaaval->cert = NULL; gaaval->incert_format = 0; gaaval->outcert_format = 0; gaaval->action=-1; gaaval->pass = NULL; |