summaryrefslogtreecommitdiff
path: root/src/certtool-gaa.c
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2007-01-31 15:33:53 +0000
committerSimon Josefsson <simon@josefsson.org>2007-01-31 15:33:53 +0000
commitf44043db69d4765a4997456492c464703944bde9 (patch)
treeef60a395df4b5f6f9805f9d3b55ab7ecb748b9e4 /src/certtool-gaa.c
parent7600c614c2954e09f7c0050af9551ff33af1bb6d (diff)
downloadgnutls-f44043db69d4765a4997456492c464703944bde9.tar.gz
Support reading/generating proxy certificates in certtool.
Diffstat (limited to 'src/certtool-gaa.c')
-rw-r--r--src/certtool-gaa.c131
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;