summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-05-09 17:20:40 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-06-03 19:52:30 +0200
commit09c8ad2bb46799cd92580694008d11b6db479c40 (patch)
treef537278bb0158b9ae38cc828b479a96fc9c6f713 /src
parent2184514f10dc92cc97d38c344e322a3afb737eb2 (diff)
downloadgnutls-09c8ad2bb46799cd92580694008d11b6db479c40.tar.gz
Added initial PKCS #11 support. Certtool can now print lists of certificates
available in system.
Diffstat (limited to 'src')
-rw-r--r--src/certtool-gaa.c84
-rw-r--r--src/certtool-gaa.h32
-rw-r--r--src/certtool.gaa3
-rw-r--r--src/pkcs11.c2
4 files changed, 59 insertions, 62 deletions
diff --git a/src/certtool-gaa.c b/src/certtool-gaa.c
index 8d2a250577..f70ecadf52 100644
--- a/src/certtool-gaa.c
+++ b/src/certtool-gaa.c
@@ -201,37 +201,37 @@ typedef struct _gaainfo gaainfo;
struct _gaainfo
{
-#line 149 "certtool.gaa"
+#line 148 "certtool.gaa"
int debug;
-#line 142 "certtool.gaa"
+#line 141 "certtool.gaa"
int pkcs11_type;
-#line 139 "certtool.gaa"
+#line 138 "certtool.gaa"
char* pkcs11_url;
-#line 136 "certtool.gaa"
+#line 135 "certtool.gaa"
char* pkcs11_provider;
-#line 133 "certtool.gaa"
+#line 132 "certtool.gaa"
char *pkcs_cipher;
-#line 130 "certtool.gaa"
+#line 129 "certtool.gaa"
char *template;
-#line 127 "certtool.gaa"
+#line 126 "certtool.gaa"
char *infile;
-#line 124 "certtool.gaa"
+#line 123 "certtool.gaa"
char *outfile;
-#line 121 "certtool.gaa"
+#line 120 "certtool.gaa"
int quick_random;
-#line 118 "certtool.gaa"
+#line 117 "certtool.gaa"
int bits;
-#line 114 "certtool.gaa"
+#line 113 "certtool.gaa"
int outcert_format;
-#line 110 "certtool.gaa"
+#line 109 "certtool.gaa"
int incert_format;
-#line 107 "certtool.gaa"
+#line 106 "certtool.gaa"
int export;
-#line 104 "certtool.gaa"
+#line 103 "certtool.gaa"
char *hash;
-#line 101 "certtool.gaa"
+#line 100 "certtool.gaa"
int dsa;
-#line 98 "certtool.gaa"
+#line 97 "certtool.gaa"
int pkcs8;
#line 90 "certtool.gaa"
int v1_cert;
@@ -853,14 +853,14 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
{
case GAAOPTID_version:
OK = 0;
-#line 154 "certtool.gaa"
+#line 153 "certtool.gaa"
{ certtool_version(); exit(0); ;};
return GAA_OK;
break;
case GAAOPTID_help:
OK = 0;
-#line 152 "certtool.gaa"
+#line 151 "certtool.gaa"
{ gaa_help(); exit(0); ;};
return GAA_OK;
@@ -870,42 +870,42 @@ 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 150 "certtool.gaa"
+#line 149 "certtool.gaa"
{ gaaval->debug = GAATMP_debug.arg1 ;};
return GAA_OK;
break;
case GAAOPTID_pkcs11_list_tokens:
OK = 0;
-#line 147 "certtool.gaa"
+#line 146 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_TOKENS; ;};
return GAA_OK;
break;
case GAAOPTID_pkcs11_list_all:
OK = 0;
-#line 146 "certtool.gaa"
+#line 145 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_LIST; gaaval->pkcs11_type=PKCS11_TYPE_ALL; ;};
return GAA_OK;
break;
case GAAOPTID_pkcs11_list_all_certs:
OK = 0;
-#line 145 "certtool.gaa"
+#line 144 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_LIST; gaaval->pkcs11_type=PKCS11_TYPE_CRT_ALL; ;};
return GAA_OK;
break;
case GAAOPTID_pkcs11_list_trusted:
OK = 0;
-#line 144 "certtool.gaa"
+#line 143 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_LIST; gaaval->pkcs11_type=PKCS11_TYPE_TRUSTED; ;};
return GAA_OK;
break;
case GAAOPTID_pkcs11_list_certs:
OK = 0;
-#line 143 "certtool.gaa"
+#line 142 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_LIST; gaaval->pkcs11_type=PKCS11_TYPE_PK; ;};
return GAA_OK;
@@ -915,7 +915,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
GAA_TESTMOREARGS;
GAA_FILL(GAATMP_pkcs11_export_url.arg1, gaa_getstr, GAATMP_pkcs11_export_url.size1);
gaa_index++;
-#line 140 "certtool.gaa"
+#line 139 "certtool.gaa"
{ gaaval->action = ACTION_PKCS11_EXPORT_URL; gaaval->pkcs11_url = GAATMP_pkcs11_export_url.arg1; ;};
return GAA_OK;
@@ -925,7 +925,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
GAA_TESTMOREARGS;
GAA_FILL(GAATMP_pkcs11_provider.arg1, gaa_getstr, GAATMP_pkcs11_provider.size1);
gaa_index++;
-#line 137 "certtool.gaa"
+#line 136 "certtool.gaa"
{ gaaval->pkcs11_provider = GAATMP_pkcs11_provider.arg1 ;};
return GAA_OK;
@@ -935,7 +935,7 @@ static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
GAA_TESTMOREARGS;
GAA_FILL(GAATMP_pkcs_cipher.arg1, gaa_getstr, GAATMP_pkcs_cipher.size1);
gaa_index++;
-#line 134 "certtool.gaa"
+#line 133 "certtool.gaa"
{ gaaval->pkcs_cipher = GAATMP_pkcs_cipher.arg1 ;};
return GAA_OK;
@@ -945,7 +945,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 131 "certtool.gaa"
+#line 130 "certtool.gaa"
{ gaaval->template = GAATMP_template.arg1 ;};
return GAA_OK;
@@ -955,7 +955,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 128 "certtool.gaa"
+#line 127 "certtool.gaa"
{ gaaval->infile = GAATMP_infile.arg1 ;};
return GAA_OK;
@@ -965,14 +965,14 @@ 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 125 "certtool.gaa"
+#line 124 "certtool.gaa"
{ gaaval->outfile = GAATMP_outfile.arg1 ;};
return GAA_OK;
break;
case GAAOPTID_disable_quick_random:
OK = 0;
-#line 122 "certtool.gaa"
+#line 121 "certtool.gaa"
{ gaaval->quick_random = 0; ;};
return GAA_OK;
@@ -982,42 +982,42 @@ 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 119 "certtool.gaa"
+#line 118 "certtool.gaa"
{ gaaval->bits = GAATMP_bits.arg1 ;};
return GAA_OK;
break;
case GAAOPTID_outraw:
OK = 0;
-#line 116 "certtool.gaa"
+#line 115 "certtool.gaa"
{ gaaval->outcert_format=1 ;};
return GAA_OK;
break;
case GAAOPTID_outder:
OK = 0;
-#line 115 "certtool.gaa"
+#line 114 "certtool.gaa"
{ gaaval->outcert_format=1 ;};
return GAA_OK;
break;
case GAAOPTID_inraw:
OK = 0;
-#line 112 "certtool.gaa"
+#line 111 "certtool.gaa"
{ gaaval->incert_format=1 ;};
return GAA_OK;
break;
case GAAOPTID_inder:
OK = 0;
-#line 111 "certtool.gaa"
+#line 110 "certtool.gaa"
{ gaaval->incert_format=1 ;};
return GAA_OK;
break;
case GAAOPTID_export_ciphers:
OK = 0;
-#line 108 "certtool.gaa"
+#line 107 "certtool.gaa"
{ gaaval->export=1 ;};
return GAA_OK;
@@ -1027,21 +1027,21 @@ 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 105 "certtool.gaa"
+#line 104 "certtool.gaa"
{ gaaval->hash = GAATMP_hash.arg1 ;};
return GAA_OK;
break;
case GAAOPTID_dsa:
OK = 0;
-#line 102 "certtool.gaa"
+#line 101 "certtool.gaa"
{ gaaval->dsa=1 ;};
return GAA_OK;
break;
case GAAOPTID_pkcs8:
OK = 0;
-#line 99 "certtool.gaa"
+#line 98 "certtool.gaa"
{ gaaval->pkcs8=1 ;};
return GAA_OK;
@@ -1329,13 +1329,13 @@ int gaa(int argc, char **argv, gaainfo *gaaval)
if(inited == 0)
{
-#line 156 "certtool.gaa"
+#line 155 "certtool.gaa"
{ gaaval->bits = 2048; 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; gaaval->v1_cert = 0;
gaaval->export = 0; gaaval->template = NULL; gaaval->hash=NULL; gaaval->fix_key = 0; gaaval->quick_random=1;
gaaval->privkey_op = 0; gaaval->pkcs_cipher = "3des"; gaaval->crq_extensions=1; gaaval->pkcs11_provider= NULL;
- gaaval->pkcs11_url = NULL; gaaval->pkcs11_type = PKCS11_TYPE_PK; gaaval->pubkey=NULL; ;};
+ gaaval->pkcs11_url = NULL; ;};
}
inited = 1;
diff --git a/src/certtool-gaa.h b/src/certtool-gaa.h
index 80b022a1bb..b96924aa61 100644
--- a/src/certtool-gaa.h
+++ b/src/certtool-gaa.h
@@ -8,37 +8,37 @@ typedef struct _gaainfo gaainfo;
struct _gaainfo
{
-#line 149 "certtool.gaa"
+#line 148 "certtool.gaa"
int debug;
-#line 142 "certtool.gaa"
+#line 141 "certtool.gaa"
int pkcs11_type;
-#line 139 "certtool.gaa"
+#line 138 "certtool.gaa"
char* pkcs11_url;
-#line 136 "certtool.gaa"
+#line 135 "certtool.gaa"
char* pkcs11_provider;
-#line 133 "certtool.gaa"
+#line 132 "certtool.gaa"
char *pkcs_cipher;
-#line 130 "certtool.gaa"
+#line 129 "certtool.gaa"
char *template;
-#line 127 "certtool.gaa"
+#line 126 "certtool.gaa"
char *infile;
-#line 124 "certtool.gaa"
+#line 123 "certtool.gaa"
char *outfile;
-#line 121 "certtool.gaa"
+#line 120 "certtool.gaa"
int quick_random;
-#line 118 "certtool.gaa"
+#line 117 "certtool.gaa"
int bits;
-#line 114 "certtool.gaa"
+#line 113 "certtool.gaa"
int outcert_format;
-#line 110 "certtool.gaa"
+#line 109 "certtool.gaa"
int incert_format;
-#line 107 "certtool.gaa"
+#line 106 "certtool.gaa"
int export;
-#line 104 "certtool.gaa"
+#line 103 "certtool.gaa"
char *hash;
-#line 101 "certtool.gaa"
+#line 100 "certtool.gaa"
int dsa;
-#line 98 "certtool.gaa"
+#line 97 "certtool.gaa"
int pkcs8;
#line 90 "certtool.gaa"
int v1_cert;
diff --git a/src/certtool.gaa b/src/certtool.gaa
index 7ad13a114a..aaeb93daaa 100644
--- a/src/certtool.gaa
+++ b/src/certtool.gaa
@@ -94,7 +94,6 @@ option (to-p12) { $action = ACTION_TO_PKCS12; } "Generate a PKCS #12 structure."
option (to-p8) { $action = ACTION_GENERATE_PKCS8; } "Generate a PKCS #8 key structure."
-
#int pkcs8;
option (8, pkcs8) { $pkcs8=1 } "Use PKCS #8 format for private keys."
@@ -158,4 +157,4 @@ init { $bits = 2048; $pkcs8 = 0; $privkey = NULL; $ca=NULL; $ca_privkey = NULL;
$incert_format = 0; $outcert_format = 0; $action=-1; $pass = NULL; $v1_cert = 0;
$export = 0; $template = NULL; $hash=NULL; $fix_key = 0; $quick_random=1;
$privkey_op = 0; $pkcs_cipher = "3des"; $crq_extensions=1; $pkcs11_provider= NULL;
- $pkcs11_url = NULL; $pkcs11_type = PKCS11_TYPE_PK; $pubkey=NULL; }
+ $pkcs11_url = NULL; }
diff --git a/src/pkcs11.c b/src/pkcs11.c
index cfd23408d4..94704e324d 100644
--- a/src/pkcs11.c
+++ b/src/pkcs11.c
@@ -341,6 +341,4 @@ size_t size;
return;
-
-
}