151
151
__gaa_helpsingle(0, "pgp-ring-info", "", "Print information on a keyring structure.");
152
152
__gaa_helpsingle('l', "crl-info", "", "Print information on a CRL.");
153
153
__gaa_helpsingle(0, "crq-info", "", "Print information on a Certificate Request.");
154
__gaa_helpsingle(0, "no-crq-extensions", "", "Do not use extensions in certificate requests.");
154
155
__gaa_helpsingle(0, "p12-info", "", "Print information on a PKCS #12 structure.");
155
156
__gaa_helpsingle(0, "p7-info", "", "Print information on a PKCS #7 structure.");
156
157
__gaa_helpsingle(0, "smime-to-p7", "", "Convert S/MIME to PKCS #7 structure.");
173
174
__gaa_helpsingle(0, "outfile", "FILE ", "Output file.");
174
175
__gaa_helpsingle(0, "infile", "FILE ", "Input file.");
175
176
__gaa_helpsingle(0, "template", "FILE ", "Template file to use for non interactive operation.");
177
__gaa_helpsingle(0, "pkcs-cipher", "CIPHER ", "Cipher to use for pkcs operations (3des,3des-pkcs12,aes-128,aes-192,aes-256,rc2-40,arcfour).");
176
178
__gaa_helpsingle('d', "debug", "LEVEL ", "specify the debug level. Default is 1.");
177
179
__gaa_helpsingle('h', "help", "", "shows this help text");
178
180
__gaa_helpsingle('v', "version", "", "shows the program's version");
288
294
#define GAA_MULTIPLE_OPTION 3
290
296
#define GAA_REST 0
291
#define GAA_NB_OPTION 47
297
#define GAA_NB_OPTION 49
292
298
#define GAAOPTID_version 1
293
299
#define GAAOPTID_help 2
294
300
#define GAAOPTID_debug 3
295
#define GAAOPTID_template 4
296
#define GAAOPTID_infile 5
297
#define GAAOPTID_outfile 6
298
#define GAAOPTID_disable_quick_random 7
299
#define GAAOPTID_bits 8
300
#define GAAOPTID_outraw 9
301
#define GAAOPTID_outder 10
302
#define GAAOPTID_inraw 11
303
#define GAAOPTID_inder 12
304
#define GAAOPTID_export_ciphers 13
305
#define GAAOPTID_hash 14
306
#define GAAOPTID_dsa 15
307
#define GAAOPTID_pkcs8 16
308
#define GAAOPTID_to_p8 17
309
#define GAAOPTID_to_p12 18
310
#define GAAOPTID_v1 19
311
#define GAAOPTID_fix_key 20
312
#define GAAOPTID_pgp_key_info 21
313
#define GAAOPTID_key_info 22
314
#define GAAOPTID_smime_to_p7 23
315
#define GAAOPTID_p7_info 24
316
#define GAAOPTID_p12_info 25
317
#define GAAOPTID_crq_info 26
318
#define GAAOPTID_crl_info 27
319
#define GAAOPTID_pgp_ring_info 28
320
#define GAAOPTID_pgp_certificate_info 29
321
#define GAAOPTID_certificate_info 30
322
#define GAAOPTID_password 31
323
#define GAAOPTID_load_ca_certificate 32
324
#define GAAOPTID_load_ca_privkey 33
325
#define GAAOPTID_load_certificate 34
326
#define GAAOPTID_load_request 35
327
#define GAAOPTID_load_privkey 36
328
#define GAAOPTID_get_dh_params 37
329
#define GAAOPTID_generate_dh_params 38
330
#define GAAOPTID_verify_crl 39
331
#define GAAOPTID_verify_chain 40
332
#define GAAOPTID_generate_request 41
333
#define GAAOPTID_generate_privkey 42
334
#define GAAOPTID_update_certificate 43
335
#define GAAOPTID_generate_crl 44
336
#define GAAOPTID_generate_proxy 45
337
#define GAAOPTID_generate_certificate 46
338
#define GAAOPTID_generate_self_signed 47
301
#define GAAOPTID_pkcs_cipher 4
302
#define GAAOPTID_template 5
303
#define GAAOPTID_infile 6
304
#define GAAOPTID_outfile 7
305
#define GAAOPTID_disable_quick_random 8
306
#define GAAOPTID_bits 9
307
#define GAAOPTID_outraw 10
308
#define GAAOPTID_outder 11
309
#define GAAOPTID_inraw 12
310
#define GAAOPTID_inder 13
311
#define GAAOPTID_export_ciphers 14
312
#define GAAOPTID_hash 15
313
#define GAAOPTID_dsa 16
314
#define GAAOPTID_pkcs8 17
315
#define GAAOPTID_to_p8 18
316
#define GAAOPTID_to_p12 19
317
#define GAAOPTID_v1 20
318
#define GAAOPTID_fix_key 21
319
#define GAAOPTID_pgp_key_info 22
320
#define GAAOPTID_key_info 23
321
#define GAAOPTID_smime_to_p7 24
322
#define GAAOPTID_p7_info 25
323
#define GAAOPTID_p12_info 26
324
#define GAAOPTID_no_crq_extensions 27
325
#define GAAOPTID_crq_info 28
326
#define GAAOPTID_crl_info 29
327
#define GAAOPTID_pgp_ring_info 30
328
#define GAAOPTID_pgp_certificate_info 31
329
#define GAAOPTID_certificate_info 32
330
#define GAAOPTID_password 33
331
#define GAAOPTID_load_ca_certificate 34
332
#define GAAOPTID_load_ca_privkey 35
333
#define GAAOPTID_load_certificate 36
334
#define GAAOPTID_load_request 37
335
#define GAAOPTID_load_privkey 38
336
#define GAAOPTID_get_dh_params 39
337
#define GAAOPTID_generate_dh_params 40
338
#define GAAOPTID_verify_crl 41
339
#define GAAOPTID_verify_chain 42
340
#define GAAOPTID_generate_request 43
341
#define GAAOPTID_generate_privkey 44
342
#define GAAOPTID_update_certificate 45
343
#define GAAOPTID_generate_crl 46
344
#define GAAOPTID_generate_proxy 47
345
#define GAAOPTID_generate_certificate 48
346
#define GAAOPTID_generate_self_signed 49
340
348
#line 168 "gaa.skel"
859
907
GAA_TESTMOREARGS;
860
908
GAA_FILL(GAATMP_hash.arg1, gaa_getstr, GAATMP_hash.size1);
862
#line 96 "certtool.gaa"
910
#line 99 "certtool.gaa"
863
911
{ gaaval->hash = GAATMP_hash.arg1 ;};
867
915
case GAAOPTID_dsa:
869
#line 93 "certtool.gaa"
917
#line 96 "certtool.gaa"
870
918
{ gaaval->dsa=1 ;};
874
922
case GAAOPTID_pkcs8:
876
#line 90 "certtool.gaa"
924
#line 93 "certtool.gaa"
877
925
{ gaaval->pkcs8=1 ;};
881
929
case GAAOPTID_to_p8:
883
#line 87 "certtool.gaa"
931
#line 90 "certtool.gaa"
884
932
{ gaaval->action = ACTION_GENERATE_PKCS8; ;};
888
936
case GAAOPTID_to_p12:
890
#line 85 "certtool.gaa"
938
#line 88 "certtool.gaa"
891
939
{ gaaval->action = ACTION_TO_PKCS12; ;};
895
943
case GAAOPTID_v1:
897
#line 83 "certtool.gaa"
945
#line 86 "certtool.gaa"
898
946
{ gaaval->v1_cert = 1; ;};
902
950
case GAAOPTID_fix_key:
904
#line 80 "certtool.gaa"
952
#line 83 "certtool.gaa"
905
953
{ gaaval->privkey_op=1; gaaval->fix_key = 1; ;};
909
957
case GAAOPTID_pgp_key_info:
911
#line 77 "certtool.gaa"
959
#line 80 "certtool.gaa"
912
960
{ gaaval->privkey_op=1; gaaval->action = ACTION_PGP_PRIVKEY_INFO; ;};
916
964
case GAAOPTID_key_info:
918
#line 75 "certtool.gaa"
966
#line 78 "certtool.gaa"
919
967
{ gaaval->privkey_op=1; gaaval->action = ACTION_PRIVKEY_INFO; ;};
923
971
case GAAOPTID_smime_to_p7:
925
#line 71 "certtool.gaa"
973
#line 74 "certtool.gaa"
926
974
{ gaaval->action = ACTION_SMIME_TO_P7; ;};
930
978
case GAAOPTID_p7_info:
932
#line 69 "certtool.gaa"
980
#line 72 "certtool.gaa"
933
981
{ gaaval->action = ACTION_P7_INFO; ;};
937
985
case GAAOPTID_p12_info:
939
#line 67 "certtool.gaa"
987
#line 70 "certtool.gaa"
940
988
{ gaaval->action = ACTION_PKCS12_INFO; ;};
992
case GAAOPTID_no_crq_extensions:
994
#line 68 "certtool.gaa"
995
{ gaaval->crq_extensions = 0; ;};
944
999
case GAAOPTID_crq_info:
946
1001
#line 65 "certtool.gaa"
1156
1208
gaa_arg_used = gaa_malloc(argc * sizeof(char));
1159
for(l = 1; l < argc; l++)
1160
gaa_arg_used[l] = 0;
1161
for(l = 1; l < argc; l++)
1211
for(i = 1; i < argc; i++)
1212
gaa_arg_used[i] = 0;
1213
for(i = 1; i < argc; i++)
1163
if(gaa_arg_used[l] == 0)
1215
if(gaa_arg_used[i] == 0)
1166
tmp1 = gaa_is_an_argument(GAAargv[l]);
1218
tmp1 = gaa_is_an_argument(GAAargv[i]);
1169
1221
case GAA_WORD_OPTION:
1171
1223
case GAA_LETTER_OPTION:
1173
tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
1225
tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
1174
1226
if(tmp2 == GAA_ERROR_NOMATCH)
1176
printf("Invalid option '%s'\n", argv[l]+j);
1228
printf("Invalid option '%s'\n", argv[i]+j);
1179
switch(gaa_try(tmp2, l+1, gaaval, opt_list))
1231
switch(gaa_try(tmp2, i+1, gaaval, opt_list))
1181
1233
case GAA_ERROR_NOTENOUGH_ARGS:
1182
1234
printf("'%s': not enough arguments\n",gaa_current_option);
1190
1242
printf("Unknown error\n");
1192
gaa_arg_used[l] = 1;
1244
gaa_arg_used[i] = 1;
1194
1246
case GAA_MULTIPLE_OPTION:
1195
for(j = 1; j < strlen(argv[l]); j++)
1247
for(j = 1; j < strlen(argv[i]); j++)
1197
tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
1249
tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
1198
1250
if(tmp2 == GAA_ERROR_NOMATCH)
1200
printf("Invalid option '%c'\n", *(argv[l]+j));
1252
printf("Invalid option '%c'\n", *(argv[i]+j));
1203
switch(gaa_try(tmp2, l+1, gaaval, opt_list))
1255
switch(gaa_try(tmp2, i+1, gaaval, opt_list))
1205
1257
case GAA_ERROR_NOTENOUGH_ARGS:
1206
1258
printf("'%s': not enough arguments\n",gaa_current_option);