diff options
Diffstat (limited to 'src')
40 files changed, 184 insertions, 1726 deletions
diff --git a/src/usr.bin/openssl/Makefile b/src/usr.bin/openssl/Makefile index 04a24c8c59..db3364b16f 100644 --- a/src/usr.bin/openssl/Makefile +++ b/src/usr.bin/openssl/Makefile | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # $OpenBSD: Makefile,v 1.5 2015/02/10 15:29:34 jsing Exp $ | 1 | # $OpenBSD: Makefile,v 1.6 2015/09/11 14:30:23 bcook Exp $ |
| 2 | 2 | ||
| 3 | PROG= openssl | 3 | PROG= openssl |
| 4 | LDADD= -lssl -lcrypto | 4 | LDADD= -lssl -lcrypto |
| @@ -19,7 +19,7 @@ CFLAGS+= -DLIBRESSL_INTERNAL | |||
| 19 | 19 | ||
| 20 | SRCS= apps.c apps_posix.c asn1pars.c ca.c certhash.c ciphers.c cms.c crl.c \ | 20 | SRCS= apps.c apps_posix.c asn1pars.c ca.c certhash.c ciphers.c cms.c crl.c \ |
| 21 | crl2p7.c dgst.c dh.c dhparam.c dsa.c dsaparam.c ec.c ecparam.c enc.c \ | 21 | crl2p7.c dgst.c dh.c dhparam.c dsa.c dsaparam.c ec.c ecparam.c enc.c \ |
| 22 | engine.c errstr.c gendh.c gendsa.c genpkey.c genrsa.c nseq.c ocsp.c \ | 22 | errstr.c gendh.c gendsa.c genpkey.c genrsa.c nseq.c ocsp.c \ |
| 23 | openssl.c passwd.c pkcs12.c pkcs7.c pkcs8.c pkey.c pkeyparam.c \ | 23 | openssl.c passwd.c pkcs12.c pkcs7.c pkcs8.c pkey.c pkeyparam.c \ |
| 24 | pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c s_cb.c s_client.c \ | 24 | pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c s_cb.c s_client.c \ |
| 25 | s_server.c s_socket.c s_time.c sess_id.c smime.c speed.c spkac.c ts.c \ | 25 | s_server.c s_socket.c s_time.c sess_id.c smime.c speed.c spkac.c ts.c \ |
diff --git a/src/usr.bin/openssl/apps.c b/src/usr.bin/openssl/apps.c index acd95abc7f..f8cad1a703 100644 --- a/src/usr.bin/openssl/apps.c +++ b/src/usr.bin/openssl/apps.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: apps.c,v 1.34 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: apps.c,v 1.35 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -146,10 +146,6 @@ | |||
| 146 | #include <openssl/x509.h> | 146 | #include <openssl/x509.h> |
| 147 | #include <openssl/x509v3.h> | 147 | #include <openssl/x509v3.h> |
| 148 | 148 | ||
| 149 | #ifndef OPENSSL_NO_ENGINE | ||
| 150 | #include <openssl/engine.h> | ||
| 151 | #endif | ||
| 152 | |||
| 153 | #include <openssl/rsa.h> | 149 | #include <openssl/rsa.h> |
| 154 | 150 | ||
| 155 | typedef struct { | 151 | typedef struct { |
| @@ -190,8 +186,6 @@ str2fmt(char *s) | |||
| 190 | (strcmp(s, "PKCS12") == 0) || (strcmp(s, "pkcs12") == 0) || | 186 | (strcmp(s, "PKCS12") == 0) || (strcmp(s, "pkcs12") == 0) || |
| 191 | (strcmp(s, "P12") == 0) || (strcmp(s, "p12") == 0)) | 187 | (strcmp(s, "P12") == 0) || (strcmp(s, "p12") == 0)) |
| 192 | return (FORMAT_PKCS12); | 188 | return (FORMAT_PKCS12); |
| 193 | else if ((*s == 'E') || (*s == 'e')) | ||
| 194 | return (FORMAT_ENGINE); | ||
| 195 | else if ((*s == 'P') || (*s == 'p')) { | 189 | else if ((*s == 'P') || (*s == 'p')) { |
| 196 | if (s[1] == 'V' || s[1] == 'v') | 190 | if (s[1] == 'V' || s[1] == 'v') |
| 197 | return FORMAT_PVK; | 191 | return FORMAT_PVK; |
| @@ -626,7 +620,7 @@ die: | |||
| 626 | } | 620 | } |
| 627 | 621 | ||
| 628 | X509 * | 622 | X509 * |
| 629 | load_cert(BIO *err, const char *file, int format, const char *pass, ENGINE *e, | 623 | load_cert(BIO *err, const char *file, int format, const char *pass, |
| 630 | const char *cert_descrip) | 624 | const char *cert_descrip) |
| 631 | { | 625 | { |
| 632 | X509 *x = NULL; | 626 | X509 *x = NULL; |
| @@ -690,7 +684,7 @@ end: | |||
| 690 | 684 | ||
| 691 | EVP_PKEY * | 685 | EVP_PKEY * |
| 692 | load_key(BIO *err, const char *file, int format, int maybe_stdin, | 686 | load_key(BIO *err, const char *file, int format, int maybe_stdin, |
| 693 | const char *pass, ENGINE *e, const char *key_descrip) | 687 | const char *pass, const char *key_descrip) |
| 694 | { | 688 | { |
| 695 | BIO *key = NULL; | 689 | BIO *key = NULL; |
| 696 | EVP_PKEY *pkey = NULL; | 690 | EVP_PKEY *pkey = NULL; |
| @@ -699,26 +693,10 @@ load_key(BIO *err, const char *file, int format, int maybe_stdin, | |||
| 699 | cb_data.password = pass; | 693 | cb_data.password = pass; |
| 700 | cb_data.prompt_info = file; | 694 | cb_data.prompt_info = file; |
| 701 | 695 | ||
| 702 | if (file == NULL && (!maybe_stdin || format == FORMAT_ENGINE)) { | 696 | if (file == NULL && (!maybe_stdin)) { |
| 703 | BIO_printf(err, "no keyfile specified\n"); | 697 | BIO_printf(err, "no keyfile specified\n"); |
| 704 | goto end; | 698 | goto end; |
| 705 | } | 699 | } |
| 706 | #ifndef OPENSSL_NO_ENGINE | ||
| 707 | if (format == FORMAT_ENGINE) { | ||
| 708 | if (!e) | ||
| 709 | BIO_printf(err, "no engine specified\n"); | ||
| 710 | else { | ||
| 711 | pkey = ENGINE_load_private_key(e, file, | ||
| 712 | ui_method, &cb_data); | ||
| 713 | if (!pkey) { | ||
| 714 | BIO_printf(err, "cannot load %s from engine\n", | ||
| 715 | key_descrip); | ||
| 716 | ERR_print_errors(err); | ||
| 717 | } | ||
| 718 | } | ||
| 719 | goto end; | ||
| 720 | } | ||
| 721 | #endif | ||
| 722 | key = BIO_new(BIO_s_file()); | 700 | key = BIO_new(BIO_s_file()); |
| 723 | if (key == NULL) { | 701 | if (key == NULL) { |
| 724 | ERR_print_errors(err); | 702 | ERR_print_errors(err); |
| @@ -769,7 +747,7 @@ end: | |||
| 769 | 747 | ||
| 770 | EVP_PKEY * | 748 | EVP_PKEY * |
| 771 | load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, | 749 | load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, |
| 772 | const char *pass, ENGINE *e, const char *key_descrip) | 750 | const char *pass, const char *key_descrip) |
| 773 | { | 751 | { |
| 774 | BIO *key = NULL; | 752 | BIO *key = NULL; |
| 775 | EVP_PKEY *pkey = NULL; | 753 | EVP_PKEY *pkey = NULL; |
| @@ -778,20 +756,10 @@ load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, | |||
| 778 | cb_data.password = pass; | 756 | cb_data.password = pass; |
| 779 | cb_data.prompt_info = file; | 757 | cb_data.prompt_info = file; |
| 780 | 758 | ||
| 781 | if (file == NULL && (!maybe_stdin || format == FORMAT_ENGINE)) { | 759 | if (file == NULL && !maybe_stdin) { |
| 782 | BIO_printf(err, "no keyfile specified\n"); | 760 | BIO_printf(err, "no keyfile specified\n"); |
| 783 | goto end; | 761 | goto end; |
| 784 | } | 762 | } |
| 785 | #ifndef OPENSSL_NO_ENGINE | ||
| 786 | if (format == FORMAT_ENGINE) { | ||
| 787 | if (!e) | ||
| 788 | BIO_printf(bio_err, "no engine specified\n"); | ||
| 789 | else | ||
| 790 | pkey = ENGINE_load_public_key(e, file, | ||
| 791 | ui_method, &cb_data); | ||
| 792 | goto end; | ||
| 793 | } | ||
| 794 | #endif | ||
| 795 | key = BIO_new(BIO_s_file()); | 763 | key = BIO_new(BIO_s_file()); |
| 796 | if (key == NULL) { | 764 | if (key == NULL) { |
| 797 | ERR_print_errors(err); | 765 | ERR_print_errors(err); |
| @@ -899,7 +867,7 @@ error: | |||
| 899 | 867 | ||
| 900 | static int | 868 | static int |
| 901 | load_certs_crls(BIO *err, const char *file, int format, const char *pass, | 869 | load_certs_crls(BIO *err, const char *file, int format, const char *pass, |
| 902 | ENGINE *e, const char *desc, STACK_OF(X509) **pcerts, | 870 | const char *desc, STACK_OF(X509) **pcerts, |
| 903 | STACK_OF(X509_CRL) **pcrls) | 871 | STACK_OF(X509_CRL) **pcrls) |
| 904 | { | 872 | { |
| 905 | int i; | 873 | int i; |
| @@ -983,22 +951,22 @@ end: | |||
| 983 | 951 | ||
| 984 | STACK_OF(X509) * | 952 | STACK_OF(X509) * |
| 985 | load_certs(BIO *err, const char *file, int format, const char *pass, | 953 | load_certs(BIO *err, const char *file, int format, const char *pass, |
| 986 | ENGINE *e, const char *desc) | 954 | const char *desc) |
| 987 | { | 955 | { |
| 988 | STACK_OF(X509) *certs; | 956 | STACK_OF(X509) *certs; |
| 989 | 957 | ||
| 990 | if (!load_certs_crls(err, file, format, pass, e, desc, &certs, NULL)) | 958 | if (!load_certs_crls(err, file, format, pass, desc, &certs, NULL)) |
| 991 | return NULL; | 959 | return NULL; |
| 992 | return certs; | 960 | return certs; |
| 993 | } | 961 | } |
| 994 | 962 | ||
| 995 | STACK_OF(X509_CRL) * | 963 | STACK_OF(X509_CRL) * |
| 996 | load_crls(BIO *err, const char *file, int format, const char *pass, ENGINE *e, | 964 | load_crls(BIO *err, const char *file, int format, const char *pass, |
| 997 | const char *desc) | 965 | const char *desc) |
| 998 | { | 966 | { |
| 999 | STACK_OF(X509_CRL) *crls; | 967 | STACK_OF(X509_CRL) *crls; |
| 1000 | 968 | ||
| 1001 | if (!load_certs_crls(err, file, format, pass, e, desc, NULL, &crls)) | 969 | if (!load_certs_crls(err, file, format, pass, desc, NULL, &crls)) |
| 1002 | return NULL; | 970 | return NULL; |
| 1003 | return crls; | 971 | return crls; |
| 1004 | } | 972 | } |
| @@ -1248,55 +1216,6 @@ end: | |||
| 1248 | return NULL; | 1216 | return NULL; |
| 1249 | } | 1217 | } |
| 1250 | 1218 | ||
| 1251 | #ifndef OPENSSL_NO_ENGINE | ||
| 1252 | |||
| 1253 | ENGINE * | ||
| 1254 | setup_engine(BIO *err, const char *engine, int debug) | ||
| 1255 | { | ||
| 1256 | ENGINE *e = NULL; | ||
| 1257 | |||
| 1258 | if (engine) { | ||
| 1259 | if (strcmp(engine, "auto") == 0) { | ||
| 1260 | BIO_printf(err, "enabling auto ENGINE support\n"); | ||
| 1261 | ENGINE_register_all_complete(); | ||
| 1262 | return NULL; | ||
| 1263 | } | ||
| 1264 | if ((e = ENGINE_by_id(engine)) == NULL) { | ||
| 1265 | BIO_printf(err, "invalid engine \"%s\"\n", engine); | ||
| 1266 | ERR_print_errors(err); | ||
| 1267 | return NULL; | ||
| 1268 | } | ||
| 1269 | if (debug) { | ||
| 1270 | if (ENGINE_ctrl(e, ENGINE_CTRL_SET_LOGSTREAM, | ||
| 1271 | 0, err, 0) <= 0) { | ||
| 1272 | BIO_printf(err, "Cannot set logstream for " | ||
| 1273 | "engine \"%s\"\n", engine); | ||
| 1274 | ERR_print_errors(err); | ||
| 1275 | ENGINE_free(e); | ||
| 1276 | return NULL; | ||
| 1277 | } | ||
| 1278 | } | ||
| 1279 | if (!ENGINE_ctrl_cmd(e, "SET_USER_INTERFACE", 0, ui_method, 0, 1)) { | ||
| 1280 | BIO_printf(err, "can't set user interface\n"); | ||
| 1281 | ERR_print_errors(err); | ||
| 1282 | ENGINE_free(e); | ||
| 1283 | return NULL; | ||
| 1284 | } | ||
| 1285 | if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) { | ||
| 1286 | BIO_printf(err, "can't use that engine\n"); | ||
| 1287 | ERR_print_errors(err); | ||
| 1288 | ENGINE_free(e); | ||
| 1289 | return NULL; | ||
| 1290 | } | ||
| 1291 | BIO_printf(err, "engine \"%s\" set.\n", ENGINE_get_id(e)); | ||
| 1292 | |||
| 1293 | /* Free our "structural" reference. */ | ||
| 1294 | ENGINE_free(e); | ||
| 1295 | } | ||
| 1296 | return e; | ||
| 1297 | } | ||
| 1298 | #endif | ||
| 1299 | |||
| 1300 | int | 1219 | int |
| 1301 | load_config(BIO *err, CONF *cnf) | 1220 | load_config(BIO *err, CONF *cnf) |
| 1302 | { | 1221 | { |
diff --git a/src/usr.bin/openssl/apps.h b/src/usr.bin/openssl/apps.h index f6e0a8ce19..f63079179d 100644 --- a/src/usr.bin/openssl/apps.h +++ b/src/usr.bin/openssl/apps.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: apps.h,v 1.14 2015/07/15 13:54:34 jsing Exp $ */ | 1 | /* $OpenBSD: apps.h,v 1.15 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -121,10 +121,6 @@ | |||
| 121 | #include <openssl/txt_db.h> | 121 | #include <openssl/txt_db.h> |
| 122 | #include <openssl/x509.h> | 122 | #include <openssl/x509.h> |
| 123 | 123 | ||
| 124 | #ifndef OPENSSL_NO_ENGINE | ||
| 125 | #include <openssl/engine.h> | ||
| 126 | #endif | ||
| 127 | |||
| 128 | #ifndef OPENSSL_NO_OCSP | 124 | #ifndef OPENSSL_NO_OCSP |
| 129 | #include <openssl/ocsp.h> | 125 | #include <openssl/ocsp.h> |
| 130 | #endif | 126 | #endif |
| @@ -166,19 +162,16 @@ int copy_extensions(X509 *x, X509_REQ *req, int copy_type); | |||
| 166 | int app_passwd(BIO *err, char *arg1, char *arg2, char **pass1, char **pass2); | 162 | int app_passwd(BIO *err, char *arg1, char *arg2, char **pass1, char **pass2); |
| 167 | int add_oid_section(BIO *err, CONF *conf); | 163 | int add_oid_section(BIO *err, CONF *conf); |
| 168 | X509 *load_cert(BIO *err, const char *file, int format, | 164 | X509 *load_cert(BIO *err, const char *file, int format, |
| 169 | const char *pass, ENGINE *e, const char *cert_descrip); | 165 | const char *pass, const char *cert_descrip); |
| 170 | EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin, | 166 | EVP_PKEY *load_key(BIO *err, const char *file, int format, int maybe_stdin, |
| 171 | const char *pass, ENGINE *e, const char *key_descrip); | 167 | const char *pass, const char *key_descrip); |
| 172 | EVP_PKEY *load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, | 168 | EVP_PKEY *load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, |
| 173 | const char *pass, ENGINE *e, const char *key_descrip); | 169 | const char *pass, const char *key_descrip); |
| 174 | STACK_OF(X509) *load_certs(BIO *err, const char *file, int format, | 170 | STACK_OF(X509) *load_certs(BIO *err, const char *file, int format, |
| 175 | const char *pass, ENGINE *e, const char *cert_descrip); | 171 | const char *pass, const char *cert_descrip); |
| 176 | STACK_OF(X509_CRL) *load_crls(BIO *err, const char *file, int format, | 172 | STACK_OF(X509_CRL) *load_crls(BIO *err, const char *file, int format, |
| 177 | const char *pass, ENGINE *e, const char *cert_descrip); | 173 | const char *pass, const char *cert_descrip); |
| 178 | X509_STORE *setup_verify(BIO *bp, char *CAfile, char *CApath); | 174 | X509_STORE *setup_verify(BIO *bp, char *CAfile, char *CApath); |
| 179 | #ifndef OPENSSL_NO_ENGINE | ||
| 180 | ENGINE *setup_engine(BIO *err, const char *engine, int debug); | ||
| 181 | #endif | ||
| 182 | 175 | ||
| 183 | #ifndef OPENSSL_NO_OCSP | 176 | #ifndef OPENSSL_NO_OCSP |
| 184 | OCSP_RESPONSE *process_responder(BIO *err, OCSP_REQUEST *req, | 177 | OCSP_RESPONSE *process_responder(BIO *err, OCSP_REQUEST *req, |
| @@ -236,7 +229,7 @@ int args_verify(char ***pargs, int *pargc, int *badarg, BIO *err, | |||
| 236 | void policies_print(BIO *out, X509_STORE_CTX *ctx); | 229 | void policies_print(BIO *out, X509_STORE_CTX *ctx); |
| 237 | int bio_to_mem(unsigned char **out, int maxlen, BIO *in); | 230 | int bio_to_mem(unsigned char **out, int maxlen, BIO *in); |
| 238 | int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value); | 231 | int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value); |
| 239 | int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx, const char *algname, ENGINE *e, | 232 | int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx, const char *algname, |
| 240 | int do_param); | 233 | int do_param); |
| 241 | int do_X509_sign(BIO *err, X509 *x, EVP_PKEY *pkey, const EVP_MD *md, | 234 | int do_X509_sign(BIO *err, X509 *x, EVP_PKEY *pkey, const EVP_MD *md, |
| 242 | STACK_OF(OPENSSL_STRING) *sigopts); | 235 | STACK_OF(OPENSSL_STRING) *sigopts); |
| @@ -254,7 +247,7 @@ unsigned char *next_protos_parse(unsigned short *outlen, const char *in); | |||
| 254 | #define FORMAT_NETSCAPE 4 | 247 | #define FORMAT_NETSCAPE 4 |
| 255 | #define FORMAT_PKCS12 5 | 248 | #define FORMAT_PKCS12 5 |
| 256 | #define FORMAT_SMIME 6 | 249 | #define FORMAT_SMIME 6 |
| 257 | #define FORMAT_ENGINE 7 | 250 | |
| 258 | #define FORMAT_IISSGC 8 /* XXX this stupid macro helps us to avoid | 251 | #define FORMAT_IISSGC 8 /* XXX this stupid macro helps us to avoid |
| 259 | * adding yet another param to load_*key() */ | 252 | * adding yet another param to load_*key() */ |
| 260 | #define FORMAT_PEMRSA 9 /* PEM RSAPubicKey format */ | 253 | #define FORMAT_PEMRSA 9 /* PEM RSAPubicKey format */ |
diff --git a/src/usr.bin/openssl/ca.c b/src/usr.bin/openssl/ca.c index 8645128e42..254d551aa5 100644 --- a/src/usr.bin/openssl/ca.c +++ b/src/usr.bin/openssl/ca.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ca.c,v 1.11 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: ca.c,v 1.12 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -135,7 +135,7 @@ static const char *ca_usage[] = { | |||
| 135 | " -md arg - md to use, one of md2, md5, sha or sha1\n", | 135 | " -md arg - md to use, one of md2, md5, sha or sha1\n", |
| 136 | " -policy arg - The CA 'policy' to support\n", | 136 | " -policy arg - The CA 'policy' to support\n", |
| 137 | " -keyfile arg - private key file\n", | 137 | " -keyfile arg - private key file\n", |
| 138 | " -keyform arg - private key file format (PEM or ENGINE)\n", | 138 | " -keyform arg - private key file format (PEM)\n", |
| 139 | " -key arg - key to decode the private key if it is encrypted\n", | 139 | " -key arg - key to decode the private key if it is encrypted\n", |
| 140 | " -cert file - The CA certificate\n", | 140 | " -cert file - The CA certificate\n", |
| 141 | " -selfsign - sign a certificate with the key associated with it\n", | 141 | " -selfsign - sign a certificate with the key associated with it\n", |
| @@ -156,9 +156,6 @@ static const char *ca_usage[] = { | |||
| 156 | " -extensions .. - Extension section (override value in config file)\n", | 156 | " -extensions .. - Extension section (override value in config file)\n", |
| 157 | " -extfile file - Configuration file with X509v3 extentions to add\n", | 157 | " -extfile file - Configuration file with X509v3 extentions to add\n", |
| 158 | " -crlexts .. - CRL extension section (override value in config file)\n", | 158 | " -crlexts .. - CRL extension section (override value in config file)\n", |
| 159 | #ifndef OPENSSL_NO_ENGINE | ||
| 160 | " -engine e - use engine e, possibly a hardware device.\n", | ||
| 161 | #endif | ||
| 162 | " -status serial - Shows certificate status given the serial number\n", | 159 | " -status serial - Shows certificate status given the serial number\n", |
| 163 | " -updatedb - Updates db for expired certificates\n", | 160 | " -updatedb - Updates db for expired certificates\n", |
| 164 | NULL | 161 | NULL |
| @@ -178,7 +175,7 @@ static int certify_cert(X509 ** xret, char *infile, EVP_PKEY * pkey, | |||
| 178 | unsigned long chtype, int multirdn, int email_dn, char *startdate, | 175 | unsigned long chtype, int multirdn, int email_dn, char *startdate, |
| 179 | char *enddate, long days, int batch, char *ext_sect, CONF * conf, | 176 | char *enddate, long days, int batch, char *ext_sect, CONF * conf, |
| 180 | int verbose, unsigned long certopt, unsigned long nameopt, int default_op, | 177 | int verbose, unsigned long certopt, unsigned long nameopt, int default_op, |
| 181 | int ext_copy, ENGINE * e); | 178 | int ext_copy); |
| 182 | static int certify_spkac(X509 ** xret, char *infile, EVP_PKEY * pkey, | 179 | static int certify_spkac(X509 ** xret, char *infile, EVP_PKEY * pkey, |
| 183 | X509 * x509, const EVP_MD * dgst, STACK_OF(OPENSSL_STRING) * sigopts, | 180 | X509 * x509, const EVP_MD * dgst, STACK_OF(OPENSSL_STRING) * sigopts, |
| 184 | STACK_OF(CONF_VALUE) * policy, CA_DB * db, BIGNUM * serial, char *subj, | 181 | STACK_OF(CONF_VALUE) * policy, CA_DB * db, BIGNUM * serial, char *subj, |
| @@ -213,7 +210,6 @@ static int msie_hack = 0; | |||
| 213 | int | 210 | int |
| 214 | ca_main(int argc, char **argv) | 211 | ca_main(int argc, char **argv) |
| 215 | { | 212 | { |
| 216 | ENGINE *e = NULL; | ||
| 217 | char *key = NULL, *passargin = NULL; | 213 | char *key = NULL, *passargin = NULL; |
| 218 | int create_ser = 0; | 214 | int create_ser = 0; |
| 219 | int free_key = 0; | 215 | int free_key = 0; |
| @@ -286,9 +282,6 @@ ca_main(int argc, char **argv) | |||
| 286 | STACK_OF(OPENSSL_STRING) * sigopts = NULL; | 282 | STACK_OF(OPENSSL_STRING) * sigopts = NULL; |
| 287 | #define BUFLEN 256 | 283 | #define BUFLEN 256 |
| 288 | char buf[3][BUFLEN]; | 284 | char buf[3][BUFLEN]; |
| 289 | #ifndef OPENSSL_NO_ENGINE | ||
| 290 | char *engine = NULL; | ||
| 291 | #endif | ||
| 292 | char *tofree = NULL; | 285 | char *tofree = NULL; |
| 293 | const char *errstr = NULL; | 286 | const char *errstr = NULL; |
| 294 | DB_ATTR db_attr; | 287 | DB_ATTR db_attr; |
| @@ -478,13 +471,6 @@ ca_main(int argc, char **argv) | |||
| 478 | rev_arg = *(++argv); | 471 | rev_arg = *(++argv); |
| 479 | rev_type = REV_CA_COMPROMISE; | 472 | rev_type = REV_CA_COMPROMISE; |
| 480 | } | 473 | } |
| 481 | #ifndef OPENSSL_NO_ENGINE | ||
| 482 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 483 | if (--argc < 1) | ||
| 484 | goto bad; | ||
| 485 | engine = *(++argv); | ||
| 486 | } | ||
| 487 | #endif | ||
| 488 | else { | 474 | else { |
| 489 | bad: | 475 | bad: |
| 490 | if (errstr) | 476 | if (errstr) |
| @@ -536,10 +522,6 @@ bad: | |||
| 536 | free(tofree); | 522 | free(tofree); |
| 537 | tofree = NULL; | 523 | tofree = NULL; |
| 538 | 524 | ||
| 539 | #ifndef OPENSSL_NO_ENGINE | ||
| 540 | e = setup_engine(bio_err, engine, 0); | ||
| 541 | #endif | ||
| 542 | |||
| 543 | /* Lets get the config section we are using */ | 525 | /* Lets get the config section we are using */ |
| 544 | if (section == NULL) { | 526 | if (section == NULL) { |
| 545 | section = NCONF_get_string(conf, BASE_SECTION, ENV_DEFAULT_CA); | 527 | section = NCONF_get_string(conf, BASE_SECTION, ENV_DEFAULT_CA); |
| @@ -639,7 +621,7 @@ bad: | |||
| 639 | goto err; | 621 | goto err; |
| 640 | } | 622 | } |
| 641 | } | 623 | } |
| 642 | pkey = load_key(bio_err, keyfile, keyform, 0, key, e, "CA private key"); | 624 | pkey = load_key(bio_err, keyfile, keyform, 0, key, "CA private key"); |
| 643 | if (key) | 625 | if (key) |
| 644 | explicit_bzero(key, strlen(key)); | 626 | explicit_bzero(key, strlen(key)); |
| 645 | if (pkey == NULL) { | 627 | if (pkey == NULL) { |
| @@ -655,7 +637,7 @@ bad: | |||
| 655 | lookup_fail(section, ENV_CERTIFICATE); | 637 | lookup_fail(section, ENV_CERTIFICATE); |
| 656 | goto err; | 638 | goto err; |
| 657 | } | 639 | } |
| 658 | x509 = load_cert(bio_err, certfile, FORMAT_PEM, NULL, e, | 640 | x509 = load_cert(bio_err, certfile, FORMAT_PEM, NULL, |
| 659 | "CA certificate"); | 641 | "CA certificate"); |
| 660 | if (x509 == NULL) | 642 | if (x509 == NULL) |
| 661 | goto err; | 643 | goto err; |
| @@ -1028,7 +1010,7 @@ bad: | |||
| 1028 | sigopts, attribs, db, serial, subj, chtype, | 1010 | sigopts, attribs, db, serial, subj, chtype, |
| 1029 | multirdn, email_dn, startdate, enddate, days, batch, | 1011 | multirdn, email_dn, startdate, enddate, days, batch, |
| 1030 | extensions, conf, verbose, certopt, nameopt, | 1012 | extensions, conf, verbose, certopt, nameopt, |
| 1031 | default_op, ext_copy, e); | 1013 | default_op, ext_copy); |
| 1032 | if (j < 0) | 1014 | if (j < 0) |
| 1033 | goto err; | 1015 | goto err; |
| 1034 | if (j > 0) { | 1016 | if (j > 0) { |
| @@ -1314,7 +1296,7 @@ bad: | |||
| 1314 | } else { | 1296 | } else { |
| 1315 | X509 *revcert; | 1297 | X509 *revcert; |
| 1316 | revcert = load_cert(bio_err, infile, FORMAT_PEM, | 1298 | revcert = load_cert(bio_err, infile, FORMAT_PEM, |
| 1317 | NULL, e, infile); | 1299 | NULL, infile); |
| 1318 | if (revcert == NULL) | 1300 | if (revcert == NULL) |
| 1319 | goto err; | 1301 | goto err; |
| 1320 | j = do_revoke(revcert, db, rev_type, rev_arg); | 1302 | j = do_revoke(revcert, db, rev_type, rev_arg); |
| @@ -1446,14 +1428,14 @@ certify_cert(X509 ** xret, char *infile, EVP_PKEY * pkey, X509 * x509, | |||
| 1446 | unsigned long chtype, int multirdn, int email_dn, char *startdate, | 1428 | unsigned long chtype, int multirdn, int email_dn, char *startdate, |
| 1447 | char *enddate, long days, int batch, char *ext_sect, CONF * lconf, | 1429 | char *enddate, long days, int batch, char *ext_sect, CONF * lconf, |
| 1448 | int verbose, unsigned long certopt, unsigned long nameopt, int default_op, | 1430 | int verbose, unsigned long certopt, unsigned long nameopt, int default_op, |
| 1449 | int ext_copy, ENGINE * e) | 1431 | int ext_copy) |
| 1450 | { | 1432 | { |
| 1451 | X509 *req = NULL; | 1433 | X509 *req = NULL; |
| 1452 | X509_REQ *rreq = NULL; | 1434 | X509_REQ *rreq = NULL; |
| 1453 | EVP_PKEY *pktmp = NULL; | 1435 | EVP_PKEY *pktmp = NULL; |
| 1454 | int ok = -1, i; | 1436 | int ok = -1, i; |
| 1455 | 1437 | ||
| 1456 | if ((req = load_cert(bio_err, infile, FORMAT_PEM, NULL, e, | 1438 | if ((req = load_cert(bio_err, infile, FORMAT_PEM, NULL, |
| 1457 | infile)) == NULL) | 1439 | infile)) == NULL) |
| 1458 | goto err; | 1440 | goto err; |
| 1459 | if (verbose) | 1441 | if (verbose) |
diff --git a/src/usr.bin/openssl/cms.c b/src/usr.bin/openssl/cms.c index c6e662ab33..fccac23db7 100644 --- a/src/usr.bin/openssl/cms.c +++ b/src/usr.bin/openssl/cms.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: cms.c,v 1.2 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: cms.c,v 1.3 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project. | 3 | * project. |
| 4 | */ | 4 | */ |
| @@ -99,7 +99,6 @@ int verify_err = 0; | |||
| 99 | int | 99 | int |
| 100 | cms_main(int argc, char **argv) | 100 | cms_main(int argc, char **argv) |
| 101 | { | 101 | { |
| 102 | ENGINE *e = NULL; | ||
| 103 | int operation = 0; | 102 | int operation = 0; |
| 104 | int ret = 0; | 103 | int ret = 0; |
| 105 | char **args; | 104 | char **args; |
| @@ -128,9 +127,6 @@ cms_main(int argc, char **argv) | |||
| 128 | const EVP_MD *sign_md = NULL; | 127 | const EVP_MD *sign_md = NULL; |
| 129 | int informat = FORMAT_SMIME, outformat = FORMAT_SMIME; | 128 | int informat = FORMAT_SMIME, outformat = FORMAT_SMIME; |
| 130 | int rctformat = FORMAT_SMIME, keyform = FORMAT_PEM; | 129 | int rctformat = FORMAT_SMIME, keyform = FORMAT_PEM; |
| 131 | #ifndef OPENSSL_NO_ENGINE | ||
| 132 | char *engine = NULL; | ||
| 133 | #endif | ||
| 134 | unsigned char *secret_key = NULL, *secret_keyid = NULL; | 130 | unsigned char *secret_key = NULL, *secret_keyid = NULL; |
| 135 | unsigned char *pwri_pass = NULL, *pwri_tmp = NULL; | 131 | unsigned char *pwri_pass = NULL, *pwri_tmp = NULL; |
| 136 | size_t secret_keylen = 0, secret_keyidlen = 0; | 132 | size_t secret_keylen = 0, secret_keyidlen = 0; |
| @@ -310,13 +306,6 @@ cms_main(int argc, char **argv) | |||
| 310 | goto argerr; | 306 | goto argerr; |
| 311 | } | 307 | } |
| 312 | } | 308 | } |
| 313 | #ifndef OPENSSL_NO_ENGINE | ||
| 314 | else if (!strcmp(*args, "-engine")) { | ||
| 315 | if (!args[1]) | ||
| 316 | goto argerr; | ||
| 317 | engine = *++args; | ||
| 318 | } | ||
| 319 | #endif | ||
| 320 | else if (!strcmp(*args, "-passin")) { | 309 | else if (!strcmp(*args, "-passin")) { |
| 321 | if (!args[1]) | 310 | if (!args[1]) |
| 322 | goto argerr; | 311 | goto argerr; |
| @@ -526,7 +515,7 @@ argerr: | |||
| 526 | BIO_printf(bio_err, "-in file input file\n"); | 515 | BIO_printf(bio_err, "-in file input file\n"); |
| 527 | BIO_printf(bio_err, "-inform arg input format SMIME (default), PEM or DER\n"); | 516 | BIO_printf(bio_err, "-inform arg input format SMIME (default), PEM or DER\n"); |
| 528 | BIO_printf(bio_err, "-inkey file input private key (if not signer or recipient)\n"); | 517 | BIO_printf(bio_err, "-inkey file input private key (if not signer or recipient)\n"); |
| 529 | BIO_printf(bio_err, "-keyform arg input private key format (PEM or ENGINE)\n"); | 518 | BIO_printf(bio_err, "-keyform arg input private key format (PEM)\n"); |
| 530 | BIO_printf(bio_err, "-out file output file\n"); | 519 | BIO_printf(bio_err, "-out file output file\n"); |
| 531 | BIO_printf(bio_err, "-outform arg output format SMIME (default), PEM or DER\n"); | 520 | BIO_printf(bio_err, "-outform arg output format SMIME (default), PEM or DER\n"); |
| 532 | BIO_printf(bio_err, "-content file supply or override content for detached signature\n"); | 521 | BIO_printf(bio_err, "-content file supply or override content for detached signature\n"); |
| @@ -538,16 +527,10 @@ argerr: | |||
| 538 | BIO_printf(bio_err, "-CAfile file trusted certificates file\n"); | 527 | BIO_printf(bio_err, "-CAfile file trusted certificates file\n"); |
| 539 | BIO_printf(bio_err, "-crl_check check revocation status of signer's certificate using CRLs\n"); | 528 | BIO_printf(bio_err, "-crl_check check revocation status of signer's certificate using CRLs\n"); |
| 540 | BIO_printf(bio_err, "-crl_check_all check revocation status of signer's certificate chain using CRLs\n"); | 529 | BIO_printf(bio_err, "-crl_check_all check revocation status of signer's certificate chain using CRLs\n"); |
| 541 | #ifndef OPENSSL_NO_ENGINE | ||
| 542 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 543 | #endif | ||
| 544 | BIO_printf(bio_err, "-passin arg input file pass phrase source\n"); | 530 | BIO_printf(bio_err, "-passin arg input file pass phrase source\n"); |
| 545 | BIO_printf(bio_err, "cert.pem recipient certificate(s) for encryption\n"); | 531 | BIO_printf(bio_err, "cert.pem recipient certificate(s) for encryption\n"); |
| 546 | goto end; | 532 | goto end; |
| 547 | } | 533 | } |
| 548 | #ifndef OPENSSL_NO_ENGINE | ||
| 549 | e = setup_engine(bio_err, engine, 0); | ||
| 550 | #endif | ||
| 551 | 534 | ||
| 552 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { | 535 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { |
| 553 | BIO_printf(bio_err, "Error getting password\n"); | 536 | BIO_printf(bio_err, "Error getting password\n"); |
diff --git a/src/usr.bin/openssl/dgst.c b/src/usr.bin/openssl/dgst.c index d442bba266..94d98ac6a4 100644 --- a/src/usr.bin/openssl/dgst.c +++ b/src/usr.bin/openssl/dgst.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dgst.c,v 1.5 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: dgst.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -101,7 +101,6 @@ list_md_fn(const EVP_MD * m, const char *from, const char *to, void *arg) | |||
| 101 | int | 101 | int |
| 102 | dgst_main(int argc, char **argv) | 102 | dgst_main(int argc, char **argv) |
| 103 | { | 103 | { |
| 104 | ENGINE *e = NULL; | ||
| 105 | unsigned char *buf = NULL; | 104 | unsigned char *buf = NULL; |
| 106 | int i, err = 1; | 105 | int i, err = 1; |
| 107 | const EVP_MD *md = NULL, *m; | 106 | const EVP_MD *md = NULL, *m; |
| @@ -120,9 +119,6 @@ dgst_main(int argc, char **argv) | |||
| 120 | unsigned char *sigbuf = NULL; | 119 | unsigned char *sigbuf = NULL; |
| 121 | int siglen = 0; | 120 | int siglen = 0; |
| 122 | char *passargin = NULL, *passin = NULL; | 121 | char *passargin = NULL, *passin = NULL; |
| 123 | #ifndef OPENSSL_NO_ENGINE | ||
| 124 | char *engine = NULL; | ||
| 125 | #endif | ||
| 126 | char *hmac_key = NULL; | 122 | char *hmac_key = NULL; |
| 127 | char *mac_name = NULL; | 123 | char *mac_name = NULL; |
| 128 | STACK_OF(OPENSSL_STRING) * sigopts = NULL, *macopts = NULL; | 124 | STACK_OF(OPENSSL_STRING) * sigopts = NULL, *macopts = NULL; |
| @@ -178,14 +174,6 @@ dgst_main(int argc, char **argv) | |||
| 178 | break; | 174 | break; |
| 179 | keyform = str2fmt(*(++argv)); | 175 | keyform = str2fmt(*(++argv)); |
| 180 | } | 176 | } |
| 181 | #ifndef OPENSSL_NO_ENGINE | ||
| 182 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 183 | if (--argc < 1) | ||
| 184 | break; | ||
| 185 | engine = *(++argv); | ||
| 186 | e = setup_engine(bio_err, engine, 0); | ||
| 187 | } | ||
| 188 | #endif | ||
| 189 | else if (strcmp(*argv, "-hex") == 0) | 177 | else if (strcmp(*argv, "-hex") == 0) |
| 190 | out_bin = 0; | 178 | out_bin = 0; |
| 191 | else if (strcmp(*argv, "-binary") == 0) | 179 | else if (strcmp(*argv, "-binary") == 0) |
| @@ -238,16 +226,13 @@ dgst_main(int argc, char **argv) | |||
| 238 | BIO_printf(bio_err, "-sign file sign digest using private key in file\n"); | 226 | BIO_printf(bio_err, "-sign file sign digest using private key in file\n"); |
| 239 | BIO_printf(bio_err, "-verify file verify a signature using public key in file\n"); | 227 | BIO_printf(bio_err, "-verify file verify a signature using public key in file\n"); |
| 240 | BIO_printf(bio_err, "-prverify file verify a signature using private key in file\n"); | 228 | BIO_printf(bio_err, "-prverify file verify a signature using private key in file\n"); |
| 241 | BIO_printf(bio_err, "-keyform arg key file format (PEM or ENGINE)\n"); | 229 | BIO_printf(bio_err, "-keyform arg key file format (PEM)\n"); |
| 242 | BIO_printf(bio_err, "-out filename output to filename rather than stdout\n"); | 230 | BIO_printf(bio_err, "-out filename output to filename rather than stdout\n"); |
| 243 | BIO_printf(bio_err, "-signature file signature to verify\n"); | 231 | BIO_printf(bio_err, "-signature file signature to verify\n"); |
| 244 | BIO_printf(bio_err, "-sigopt nm:v signature parameter\n"); | 232 | BIO_printf(bio_err, "-sigopt nm:v signature parameter\n"); |
| 245 | BIO_printf(bio_err, "-hmac key create hashed MAC with key\n"); | 233 | BIO_printf(bio_err, "-hmac key create hashed MAC with key\n"); |
| 246 | BIO_printf(bio_err, "-mac algorithm create MAC (not neccessarily HMAC)\n"); | 234 | BIO_printf(bio_err, "-mac algorithm create MAC (not neccessarily HMAC)\n"); |
| 247 | BIO_printf(bio_err, "-macopt nm:v MAC algorithm parameters or key\n"); | 235 | BIO_printf(bio_err, "-macopt nm:v MAC algorithm parameters or key\n"); |
| 248 | #ifndef OPENSSL_NO_ENGINE | ||
| 249 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 250 | #endif | ||
| 251 | 236 | ||
| 252 | EVP_MD_do_all_sorted(list_md_fn, bio_err); | 237 | EVP_MD_do_all_sorted(list_md_fn, bio_err); |
| 253 | goto end; | 238 | goto end; |
| @@ -298,10 +283,10 @@ dgst_main(int argc, char **argv) | |||
| 298 | if (keyfile) { | 283 | if (keyfile) { |
| 299 | if (want_pub) | 284 | if (want_pub) |
| 300 | sigkey = load_pubkey(bio_err, keyfile, keyform, 0, NULL, | 285 | sigkey = load_pubkey(bio_err, keyfile, keyform, 0, NULL, |
| 301 | e, "key file"); | 286 | "key file"); |
| 302 | else | 287 | else |
| 303 | sigkey = load_key(bio_err, keyfile, keyform, 0, passin, | 288 | sigkey = load_key(bio_err, keyfile, keyform, 0, passin, |
| 304 | e, "key file"); | 289 | "key file"); |
| 305 | if (!sigkey) { | 290 | if (!sigkey) { |
| 306 | /* | 291 | /* |
| 307 | * load_[pub]key() has already printed an appropriate | 292 | * load_[pub]key() has already printed an appropriate |
| @@ -313,7 +298,7 @@ dgst_main(int argc, char **argv) | |||
| 313 | if (mac_name) { | 298 | if (mac_name) { |
| 314 | EVP_PKEY_CTX *mac_ctx = NULL; | 299 | EVP_PKEY_CTX *mac_ctx = NULL; |
| 315 | int r = 0; | 300 | int r = 0; |
| 316 | if (!init_gen_str(bio_err, &mac_ctx, mac_name, e, 0)) | 301 | if (!init_gen_str(bio_err, &mac_ctx, mac_name, 0)) |
| 317 | goto mac_end; | 302 | goto mac_end; |
| 318 | if (macopts) { | 303 | if (macopts) { |
| 319 | char *macopt; | 304 | char *macopt; |
| @@ -341,7 +326,7 @@ mac_end: | |||
| 341 | goto end; | 326 | goto end; |
| 342 | } | 327 | } |
| 343 | if (hmac_key) { | 328 | if (hmac_key) { |
| 344 | sigkey = EVP_PKEY_new_mac_key(EVP_PKEY_HMAC, e, | 329 | sigkey = EVP_PKEY_new_mac_key(EVP_PKEY_HMAC, NULL, |
| 345 | (unsigned char *) hmac_key, -1); | 330 | (unsigned char *) hmac_key, -1); |
| 346 | if (!sigkey) | 331 | if (!sigkey) |
| 347 | goto end; | 332 | goto end; |
diff --git a/src/usr.bin/openssl/dh.c b/src/usr.bin/openssl/dh.c index ed86428258..f4112e87c2 100644 --- a/src/usr.bin/openssl/dh.c +++ b/src/usr.bin/openssl/dh.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dh.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: dh.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -77,9 +77,6 @@ | |||
| 77 | static struct { | 77 | static struct { |
| 78 | int C; | 78 | int C; |
| 79 | int check; | 79 | int check; |
| 80 | #ifndef OPENSSL_NO_ENGINE | ||
| 81 | char *engine; | ||
| 82 | #endif | ||
| 83 | char *infile; | 80 | char *infile; |
| 84 | int informat; | 81 | int informat; |
| 85 | int noout; | 82 | int noout; |
| @@ -101,15 +98,6 @@ static struct option dh_options[] = { | |||
| 101 | .type = OPTION_FLAG, | 98 | .type = OPTION_FLAG, |
| 102 | .opt.flag = &dh_config.check, | 99 | .opt.flag = &dh_config.check, |
| 103 | }, | 100 | }, |
| 104 | #ifndef OPENSSL_NO_ENGINE | ||
| 105 | { | ||
| 106 | .name = "engine", | ||
| 107 | .argname = "id", | ||
| 108 | .desc = "Use the engine specified by the given identifier", | ||
| 109 | .type = OPTION_ARG, | ||
| 110 | .opt.arg = &dh_config.engine, | ||
| 111 | }, | ||
| 112 | #endif | ||
| 113 | { | 101 | { |
| 114 | .name = "in", | 102 | .name = "in", |
| 115 | .argname = "file", | 103 | .argname = "file", |
| @@ -157,7 +145,7 @@ static void | |||
| 157 | dh_usage(void) | 145 | dh_usage(void) |
| 158 | { | 146 | { |
| 159 | fprintf(stderr, | 147 | fprintf(stderr, |
| 160 | "usage: dh [-C] [-check] [-engine id] [-in file] [-inform format]\n" | 148 | "usage: dh [-C] [-check] [-in file] [-inform format]\n" |
| 161 | " [-noout] [-out file] [-outform format] [-text]\n\n"); | 149 | " [-noout] [-out file] [-outform format] [-text]\n\n"); |
| 162 | options_usage(dh_options); | 150 | options_usage(dh_options); |
| 163 | } | 151 | } |
| @@ -180,10 +168,6 @@ dh_main(int argc, char **argv) | |||
| 180 | goto end; | 168 | goto end; |
| 181 | } | 169 | } |
| 182 | 170 | ||
| 183 | #ifndef OPENSSL_NO_ENGINE | ||
| 184 | setup_engine(bio_err, dh_config.engine, 0); | ||
| 185 | #endif | ||
| 186 | |||
| 187 | in = BIO_new(BIO_s_file()); | 171 | in = BIO_new(BIO_s_file()); |
| 188 | out = BIO_new(BIO_s_file()); | 172 | out = BIO_new(BIO_s_file()); |
| 189 | if (in == NULL || out == NULL) { | 173 | if (in == NULL || out == NULL) { |
diff --git a/src/usr.bin/openssl/dhparam.c b/src/usr.bin/openssl/dhparam.c index 5757b906b1..158a07a572 100644 --- a/src/usr.bin/openssl/dhparam.c +++ b/src/usr.bin/openssl/dhparam.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dhparam.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: dhparam.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -135,9 +135,6 @@ struct { | |||
| 135 | int C; | 135 | int C; |
| 136 | int check; | 136 | int check; |
| 137 | int dsaparam; | 137 | int dsaparam; |
| 138 | #ifndef OPENSSL_NO_ENGINE | ||
| 139 | char *engine; | ||
| 140 | #endif | ||
| 141 | int g; | 138 | int g; |
| 142 | char *infile; | 139 | char *infile; |
| 143 | int informat; | 140 | int informat; |
| @@ -181,15 +178,6 @@ struct option dhparam_options[] = { | |||
| 181 | .type = OPTION_FLAG, | 178 | .type = OPTION_FLAG, |
| 182 | .opt.flag = &dhparam_config.dsaparam, | 179 | .opt.flag = &dhparam_config.dsaparam, |
| 183 | }, | 180 | }, |
| 184 | #ifndef OPENSSL_NO_ENGINE | ||
| 185 | { | ||
| 186 | .name = "engine", | ||
| 187 | .argname = "id", | ||
| 188 | .desc = "Use the engine specified by the given identifier", | ||
| 189 | .type = OPTION_ARG, | ||
| 190 | .opt.arg = &dhparam_config.engine, | ||
| 191 | }, | ||
| 192 | #endif | ||
| 193 | { | 181 | { |
| 194 | .name = "in", | 182 | .name = "in", |
| 195 | .argname = "file", | 183 | .argname = "file", |
| @@ -237,7 +225,7 @@ static void | |||
| 237 | dhparam_usage() | 225 | dhparam_usage() |
| 238 | { | 226 | { |
| 239 | fprintf(stderr, | 227 | fprintf(stderr, |
| 240 | "usage: dhparam [-2 | -5] [-C] [-check] [-dsaparam] [-engine id]\n" | 228 | "usage: dhparam [-2 | -5] [-C] [-check] [-dsaparam]\n" |
| 241 | " [-in file] [-inform DER | PEM] [-noout] [-out file]\n" | 229 | " [-in file] [-inform DER | PEM] [-noout] [-out file]\n" |
| 242 | " [-outform DER | PEM] [-text] [numbits]\n\n"); | 230 | " [-outform DER | PEM] [-text] [numbits]\n\n"); |
| 243 | options_usage(dhparam_options); | 231 | options_usage(dhparam_options); |
| @@ -273,10 +261,6 @@ dhparam_main(int argc, char **argv) | |||
| 273 | } | 261 | } |
| 274 | } | 262 | } |
| 275 | 263 | ||
| 276 | #ifndef OPENSSL_NO_ENGINE | ||
| 277 | setup_engine(bio_err, dhparam_config.engine, 0); | ||
| 278 | #endif | ||
| 279 | |||
| 280 | if (dhparam_config.g && !num) | 264 | if (dhparam_config.g && !num) |
| 281 | num = DEFBITS; | 265 | num = DEFBITS; |
| 282 | 266 | ||
diff --git a/src/usr.bin/openssl/dsa.c b/src/usr.bin/openssl/dsa.c index 2b6bff29f3..813e163662 100644 --- a/src/usr.bin/openssl/dsa.c +++ b/src/usr.bin/openssl/dsa.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dsa.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: dsa.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -76,9 +76,6 @@ | |||
| 76 | 76 | ||
| 77 | static struct { | 77 | static struct { |
| 78 | const EVP_CIPHER *enc; | 78 | const EVP_CIPHER *enc; |
| 79 | #ifndef OPENSSL_NO_ENGINE | ||
| 80 | char *engine; | ||
| 81 | #endif | ||
| 82 | char *infile; | 79 | char *infile; |
| 83 | int informat; | 80 | int informat; |
| 84 | int modulus; | 81 | int modulus; |
| @@ -110,15 +107,6 @@ dsa_opt_enc(int argc, char **argv, int *argsused) | |||
| 110 | } | 107 | } |
| 111 | 108 | ||
| 112 | static struct option dsa_options[] = { | 109 | static struct option dsa_options[] = { |
| 113 | #ifndef OPENSSL_NO_ENGINE | ||
| 114 | { | ||
| 115 | .name = "engine", | ||
| 116 | .argname = "id", | ||
| 117 | .desc = "Use the engine specified by the given identifier", | ||
| 118 | .type = OPTION_ARG, | ||
| 119 | .opt.arg = &dsa_config.engine, | ||
| 120 | }, | ||
| 121 | #endif | ||
| 122 | { | 110 | { |
| 123 | .name = "in", | 111 | .name = "in", |
| 124 | .argname = "file", | 112 | .argname = "file", |
| @@ -231,7 +219,7 @@ static void | |||
| 231 | dsa_usage(void) | 219 | dsa_usage(void) |
| 232 | { | 220 | { |
| 233 | fprintf(stderr, | 221 | fprintf(stderr, |
| 234 | "usage: dsa [-engine id] [-in file] [-inform format] [-noout]\n" | 222 | "usage: dsa [-in file] [-inform format] [-noout]\n" |
| 235 | " [-out file] [-outform format] [-passin src] [-passout src]\n" | 223 | " [-out file] [-outform format] [-passin src] [-passout src]\n" |
| 236 | " [-pubin] [-pubout] [-pvk-none | -pvk-strong | -pvk-weak]\n" | 224 | " [-pubin] [-pubout] [-pvk-none | -pvk-strong | -pvk-weak]\n" |
| 237 | " [-text] [-ciphername]\n\n"); | 225 | " [-text] [-ciphername]\n\n"); |
| @@ -246,7 +234,6 @@ dsa_usage(void) | |||
| 246 | int | 234 | int |
| 247 | dsa_main(int argc, char **argv) | 235 | dsa_main(int argc, char **argv) |
| 248 | { | 236 | { |
| 249 | ENGINE *e = NULL; | ||
| 250 | int ret = 1; | 237 | int ret = 1; |
| 251 | DSA *dsa = NULL; | 238 | DSA *dsa = NULL; |
| 252 | int i; | 239 | int i; |
| @@ -264,10 +251,6 @@ dsa_main(int argc, char **argv) | |||
| 264 | goto end; | 251 | goto end; |
| 265 | } | 252 | } |
| 266 | 253 | ||
| 267 | #ifndef OPENSSL_NO_ENGINE | ||
| 268 | e = setup_engine(bio_err, dsa_config.engine, 0); | ||
| 269 | #endif | ||
| 270 | |||
| 271 | if (!app_passwd(bio_err, dsa_config.passargin, dsa_config.passargout, | 254 | if (!app_passwd(bio_err, dsa_config.passargin, dsa_config.passargout, |
| 272 | &passin, &passout)) { | 255 | &passin, &passout)) { |
| 273 | BIO_printf(bio_err, "Error getting passwords\n"); | 256 | BIO_printf(bio_err, "Error getting passwords\n"); |
| @@ -296,10 +279,10 @@ dsa_main(int argc, char **argv) | |||
| 296 | 279 | ||
| 297 | if (dsa_config.pubin) | 280 | if (dsa_config.pubin) |
| 298 | pkey = load_pubkey(bio_err, dsa_config.infile, | 281 | pkey = load_pubkey(bio_err, dsa_config.infile, |
| 299 | dsa_config.informat, 1, passin, e, "Public Key"); | 282 | dsa_config.informat, 1, passin, "Public Key"); |
| 300 | else | 283 | else |
| 301 | pkey = load_key(bio_err, dsa_config.infile, | 284 | pkey = load_key(bio_err, dsa_config.infile, |
| 302 | dsa_config.informat, 1, passin, e, "Private Key"); | 285 | dsa_config.informat, 1, passin, "Private Key"); |
| 303 | 286 | ||
| 304 | if (pkey) { | 287 | if (pkey) { |
| 305 | dsa = EVP_PKEY_get1_DSA(pkey); | 288 | dsa = EVP_PKEY_get1_DSA(pkey); |
diff --git a/src/usr.bin/openssl/dsaparam.c b/src/usr.bin/openssl/dsaparam.c index 66cacbb3a9..0cdd5c1d51 100644 --- a/src/usr.bin/openssl/dsaparam.c +++ b/src/usr.bin/openssl/dsaparam.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: dsaparam.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: dsaparam.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -81,9 +81,6 @@ | |||
| 81 | 81 | ||
| 82 | static struct { | 82 | static struct { |
| 83 | int C; | 83 | int C; |
| 84 | #ifndef OPENSSL_NO_ENGINE | ||
| 85 | char *engine; | ||
| 86 | #endif | ||
| 87 | int genkey; | 84 | int genkey; |
| 88 | char *infile; | 85 | char *infile; |
| 89 | int informat; | 86 | int informat; |
| @@ -100,15 +97,6 @@ static struct option dsaparam_options[] = { | |||
| 100 | .type = OPTION_FLAG, | 97 | .type = OPTION_FLAG, |
| 101 | .opt.flag = &dsaparam_config.C, | 98 | .opt.flag = &dsaparam_config.C, |
| 102 | }, | 99 | }, |
| 103 | #ifndef OPENSSL_NO_ENGINE | ||
| 104 | { | ||
| 105 | .name = "engine", | ||
| 106 | .argname = "id", | ||
| 107 | .desc = "Use the engine specified by the given identifier", | ||
| 108 | .type = OPTION_ARG, | ||
| 109 | .opt.arg = &dsaparam_config.engine, | ||
| 110 | }, | ||
| 111 | #endif | ||
| 112 | { | 100 | { |
| 113 | .name = "genkey", | 101 | .name = "genkey", |
| 114 | .desc = "Generate a DSA key", | 102 | .desc = "Generate a DSA key", |
| @@ -162,7 +150,7 @@ static void | |||
| 162 | dsaparam_usage(void) | 150 | dsaparam_usage(void) |
| 163 | { | 151 | { |
| 164 | fprintf(stderr, | 152 | fprintf(stderr, |
| 165 | "usage: dsaparam [-C] [-engine id] [-genkey] [-in file]\n" | 153 | "usage: dsaparam [-C] [-genkey] [-in file]\n" |
| 166 | " [-inform format] [-noout] [-out file] [-outform format]\n" | 154 | " [-inform format] [-noout] [-out file] [-outform format]\n" |
| 167 | " [-text] [numbits]\n\n"); | 155 | " [-text] [numbits]\n\n"); |
| 168 | options_usage(dsaparam_options); | 156 | options_usage(dsaparam_options); |
| @@ -222,10 +210,6 @@ dsaparam_main(int argc, char **argv) | |||
| 222 | } | 210 | } |
| 223 | } | 211 | } |
| 224 | 212 | ||
| 225 | #ifndef OPENSSL_NO_ENGINE | ||
| 226 | setup_engine(bio_err, dsaparam_config.engine, 0); | ||
| 227 | #endif | ||
| 228 | |||
| 229 | if (numbits > 0) { | 213 | if (numbits > 0) { |
| 230 | BN_GENCB cb; | 214 | BN_GENCB cb; |
| 231 | BN_GENCB_set(&cb, dsa_cb, bio_err); | 215 | BN_GENCB_set(&cb, dsa_cb, bio_err); |
diff --git a/src/usr.bin/openssl/ec.c b/src/usr.bin/openssl/ec.c index b593e2b4a1..d5fe68f0d8 100644 --- a/src/usr.bin/openssl/ec.c +++ b/src/usr.bin/openssl/ec.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ec.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: ec.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
| 4 | */ | 4 | */ |
| @@ -75,9 +75,6 @@ | |||
| 75 | static struct { | 75 | static struct { |
| 76 | int asn1_flag; | 76 | int asn1_flag; |
| 77 | const EVP_CIPHER *enc; | 77 | const EVP_CIPHER *enc; |
| 78 | #ifndef OPENSSL_NO_ENGINE | ||
| 79 | char *engine; | ||
| 80 | #endif | ||
| 81 | point_conversion_form_t form; | 78 | point_conversion_form_t form; |
| 82 | char *infile; | 79 | char *infile; |
| 83 | int informat; | 80 | int informat; |
| @@ -153,15 +150,6 @@ static struct option ec_options[] = { | |||
| 153 | .type = OPTION_ARG_FUNC, | 150 | .type = OPTION_ARG_FUNC, |
| 154 | .opt.argfunc = ec_opt_form, | 151 | .opt.argfunc = ec_opt_form, |
| 155 | }, | 152 | }, |
| 156 | #ifndef OPENSSL_NO_ENGINE | ||
| 157 | { | ||
| 158 | .name = "engine", | ||
| 159 | .argname = "id", | ||
| 160 | .desc = "Use the engine specified by the given identifier", | ||
| 161 | .type = OPTION_ARG, | ||
| 162 | .opt.arg = &ec_config.engine, | ||
| 163 | }, | ||
| 164 | #endif | ||
| 165 | { | 153 | { |
| 166 | .name = "in", | 154 | .name = "in", |
| 167 | .argname = "file", | 155 | .argname = "file", |
| @@ -266,7 +254,7 @@ static void | |||
| 266 | ec_usage(void) | 254 | ec_usage(void) |
| 267 | { | 255 | { |
| 268 | fprintf(stderr, | 256 | fprintf(stderr, |
| 269 | "usage: ec [-conv_form form] [-engine id] [-in file]\n" | 257 | "usage: ec [-conv_form form] [-in file]\n" |
| 270 | " [-inform format] [-noout] [-out file] [-outform format]\n" | 258 | " [-inform format] [-noout] [-out file] [-outform format]\n" |
| 271 | " [-param_enc type] [-param_out] [-passin file]\n" | 259 | " [-param_enc type] [-param_out] [-passin file]\n" |
| 272 | " [-passout file] [-pubin] [-pubout] [-text] [-ciphername]\n\n"); | 260 | " [-passout file] [-pubin] [-pubout] [-text] [-ciphername]\n\n"); |
| @@ -301,10 +289,6 @@ ec_main(int argc, char **argv) | |||
| 301 | goto end; | 289 | goto end; |
| 302 | } | 290 | } |
| 303 | 291 | ||
| 304 | #ifndef OPENSSL_NO_ENGINE | ||
| 305 | setup_engine(bio_err, ec_config.engine, 0); | ||
| 306 | #endif | ||
| 307 | |||
| 308 | if (!app_passwd(bio_err, ec_config.passargin, ec_config.passargout, | 292 | if (!app_passwd(bio_err, ec_config.passargin, ec_config.passargout, |
| 309 | &passin, &passout)) { | 293 | &passin, &passout)) { |
| 310 | BIO_printf(bio_err, "Error getting passwords\n"); | 294 | BIO_printf(bio_err, "Error getting passwords\n"); |
diff --git a/src/usr.bin/openssl/ecparam.c b/src/usr.bin/openssl/ecparam.c index b0b46a145d..6adac863d5 100644 --- a/src/usr.bin/openssl/ecparam.c +++ b/src/usr.bin/openssl/ecparam.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecparam.c,v 1.12 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: ecparam.c,v 1.13 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
| 4 | */ | 4 | */ |
| @@ -95,7 +95,6 @@ static struct { | |||
| 95 | int asn1_flag; | 95 | int asn1_flag; |
| 96 | int check; | 96 | int check; |
| 97 | char *curve_name; | 97 | char *curve_name; |
| 98 | char *engine; | ||
| 99 | point_conversion_form_t form; | 98 | point_conversion_form_t form; |
| 100 | int genkey; | 99 | int genkey; |
| 101 | char *infile; | 100 | char *infile; |
| @@ -161,15 +160,6 @@ struct option ecparam_options[] = { | |||
| 161 | .type = OPTION_ARG_FUNC, | 160 | .type = OPTION_ARG_FUNC, |
| 162 | .opt.argfunc = ecparam_opt_form, | 161 | .opt.argfunc = ecparam_opt_form, |
| 163 | }, | 162 | }, |
| 164 | #ifndef OPENSSL_NO_ENGINE | ||
| 165 | { | ||
| 166 | .name = "engine", | ||
| 167 | .argname = "id", | ||
| 168 | .desc = "Use the engine specified by the given identifier", | ||
| 169 | .type = OPTION_ARG, | ||
| 170 | .opt.arg = &ecparam_config.engine, | ||
| 171 | }, | ||
| 172 | #endif | ||
| 173 | { | 163 | { |
| 174 | .name = "genkey", | 164 | .name = "genkey", |
| 175 | .desc = "Generate an EC private key using the specified " | 165 | .desc = "Generate an EC private key using the specified " |
| @@ -252,7 +242,7 @@ static void | |||
| 252 | ecparam_usage(void) | 242 | ecparam_usage(void) |
| 253 | { | 243 | { |
| 254 | fprintf(stderr, "usage: ecparam [-C] [-check] [-conv_form arg] " | 244 | fprintf(stderr, "usage: ecparam [-C] [-check] [-conv_form arg] " |
| 255 | "[-engine id] [-genkey]\n" | 245 | " [-genkey]\n" |
| 256 | " [-in file] [-inform DER | PEM] [-list_curves] [-name arg]\n" | 246 | " [-in file] [-inform DER | PEM] [-list_curves] [-name arg]\n" |
| 257 | " [-no_seed] [-noout] [-out file] [-outform DER | PEM]\n" | 247 | " [-no_seed] [-noout] [-out file] [-outform DER | PEM]\n" |
| 258 | " [-param_enc arg] [-text]\n\n"); | 248 | " [-param_enc arg] [-text]\n\n"); |
| @@ -303,10 +293,6 @@ ecparam_main(int argc, char **argv) | |||
| 303 | } | 293 | } |
| 304 | } | 294 | } |
| 305 | 295 | ||
| 306 | #ifndef OPENSSL_NO_ENGINE | ||
| 307 | setup_engine(bio_err, ecparam_config.engine, 0); | ||
| 308 | #endif | ||
| 309 | |||
| 310 | if (ecparam_config.list_curves) { | 296 | if (ecparam_config.list_curves) { |
| 311 | EC_builtin_curve *curves = NULL; | 297 | EC_builtin_curve *curves = NULL; |
| 312 | size_t crv_len = 0; | 298 | size_t crv_len = 0; |
diff --git a/src/usr.bin/openssl/enc.c b/src/usr.bin/openssl/enc.c index 3ba774053d..6eb804fd49 100644 --- a/src/usr.bin/openssl/enc.c +++ b/src/usr.bin/openssl/enc.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: enc.c,v 1.6 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: enc.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -85,9 +85,6 @@ static struct { | |||
| 85 | int do_zlib; | 85 | int do_zlib; |
| 86 | #endif | 86 | #endif |
| 87 | int enc; | 87 | int enc; |
| 88 | #ifndef OPENSSL_NO_ENGINE | ||
| 89 | char *engine; | ||
| 90 | #endif | ||
| 91 | char *hiv; | 88 | char *hiv; |
| 92 | char *hkey; | 89 | char *hkey; |
| 93 | char *hsalt; | 90 | char *hsalt; |
| @@ -171,15 +168,6 @@ static struct option enc_options[] = { | |||
| 171 | .opt.value = &enc_config.enc, | 168 | .opt.value = &enc_config.enc, |
| 172 | .value = 1, | 169 | .value = 1, |
| 173 | }, | 170 | }, |
| 174 | #ifndef OPENSSL_NO_ENGINE | ||
| 175 | { | ||
| 176 | .name = "engine", | ||
| 177 | .argname = "id", | ||
| 178 | .desc = "Use the engine specified by the given identifier", | ||
| 179 | .type = OPTION_ARG, | ||
| 180 | .opt.arg = &enc_config.engine, | ||
| 181 | }, | ||
| 182 | #endif | ||
| 183 | { | 171 | { |
| 184 | .name = "in", | 172 | .name = "in", |
| 185 | .argname = "file", | 173 | .argname = "file", |
| @@ -317,7 +305,7 @@ enc_usage(void) | |||
| 317 | { | 305 | { |
| 318 | fprintf(stderr, "usage: enc -ciphername [-AadePp] [-base64] " | 306 | fprintf(stderr, "usage: enc -ciphername [-AadePp] [-base64] " |
| 319 | "[-bufsize number] [-debug]\n" | 307 | "[-bufsize number] [-debug]\n" |
| 320 | " [-engine id] [-in file] [-iv IV] [-K key] [-k password]\n" | 308 | " [-in file] [-iv IV] [-K key] [-k password]\n" |
| 321 | " [-kfile file] [-md digest] [-none] [-nopad] [-nosalt]\n" | 309 | " [-kfile file] [-md digest] [-none] [-nopad] [-nosalt]\n" |
| 322 | " [-out file] [-pass arg] [-S salt] [-salt]\n\n"); | 310 | " [-out file] [-pass arg] [-S salt] [-salt]\n\n"); |
| 323 | options_usage(enc_options); | 311 | options_usage(enc_options); |
| @@ -413,10 +401,6 @@ enc_main(int argc, char **argv) | |||
| 413 | enc_config.keystr = buf; | 401 | enc_config.keystr = buf; |
| 414 | } | 402 | } |
| 415 | 403 | ||
| 416 | #ifndef OPENSSL_NO_ENGINE | ||
| 417 | setup_engine(bio_err, enc_config.engine, 0); | ||
| 418 | #endif | ||
| 419 | |||
| 420 | if (enc_config.md != NULL && | 404 | if (enc_config.md != NULL && |
| 421 | (dgst = EVP_get_digestbyname(enc_config.md)) == NULL) { | 405 | (dgst = EVP_get_digestbyname(enc_config.md)) == NULL) { |
| 422 | BIO_printf(bio_err, | 406 | BIO_printf(bio_err, |
diff --git a/src/usr.bin/openssl/engine.c b/src/usr.bin/openssl/engine.c deleted file mode 100644 index 0dc3043887..0000000000 --- a/src/usr.bin/openssl/engine.c +++ /dev/null | |||
| @@ -1,493 +0,0 @@ | |||
| 1 | /* $OpenBSD: engine.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | ||
| 2 | /* Written by Richard Levitte <richard@levitte.org> for the OpenSSL | ||
| 3 | * project 2000. | ||
| 4 | */ | ||
| 5 | /* ==================================================================== | ||
| 6 | * Copyright (c) 2000 The OpenSSL Project. All rights reserved. | ||
| 7 | * | ||
| 8 | * Redistribution and use in source and binary forms, with or without | ||
| 9 | * modification, are permitted provided that the following conditions | ||
| 10 | * are met: | ||
| 11 | * | ||
| 12 | * 1. Redistributions of source code must retain the above copyright | ||
| 13 | * notice, this list of conditions and the following disclaimer. | ||
| 14 | * | ||
| 15 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 16 | * notice, this list of conditions and the following disclaimer in | ||
| 17 | * the documentation and/or other materials provided with the | ||
| 18 | * distribution. | ||
| 19 | * | ||
| 20 | * 3. All advertising materials mentioning features or use of this | ||
| 21 | * software must display the following acknowledgment: | ||
| 22 | * "This product includes software developed by the OpenSSL Project | ||
| 23 | * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" | ||
| 24 | * | ||
| 25 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to | ||
| 26 | * endorse or promote products derived from this software without | ||
| 27 | * prior written permission. For written permission, please contact | ||
| 28 | * licensing@OpenSSL.org. | ||
| 29 | * | ||
| 30 | * 5. Products derived from this software may not be called "OpenSSL" | ||
| 31 | * nor may "OpenSSL" appear in their names without prior written | ||
| 32 | * permission of the OpenSSL Project. | ||
| 33 | * | ||
| 34 | * 6. Redistributions of any form whatsoever must retain the following | ||
| 35 | * acknowledgment: | ||
| 36 | * "This product includes software developed by the OpenSSL Project | ||
| 37 | * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" | ||
| 38 | * | ||
| 39 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY | ||
| 40 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 41 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
| 42 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR | ||
| 43 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| 44 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
| 45 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
| 46 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 47 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
| 48 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 49 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
| 50 | * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 51 | * ==================================================================== | ||
| 52 | * | ||
| 53 | * This product includes cryptographic software written by Eric Young | ||
| 54 | * (eay@cryptsoft.com). This product includes software written by Tim | ||
| 55 | * Hudson (tjh@cryptsoft.com). | ||
| 56 | * | ||
| 57 | */ | ||
| 58 | |||
| 59 | #include <stdio.h> | ||
| 60 | #include <stdlib.h> | ||
| 61 | #include <string.h> | ||
| 62 | |||
| 63 | #include "apps.h" | ||
| 64 | |||
| 65 | #ifndef OPENSSL_NO_ENGINE | ||
| 66 | #include <openssl/engine.h> | ||
| 67 | #include <openssl/err.h> | ||
| 68 | #include <openssl/ssl.h> | ||
| 69 | |||
| 70 | static const char *engine_usage[] = { | ||
| 71 | "usage: engine opts [engine ...]\n", | ||
| 72 | " -v[v[v[v]]] - verbose mode, for each engine, list its 'control commands'\n", | ||
| 73 | " -vv will additionally display each command's description\n", | ||
| 74 | " -vvv will also add the input flags for each command\n", | ||
| 75 | " -vvvv will also show internal input flags\n", | ||
| 76 | " -c - for each engine, also list the capabilities\n", | ||
| 77 | " -t[t] - for each engine, check that they are really available\n", | ||
| 78 | " -tt will display error trace for unavailable engines\n", | ||
| 79 | " -pre <cmd> - runs command 'cmd' against the ENGINE before any attempts\n", | ||
| 80 | " to load it (if -t is used)\n", | ||
| 81 | " -post <cmd> - runs command 'cmd' against the ENGINE after loading it\n", | ||
| 82 | " (only used if -t is also provided)\n", | ||
| 83 | " NB: -pre and -post will be applied to all ENGINEs supplied on the command\n", | ||
| 84 | " line, or all supported ENGINEs if none are specified.\n", | ||
| 85 | " Eg. '-pre \"SO_PATH:/lib/libdriver.so\"' calls command \"SO_PATH\" with\n", | ||
| 86 | " argument \"/lib/libdriver.so\".\n", | ||
| 87 | NULL | ||
| 88 | }; | ||
| 89 | |||
| 90 | static void | ||
| 91 | identity(char *ptr) | ||
| 92 | { | ||
| 93 | return; | ||
| 94 | } | ||
| 95 | |||
| 96 | static int | ||
| 97 | append_buf(char **buf, const char *s, int *size, int step) | ||
| 98 | { | ||
| 99 | if (*buf == NULL) { | ||
| 100 | *size = step; | ||
| 101 | *buf = malloc(*size); | ||
| 102 | if (*buf == NULL) | ||
| 103 | return 0; | ||
| 104 | **buf = '\0'; | ||
| 105 | } | ||
| 106 | |||
| 107 | if (strlen(*buf) + strlen(s) >= (unsigned int) *size) { | ||
| 108 | *size += step; | ||
| 109 | *buf = realloc(*buf, *size); | ||
| 110 | } | ||
| 111 | if (*buf == NULL) | ||
| 112 | return 0; | ||
| 113 | |||
| 114 | if (**buf != '\0') | ||
| 115 | strlcat(*buf, ", ", *size); | ||
| 116 | strlcat(*buf, s, *size); | ||
| 117 | |||
| 118 | return 1; | ||
| 119 | } | ||
| 120 | |||
| 121 | static int | ||
| 122 | util_flags(BIO * bio_out, unsigned int flags, const char *indent) | ||
| 123 | { | ||
| 124 | int started = 0, err = 0; | ||
| 125 | /* Indent before displaying input flags */ | ||
| 126 | BIO_printf(bio_out, "%s%s(input flags): ", indent, indent); | ||
| 127 | if (flags == 0) { | ||
| 128 | BIO_printf(bio_out, "<no flags>\n"); | ||
| 129 | return 1; | ||
| 130 | } | ||
| 131 | /* | ||
| 132 | * If the object is internal, mark it in a way that shows instead of | ||
| 133 | * having it part of all the other flags, even if it really is. | ||
| 134 | */ | ||
| 135 | if (flags & ENGINE_CMD_FLAG_INTERNAL) { | ||
| 136 | BIO_printf(bio_out, "[Internal] "); | ||
| 137 | } | ||
| 138 | if (flags & ENGINE_CMD_FLAG_NUMERIC) { | ||
| 139 | BIO_printf(bio_out, "NUMERIC"); | ||
| 140 | started = 1; | ||
| 141 | } | ||
| 142 | /* | ||
| 143 | * Now we check that no combinations of the mutually exclusive | ||
| 144 | * NUMERIC, STRING, and NO_INPUT flags have been used. Future flags | ||
| 145 | * that can be OR'd together with these would need to added after | ||
| 146 | * these to preserve the testing logic. | ||
| 147 | */ | ||
| 148 | if (flags & ENGINE_CMD_FLAG_STRING) { | ||
| 149 | if (started) { | ||
| 150 | BIO_printf(bio_out, "|"); | ||
| 151 | err = 1; | ||
| 152 | } | ||
| 153 | BIO_printf(bio_out, "STRING"); | ||
| 154 | started = 1; | ||
| 155 | } | ||
| 156 | if (flags & ENGINE_CMD_FLAG_NO_INPUT) { | ||
| 157 | if (started) { | ||
| 158 | BIO_printf(bio_out, "|"); | ||
| 159 | err = 1; | ||
| 160 | } | ||
| 161 | BIO_printf(bio_out, "NO_INPUT"); | ||
| 162 | started = 1; | ||
| 163 | } | ||
| 164 | /* Check for unknown flags */ | ||
| 165 | flags = flags & ~ENGINE_CMD_FLAG_NUMERIC & | ||
| 166 | ~ENGINE_CMD_FLAG_STRING & | ||
| 167 | ~ENGINE_CMD_FLAG_NO_INPUT & | ||
| 168 | ~ENGINE_CMD_FLAG_INTERNAL; | ||
| 169 | if (flags) { | ||
| 170 | if (started) | ||
| 171 | BIO_printf(bio_out, "|"); | ||
| 172 | BIO_printf(bio_out, "<0x%04X>", flags); | ||
| 173 | } | ||
| 174 | if (err) | ||
| 175 | BIO_printf(bio_out, " <illegal flags!>"); | ||
| 176 | BIO_printf(bio_out, "\n"); | ||
| 177 | return 1; | ||
| 178 | } | ||
| 179 | |||
| 180 | static int | ||
| 181 | util_verbose(ENGINE * e, int verbose, BIO * bio_out, const char *indent) | ||
| 182 | { | ||
| 183 | static const int line_wrap = 78; | ||
| 184 | int num; | ||
| 185 | int ret = 0; | ||
| 186 | char *name = NULL; | ||
| 187 | char *desc = NULL; | ||
| 188 | int flags; | ||
| 189 | int xpos = 0; | ||
| 190 | STACK_OF(OPENSSL_STRING) * cmds = NULL; | ||
| 191 | if (!ENGINE_ctrl(e, ENGINE_CTRL_HAS_CTRL_FUNCTION, 0, NULL, NULL) || | ||
| 192 | ((num = ENGINE_ctrl(e, ENGINE_CTRL_GET_FIRST_CMD_TYPE, | ||
| 193 | 0, NULL, NULL)) <= 0)) { | ||
| 194 | return 1; | ||
| 195 | } | ||
| 196 | cmds = sk_OPENSSL_STRING_new_null(); | ||
| 197 | |||
| 198 | if (!cmds) | ||
| 199 | goto err; | ||
| 200 | do { | ||
| 201 | int len; | ||
| 202 | /* Get the command input flags */ | ||
| 203 | if ((flags = ENGINE_ctrl(e, ENGINE_CTRL_GET_CMD_FLAGS, num, | ||
| 204 | NULL, NULL)) < 0) | ||
| 205 | goto err; | ||
| 206 | if (!(flags & ENGINE_CMD_FLAG_INTERNAL) || verbose >= 4) { | ||
| 207 | /* Get the command name */ | ||
| 208 | if ((len = ENGINE_ctrl(e, ENGINE_CTRL_GET_NAME_LEN_FROM_CMD, num, | ||
| 209 | NULL, NULL)) <= 0) | ||
| 210 | goto err; | ||
| 211 | if ((name = malloc(len + 1)) == NULL) | ||
| 212 | goto err; | ||
| 213 | if (ENGINE_ctrl(e, ENGINE_CTRL_GET_NAME_FROM_CMD, num, name, | ||
| 214 | NULL) <= 0) | ||
| 215 | goto err; | ||
| 216 | /* Get the command description */ | ||
| 217 | if ((len = ENGINE_ctrl(e, ENGINE_CTRL_GET_DESC_LEN_FROM_CMD, num, | ||
| 218 | NULL, NULL)) < 0) | ||
| 219 | goto err; | ||
| 220 | if (len > 0) { | ||
| 221 | if ((desc = malloc(len + 1)) == NULL) | ||
| 222 | goto err; | ||
| 223 | if (ENGINE_ctrl(e, ENGINE_CTRL_GET_DESC_FROM_CMD, num, desc, | ||
| 224 | NULL) <= 0) | ||
| 225 | goto err; | ||
| 226 | } | ||
| 227 | /* Now decide on the output */ | ||
| 228 | if (xpos == 0) | ||
| 229 | /* Do an indent */ | ||
| 230 | xpos = BIO_puts(bio_out, indent); | ||
| 231 | else | ||
| 232 | /* Otherwise prepend a ", " */ | ||
| 233 | xpos += BIO_printf(bio_out, ", "); | ||
| 234 | if (verbose == 1) { | ||
| 235 | /* We're just listing names, comma-delimited */ | ||
| 236 | if ((xpos > (int) strlen(indent)) && | ||
| 237 | (xpos + (int) strlen(name) > line_wrap)) { | ||
| 238 | BIO_printf(bio_out, "\n"); | ||
| 239 | xpos = BIO_puts(bio_out, indent); | ||
| 240 | } | ||
| 241 | xpos += BIO_printf(bio_out, "%s", name); | ||
| 242 | } else { | ||
| 243 | /* We're listing names plus descriptions */ | ||
| 244 | BIO_printf(bio_out, "%s: %s\n", name, | ||
| 245 | (desc == NULL) ? "<no description>" : desc); | ||
| 246 | /* ... and sometimes input flags */ | ||
| 247 | if ((verbose >= 3) && !util_flags(bio_out, flags, | ||
| 248 | indent)) | ||
| 249 | goto err; | ||
| 250 | xpos = 0; | ||
| 251 | } | ||
| 252 | } | ||
| 253 | free(name); | ||
| 254 | name = NULL; | ||
| 255 | free(desc); | ||
| 256 | desc = NULL; | ||
| 257 | |||
| 258 | /* Move to the next command */ | ||
| 259 | num = ENGINE_ctrl(e, ENGINE_CTRL_GET_NEXT_CMD_TYPE, | ||
| 260 | num, NULL, NULL); | ||
| 261 | } while (num > 0); | ||
| 262 | if (xpos > 0) | ||
| 263 | BIO_printf(bio_out, "\n"); | ||
| 264 | ret = 1; | ||
| 265 | err: | ||
| 266 | if (cmds) | ||
| 267 | sk_OPENSSL_STRING_pop_free(cmds, identity); | ||
| 268 | free(name); | ||
| 269 | free(desc); | ||
| 270 | return ret; | ||
| 271 | } | ||
| 272 | |||
| 273 | static void | ||
| 274 | util_do_cmds(ENGINE * e, STACK_OF(OPENSSL_STRING) * cmds, | ||
| 275 | BIO * bio_out, const char *indent) | ||
| 276 | { | ||
| 277 | int loop, res, num = sk_OPENSSL_STRING_num(cmds); | ||
| 278 | |||
| 279 | if (num < 0) { | ||
| 280 | BIO_printf(bio_out, "[Error]: internal stack error\n"); | ||
| 281 | return; | ||
| 282 | } | ||
| 283 | for (loop = 0; loop < num; loop++) { | ||
| 284 | char buf[256]; | ||
| 285 | const char *cmd, *arg; | ||
| 286 | cmd = sk_OPENSSL_STRING_value(cmds, loop); | ||
| 287 | res = 1; /* assume success */ | ||
| 288 | /* Check if this command has no ":arg" */ | ||
| 289 | if ((arg = strstr(cmd, ":")) == NULL) { | ||
| 290 | if (!ENGINE_ctrl_cmd_string(e, cmd, NULL, 0)) | ||
| 291 | res = 0; | ||
| 292 | } else { | ||
| 293 | if ((int) (arg - cmd) > 254) { | ||
| 294 | BIO_printf(bio_out, "[Error]: command name too long\n"); | ||
| 295 | return; | ||
| 296 | } | ||
| 297 | memcpy(buf, cmd, (int) (arg - cmd)); | ||
| 298 | buf[arg - cmd] = '\0'; | ||
| 299 | arg++; /* Move past the ":" */ | ||
| 300 | /* Call the command with the argument */ | ||
| 301 | if (!ENGINE_ctrl_cmd_string(e, buf, arg, 0)) | ||
| 302 | res = 0; | ||
| 303 | } | ||
| 304 | if (res) | ||
| 305 | BIO_printf(bio_out, "[Success]: %s\n", cmd); | ||
| 306 | else { | ||
| 307 | BIO_printf(bio_out, "[Failure]: %s\n", cmd); | ||
| 308 | ERR_print_errors(bio_out); | ||
| 309 | } | ||
| 310 | } | ||
| 311 | } | ||
| 312 | |||
| 313 | int | ||
| 314 | engine_main(int argc, char **argv) | ||
| 315 | { | ||
| 316 | int ret = 1, i; | ||
| 317 | const char **pp; | ||
| 318 | int verbose = 0, list_cap = 0, test_avail = 0, test_avail_noise = 0; | ||
| 319 | ENGINE *e; | ||
| 320 | STACK_OF(OPENSSL_STRING) * engines = sk_OPENSSL_STRING_new_null(); | ||
| 321 | STACK_OF(OPENSSL_STRING) * pre_cmds = sk_OPENSSL_STRING_new_null(); | ||
| 322 | STACK_OF(OPENSSL_STRING) * post_cmds = sk_OPENSSL_STRING_new_null(); | ||
| 323 | int badops = 1; | ||
| 324 | BIO *bio_out = NULL; | ||
| 325 | const char *indent = " "; | ||
| 326 | |||
| 327 | bio_out = BIO_new_fp(stdout, BIO_NOCLOSE); | ||
| 328 | |||
| 329 | argc--; | ||
| 330 | argv++; | ||
| 331 | while (argc >= 1) { | ||
| 332 | if (strncmp(*argv, "-v", 2) == 0) { | ||
| 333 | if (strspn(*argv + 1, "v") < strlen(*argv + 1)) | ||
| 334 | goto skip_arg_loop; | ||
| 335 | if ((verbose = strlen(*argv + 1)) > 4) | ||
| 336 | goto skip_arg_loop; | ||
| 337 | } else if (strcmp(*argv, "-c") == 0) | ||
| 338 | list_cap = 1; | ||
| 339 | else if (strncmp(*argv, "-t", 2) == 0) { | ||
| 340 | test_avail = 1; | ||
| 341 | if (strspn(*argv + 1, "t") < strlen(*argv + 1)) | ||
| 342 | goto skip_arg_loop; | ||
| 343 | if ((test_avail_noise = strlen(*argv + 1) - 1) > 1) | ||
| 344 | goto skip_arg_loop; | ||
| 345 | } else if (strcmp(*argv, "-pre") == 0) { | ||
| 346 | argc--; | ||
| 347 | argv++; | ||
| 348 | if (argc == 0) | ||
| 349 | goto skip_arg_loop; | ||
| 350 | sk_OPENSSL_STRING_push(pre_cmds, *argv); | ||
| 351 | } else if (strcmp(*argv, "-post") == 0) { | ||
| 352 | argc--; | ||
| 353 | argv++; | ||
| 354 | if (argc == 0) | ||
| 355 | goto skip_arg_loop; | ||
| 356 | sk_OPENSSL_STRING_push(post_cmds, *argv); | ||
| 357 | } else if ((strncmp(*argv, "-h", 2) == 0) || | ||
| 358 | (strcmp(*argv, "-?") == 0)) | ||
| 359 | goto skip_arg_loop; | ||
| 360 | else | ||
| 361 | sk_OPENSSL_STRING_push(engines, *argv); | ||
| 362 | argc--; | ||
| 363 | argv++; | ||
| 364 | } | ||
| 365 | /* Looks like everything went OK */ | ||
| 366 | badops = 0; | ||
| 367 | skip_arg_loop: | ||
| 368 | |||
| 369 | if (badops) { | ||
| 370 | for (pp = engine_usage; (*pp != NULL); pp++) | ||
| 371 | BIO_printf(bio_err, "%s", *pp); | ||
| 372 | goto end; | ||
| 373 | } | ||
| 374 | if (sk_OPENSSL_STRING_num(engines) == 0) { | ||
| 375 | for (e = ENGINE_get_first(); e != NULL; e = ENGINE_get_next(e)) { | ||
| 376 | sk_OPENSSL_STRING_push(engines, (char *) ENGINE_get_id(e)); | ||
| 377 | } | ||
| 378 | } | ||
| 379 | for (i = 0; i < sk_OPENSSL_STRING_num(engines); i++) { | ||
| 380 | const char *id = sk_OPENSSL_STRING_value(engines, i); | ||
| 381 | if ((e = ENGINE_by_id(id)) != NULL) { | ||
| 382 | const char *name = ENGINE_get_name(e); | ||
| 383 | /* Do "id" first, then "name". Easier to auto-parse. */ | ||
| 384 | BIO_printf(bio_out, "(%s) %s\n", id, name); | ||
| 385 | util_do_cmds(e, pre_cmds, bio_out, indent); | ||
| 386 | if (strcmp(ENGINE_get_id(e), id) != 0) { | ||
| 387 | BIO_printf(bio_out, "Loaded: (%s) %s\n", | ||
| 388 | ENGINE_get_id(e), ENGINE_get_name(e)); | ||
| 389 | } | ||
| 390 | if (list_cap) { | ||
| 391 | int cap_size = 256; | ||
| 392 | char *cap_buf = NULL; | ||
| 393 | int k, n; | ||
| 394 | const int *nids; | ||
| 395 | ENGINE_CIPHERS_PTR fn_c; | ||
| 396 | ENGINE_DIGESTS_PTR fn_d; | ||
| 397 | ENGINE_PKEY_METHS_PTR fn_pk; | ||
| 398 | |||
| 399 | if (ENGINE_get_RSA(e) != NULL | ||
| 400 | && !append_buf(&cap_buf, "RSA", | ||
| 401 | &cap_size, 256)) | ||
| 402 | goto end; | ||
| 403 | if (ENGINE_get_DSA(e) != NULL | ||
| 404 | && !append_buf(&cap_buf, "DSA", | ||
| 405 | &cap_size, 256)) | ||
| 406 | goto end; | ||
| 407 | if (ENGINE_get_DH(e) != NULL | ||
| 408 | && !append_buf(&cap_buf, "DH", | ||
| 409 | &cap_size, 256)) | ||
| 410 | goto end; | ||
| 411 | if (ENGINE_get_RAND(e) != NULL | ||
| 412 | && !append_buf(&cap_buf, "RAND", | ||
| 413 | &cap_size, 256)) | ||
| 414 | goto end; | ||
| 415 | |||
| 416 | fn_c = ENGINE_get_ciphers(e); | ||
| 417 | if (!fn_c) | ||
| 418 | goto skip_ciphers; | ||
| 419 | n = fn_c(e, NULL, &nids, 0); | ||
| 420 | for (k = 0; k < n; ++k) | ||
| 421 | if (!append_buf(&cap_buf, | ||
| 422 | OBJ_nid2sn(nids[k]), | ||
| 423 | &cap_size, 256)) | ||
| 424 | goto end; | ||
| 425 | |||
| 426 | skip_ciphers: | ||
| 427 | fn_d = ENGINE_get_digests(e); | ||
| 428 | if (!fn_d) | ||
| 429 | goto skip_digests; | ||
| 430 | n = fn_d(e, NULL, &nids, 0); | ||
| 431 | for (k = 0; k < n; ++k) | ||
| 432 | if (!append_buf(&cap_buf, | ||
| 433 | OBJ_nid2sn(nids[k]), | ||
| 434 | &cap_size, 256)) | ||
| 435 | goto end; | ||
| 436 | |||
| 437 | skip_digests: | ||
| 438 | fn_pk = ENGINE_get_pkey_meths(e); | ||
| 439 | if (!fn_pk) | ||
| 440 | goto skip_pmeths; | ||
| 441 | n = fn_pk(e, NULL, &nids, 0); | ||
| 442 | for (k = 0; k < n; ++k) | ||
| 443 | if (!append_buf(&cap_buf, | ||
| 444 | OBJ_nid2sn(nids[k]), | ||
| 445 | &cap_size, 256)) | ||
| 446 | goto end; | ||
| 447 | skip_pmeths: | ||
| 448 | if (cap_buf && (*cap_buf != '\0')) | ||
| 449 | BIO_printf(bio_out, " [%s]\n", cap_buf); | ||
| 450 | |||
| 451 | free(cap_buf); | ||
| 452 | } | ||
| 453 | if (test_avail) { | ||
| 454 | BIO_printf(bio_out, "%s", indent); | ||
| 455 | if (ENGINE_init(e)) { | ||
| 456 | BIO_printf(bio_out, "[ available ]\n"); | ||
| 457 | util_do_cmds(e, post_cmds, bio_out, indent); | ||
| 458 | /* | ||
| 459 | * XXX hell lacks a place for people who write functions with | ||
| 460 | * XXX unusable return semantics. | ||
| 461 | */ | ||
| 462 | if (ENGINE_finish(e) != 0 || | ||
| 463 | ERR_GET_REASON(ERR_peek_last_error()) == | ||
| 464 | ENGINE_R_FINISH_FAILED) | ||
| 465 | e = NULL; | ||
| 466 | } else { | ||
| 467 | BIO_printf(bio_out, "[ unavailable ]\n"); | ||
| 468 | if (test_avail_noise) | ||
| 469 | ERR_print_errors_fp(stdout); | ||
| 470 | ERR_clear_error(); | ||
| 471 | } | ||
| 472 | } | ||
| 473 | if ((verbose > 0) && e != NULL && | ||
| 474 | !util_verbose(e, verbose, bio_out, indent)) | ||
| 475 | goto end; | ||
| 476 | ENGINE_free(e); | ||
| 477 | } else | ||
| 478 | ERR_print_errors(bio_err); | ||
| 479 | } | ||
| 480 | |||
| 481 | ret = 0; | ||
| 482 | end: | ||
| 483 | |||
| 484 | ERR_print_errors(bio_err); | ||
| 485 | sk_OPENSSL_STRING_pop_free(engines, identity); | ||
| 486 | sk_OPENSSL_STRING_pop_free(pre_cmds, identity); | ||
| 487 | sk_OPENSSL_STRING_pop_free(post_cmds, identity); | ||
| 488 | if (bio_out != NULL) | ||
| 489 | BIO_free_all(bio_out); | ||
| 490 | |||
| 491 | return (ret); | ||
| 492 | } | ||
| 493 | #endif | ||
diff --git a/src/usr.bin/openssl/gendh.c b/src/usr.bin/openssl/gendh.c index 38186f0307..208906e24c 100644 --- a/src/usr.bin/openssl/gendh.c +++ b/src/usr.bin/openssl/gendh.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gendh.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: gendh.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -87,9 +87,6 @@ | |||
| 87 | static int dh_cb(int p, int n, BN_GENCB * cb); | 87 | static int dh_cb(int p, int n, BN_GENCB * cb); |
| 88 | 88 | ||
| 89 | static struct { | 89 | static struct { |
| 90 | #ifndef OPENSSL_NO_ENGINE | ||
| 91 | char *engine; | ||
| 92 | #endif | ||
| 93 | int g; | 90 | int g; |
| 94 | char *outfile; | 91 | char *outfile; |
| 95 | } gendh_config; | 92 | } gendh_config; |
| @@ -110,15 +107,6 @@ static struct option gendh_options[] = { | |||
| 110 | .value = 5, | 107 | .value = 5, |
| 111 | .opt.value = &gendh_config.g, | 108 | .opt.value = &gendh_config.g, |
| 112 | }, | 109 | }, |
| 113 | #ifndef OPENSSL_NO_ENGINE | ||
| 114 | { | ||
| 115 | .name = "engine", | ||
| 116 | .argname = "id", | ||
| 117 | .desc = "Use the engine specified by the given identifier", | ||
| 118 | .type = OPTION_ARG, | ||
| 119 | .opt.arg = &gendh_config.engine, | ||
| 120 | }, | ||
| 121 | #endif | ||
| 122 | { | 110 | { |
| 123 | .name = "out", | 111 | .name = "out", |
| 124 | .argname = "file", | 112 | .argname = "file", |
| @@ -133,7 +121,7 @@ static void | |||
| 133 | gendh_usage(void) | 121 | gendh_usage(void) |
| 134 | { | 122 | { |
| 135 | fprintf(stderr, | 123 | fprintf(stderr, |
| 136 | "usage: gendh [-2 | -5] [-engine id] [-out file] [numbits]\n\n"); | 124 | "usage: gendh [-2 | -5] [-out file] [numbits]\n\n"); |
| 137 | options_usage(gendh_options); | 125 | options_usage(gendh_options); |
| 138 | } | 126 | } |
| 139 | 127 | ||
| @@ -166,10 +154,6 @@ gendh_main(int argc, char **argv) | |||
| 166 | } | 154 | } |
| 167 | } | 155 | } |
| 168 | 156 | ||
| 169 | #ifndef OPENSSL_NO_ENGINE | ||
| 170 | setup_engine(bio_err, gendh_config.engine, 0); | ||
| 171 | #endif | ||
| 172 | |||
| 173 | out = BIO_new(BIO_s_file()); | 157 | out = BIO_new(BIO_s_file()); |
| 174 | if (out == NULL) { | 158 | if (out == NULL) { |
| 175 | ERR_print_errors(bio_err); | 159 | ERR_print_errors(bio_err); |
diff --git a/src/usr.bin/openssl/gendsa.c b/src/usr.bin/openssl/gendsa.c index 4fbd0dce31..ee2d6ba1b6 100644 --- a/src/usr.bin/openssl/gendsa.c +++ b/src/usr.bin/openssl/gendsa.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gendsa.c,v 1.3 2015/09/10 02:17:17 lteo Exp $ */ | 1 | /* $OpenBSD: gendsa.c,v 1.4 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -84,9 +84,6 @@ gendsa_main(int argc, char **argv) | |||
| 84 | char *passargout = NULL, *passout = NULL; | 84 | char *passargout = NULL, *passout = NULL; |
| 85 | BIO *out = NULL, *in = NULL; | 85 | BIO *out = NULL, *in = NULL; |
| 86 | const EVP_CIPHER *enc = NULL; | 86 | const EVP_CIPHER *enc = NULL; |
| 87 | #ifndef OPENSSL_NO_ENGINE | ||
| 88 | char *engine = NULL; | ||
| 89 | #endif | ||
| 90 | 87 | ||
| 91 | argv++; | 88 | argv++; |
| 92 | argc--; | 89 | argc--; |
| @@ -102,13 +99,6 @@ gendsa_main(int argc, char **argv) | |||
| 102 | goto bad; | 99 | goto bad; |
| 103 | passargout = *(++argv); | 100 | passargout = *(++argv); |
| 104 | } | 101 | } |
| 105 | #ifndef OPENSSL_NO_ENGINE | ||
| 106 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 107 | if (--argc < 1) | ||
| 108 | goto bad; | ||
| 109 | engine = *(++argv); | ||
| 110 | } | ||
| 111 | #endif | ||
| 112 | else if (strcmp(*argv, "-") == 0) | 102 | else if (strcmp(*argv, "-") == 0) |
| 113 | goto bad; | 103 | goto bad; |
| 114 | #ifndef OPENSSL_NO_DES | 104 | #ifndef OPENSSL_NO_DES |
| @@ -164,17 +154,10 @@ bad: | |||
| 164 | BIO_printf(bio_err, " -camellia128, -camellia192, -camellia256\n"); | 154 | BIO_printf(bio_err, " -camellia128, -camellia192, -camellia256\n"); |
| 165 | BIO_printf(bio_err, " encrypt PEM output with cbc camellia\n"); | 155 | BIO_printf(bio_err, " encrypt PEM output with cbc camellia\n"); |
| 166 | #endif | 156 | #endif |
| 167 | #ifndef OPENSSL_NO_ENGINE | ||
| 168 | BIO_printf(bio_err, " -engine e - use engine e, possibly a hardware device.\n"); | ||
| 169 | #endif | ||
| 170 | BIO_printf(bio_err, " dsaparam-file\n"); | 157 | BIO_printf(bio_err, " dsaparam-file\n"); |
| 171 | BIO_printf(bio_err, " - a DSA parameter file as generated by the dsaparam command\n"); | 158 | BIO_printf(bio_err, " - a DSA parameter file as generated by the dsaparam command\n"); |
| 172 | goto end; | 159 | goto end; |
| 173 | } | 160 | } |
| 174 | #ifndef OPENSSL_NO_ENGINE | ||
| 175 | setup_engine(bio_err, engine, 0); | ||
| 176 | #endif | ||
| 177 | |||
| 178 | if (!app_passwd(bio_err, NULL, passargout, NULL, &passout)) { | 161 | if (!app_passwd(bio_err, NULL, passargout, NULL, &passout)) { |
| 179 | BIO_printf(bio_err, "Error getting password\n"); | 162 | BIO_printf(bio_err, "Error getting password\n"); |
| 180 | goto end; | 163 | goto end; |
diff --git a/src/usr.bin/openssl/genpkey.c b/src/usr.bin/openssl/genpkey.c index 1ebc4e7d3c..d76e2febd8 100644 --- a/src/usr.bin/openssl/genpkey.c +++ b/src/usr.bin/openssl/genpkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: genpkey.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: genpkey.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006 | 3 | * project 2006 |
| 4 | */ | 4 | */ |
| @@ -65,19 +65,13 @@ | |||
| 65 | #include <openssl/evp.h> | 65 | #include <openssl/evp.h> |
| 66 | #include <openssl/pem.h> | 66 | #include <openssl/pem.h> |
| 67 | 67 | ||
| 68 | #ifndef OPENSSL_NO_ENGINE | ||
| 69 | #include <openssl/engine.h> | ||
| 70 | #endif | ||
| 71 | |||
| 72 | static int | 68 | static int |
| 73 | init_keygen_file(BIO * err, EVP_PKEY_CTX ** pctx, const char *file, | 69 | init_keygen_file(BIO * err, EVP_PKEY_CTX ** pctx, const char *file); |
| 74 | ENGINE * e); | ||
| 75 | static int genpkey_cb(EVP_PKEY_CTX * ctx); | 70 | static int genpkey_cb(EVP_PKEY_CTX * ctx); |
| 76 | 71 | ||
| 77 | int | 72 | int |
| 78 | genpkey_main(int argc, char **argv) | 73 | genpkey_main(int argc, char **argv) |
| 79 | { | 74 | { |
| 80 | ENGINE *e = NULL; | ||
| 81 | char **args, *outfile = NULL; | 75 | char **args, *outfile = NULL; |
| 82 | char *passarg = NULL; | 76 | char *passarg = NULL; |
| 83 | BIO *in = NULL, *out = NULL; | 77 | BIO *in = NULL, *out = NULL; |
| @@ -107,20 +101,13 @@ genpkey_main(int argc, char **argv) | |||
| 107 | goto bad; | 101 | goto bad; |
| 108 | passarg = *(++args); | 102 | passarg = *(++args); |
| 109 | } | 103 | } |
| 110 | #ifndef OPENSSL_NO_ENGINE | ||
| 111 | else if (strcmp(*args, "-engine") == 0) { | ||
| 112 | if (!args[1]) | ||
| 113 | goto bad; | ||
| 114 | e = setup_engine(bio_err, *(++args), 0); | ||
| 115 | } | ||
| 116 | #endif | ||
| 117 | else if (!strcmp(*args, "-paramfile")) { | 104 | else if (!strcmp(*args, "-paramfile")) { |
| 118 | if (!args[1]) | 105 | if (!args[1]) |
| 119 | goto bad; | 106 | goto bad; |
| 120 | args++; | 107 | args++; |
| 121 | if (do_param == 1) | 108 | if (do_param == 1) |
| 122 | goto bad; | 109 | goto bad; |
| 123 | if (!init_keygen_file(bio_err, &ctx, *args, e)) | 110 | if (!init_keygen_file(bio_err, &ctx, *args)) |
| 124 | goto end; | 111 | goto end; |
| 125 | } else if (!strcmp(*args, "-out")) { | 112 | } else if (!strcmp(*args, "-out")) { |
| 126 | if (args[1]) { | 113 | if (args[1]) { |
| @@ -131,7 +118,7 @@ genpkey_main(int argc, char **argv) | |||
| 131 | } else if (strcmp(*args, "-algorithm") == 0) { | 118 | } else if (strcmp(*args, "-algorithm") == 0) { |
| 132 | if (!args[1]) | 119 | if (!args[1]) |
| 133 | goto bad; | 120 | goto bad; |
| 134 | if (!init_gen_str(bio_err, &ctx, *(++args), e, do_param)) | 121 | if (!init_gen_str(bio_err, &ctx, *(++args), do_param)) |
| 135 | goto end; | 122 | goto end; |
| 136 | } else if (strcmp(*args, "-pkeyopt") == 0) { | 123 | } else if (strcmp(*args, "-pkeyopt") == 0) { |
| 137 | if (!args[1]) | 124 | if (!args[1]) |
| @@ -174,9 +161,6 @@ bad: | |||
| 174 | BIO_printf(bio_err, "-outform X output format (DER or PEM)\n"); | 161 | BIO_printf(bio_err, "-outform X output format (DER or PEM)\n"); |
| 175 | BIO_printf(bio_err, "-pass arg output file pass phrase source\n"); | 162 | BIO_printf(bio_err, "-pass arg output file pass phrase source\n"); |
| 176 | BIO_printf(bio_err, "-<cipher> use cipher <cipher> to encrypt the key\n"); | 163 | BIO_printf(bio_err, "-<cipher> use cipher <cipher> to encrypt the key\n"); |
| 177 | #ifndef OPENSSL_NO_ENGINE | ||
| 178 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 179 | #endif | ||
| 180 | BIO_printf(bio_err, "-paramfile file parameters file\n"); | 164 | BIO_printf(bio_err, "-paramfile file parameters file\n"); |
| 181 | BIO_printf(bio_err, "-algorithm alg the public key algorithm\n"); | 165 | BIO_printf(bio_err, "-algorithm alg the public key algorithm\n"); |
| 182 | BIO_printf(bio_err, "-pkeyopt opt:value set the public key algorithm option <opt>\n" | 166 | BIO_printf(bio_err, "-pkeyopt opt:value set the public key algorithm option <opt>\n" |
| @@ -261,7 +245,7 @@ end: | |||
| 261 | 245 | ||
| 262 | static int | 246 | static int |
| 263 | init_keygen_file(BIO * err, EVP_PKEY_CTX ** pctx, | 247 | init_keygen_file(BIO * err, EVP_PKEY_CTX ** pctx, |
| 264 | const char *file, ENGINE * e) | 248 | const char *file) |
| 265 | { | 249 | { |
| 266 | BIO *pbio; | 250 | BIO *pbio; |
| 267 | EVP_PKEY *pkey = NULL; | 251 | EVP_PKEY *pkey = NULL; |
| @@ -282,7 +266,7 @@ init_keygen_file(BIO * err, EVP_PKEY_CTX ** pctx, | |||
| 282 | BIO_printf(bio_err, "Error reading parameter file %s\n", file); | 266 | BIO_printf(bio_err, "Error reading parameter file %s\n", file); |
| 283 | return 0; | 267 | return 0; |
| 284 | } | 268 | } |
| 285 | ctx = EVP_PKEY_CTX_new(pkey, e); | 269 | ctx = EVP_PKEY_CTX_new(pkey, NULL); |
| 286 | if (!ctx) | 270 | if (!ctx) |
| 287 | goto err; | 271 | goto err; |
| 288 | if (EVP_PKEY_keygen_init(ctx) <= 0) | 272 | if (EVP_PKEY_keygen_init(ctx) <= 0) |
| @@ -304,23 +288,17 @@ err: | |||
| 304 | 288 | ||
| 305 | int | 289 | int |
| 306 | init_gen_str(BIO * err, EVP_PKEY_CTX ** pctx, | 290 | init_gen_str(BIO * err, EVP_PKEY_CTX ** pctx, |
| 307 | const char *algname, ENGINE * e, int do_param) | 291 | const char *algname, int do_param) |
| 308 | { | 292 | { |
| 309 | EVP_PKEY_CTX *ctx = NULL; | 293 | EVP_PKEY_CTX *ctx = NULL; |
| 310 | const EVP_PKEY_ASN1_METHOD *ameth; | 294 | const EVP_PKEY_ASN1_METHOD *ameth; |
| 311 | ENGINE *tmpeng = NULL; | ||
| 312 | int pkey_id; | 295 | int pkey_id; |
| 313 | 296 | ||
| 314 | if (*pctx) { | 297 | if (*pctx) { |
| 315 | BIO_puts(err, "Algorithm already set!\n"); | 298 | BIO_puts(err, "Algorithm already set!\n"); |
| 316 | return 0; | 299 | return 0; |
| 317 | } | 300 | } |
| 318 | ameth = EVP_PKEY_asn1_find_str(&tmpeng, algname, -1); | 301 | ameth = EVP_PKEY_asn1_find_str(NULL, algname, -1); |
| 319 | |||
| 320 | #ifndef OPENSSL_NO_ENGINE | ||
| 321 | if (!ameth && e) | ||
| 322 | ameth = ENGINE_get_pkey_asn1_meth_str(e, algname, -1); | ||
| 323 | #endif | ||
| 324 | 302 | ||
| 325 | if (!ameth) { | 303 | if (!ameth) { |
| 326 | BIO_printf(bio_err, "Algorithm %s not found\n", algname); | 304 | BIO_printf(bio_err, "Algorithm %s not found\n", algname); |
| @@ -329,11 +307,7 @@ init_gen_str(BIO * err, EVP_PKEY_CTX ** pctx, | |||
| 329 | ERR_clear_error(); | 307 | ERR_clear_error(); |
| 330 | 308 | ||
| 331 | EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL, ameth); | 309 | EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, NULL, NULL, ameth); |
| 332 | #ifndef OPENSSL_NO_ENGINE | 310 | ctx = EVP_PKEY_CTX_new_id(pkey_id, NULL); |
| 333 | if (tmpeng) | ||
| 334 | ENGINE_finish(tmpeng); | ||
| 335 | #endif | ||
| 336 | ctx = EVP_PKEY_CTX_new_id(pkey_id, e); | ||
| 337 | 311 | ||
| 338 | if (!ctx) | 312 | if (!ctx) |
| 339 | goto err; | 313 | goto err; |
diff --git a/src/usr.bin/openssl/genrsa.c b/src/usr.bin/openssl/genrsa.c index 99f2bf3641..9f78f0d65d 100644 --- a/src/usr.bin/openssl/genrsa.c +++ b/src/usr.bin/openssl/genrsa.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: genrsa.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: genrsa.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -89,9 +89,6 @@ int | |||
| 89 | genrsa_main(int argc, char **argv) | 89 | genrsa_main(int argc, char **argv) |
| 90 | { | 90 | { |
| 91 | BN_GENCB cb; | 91 | BN_GENCB cb; |
| 92 | #ifndef OPENSSL_NO_ENGINE | ||
| 93 | ENGINE *e = NULL; | ||
| 94 | #endif | ||
| 95 | int ret = 1; | 92 | int ret = 1; |
| 96 | int i, num = DEFBITS; | 93 | int i, num = DEFBITS; |
| 97 | long l; | 94 | long l; |
| @@ -99,9 +96,6 @@ genrsa_main(int argc, char **argv) | |||
| 99 | unsigned long f4 = RSA_F4; | 96 | unsigned long f4 = RSA_F4; |
| 100 | char *outfile = NULL; | 97 | char *outfile = NULL; |
| 101 | char *passargout = NULL, *passout = NULL; | 98 | char *passargout = NULL, *passout = NULL; |
| 102 | #ifndef OPENSSL_NO_ENGINE | ||
| 103 | char *engine = NULL; | ||
| 104 | #endif | ||
| 105 | BIO *out = NULL; | 99 | BIO *out = NULL; |
| 106 | BIGNUM *bn = BN_new(); | 100 | BIGNUM *bn = BN_new(); |
| 107 | RSA *rsa = NULL; | 101 | RSA *rsa = NULL; |
| @@ -128,13 +122,6 @@ genrsa_main(int argc, char **argv) | |||
| 128 | f4 = 3; | 122 | f4 = 3; |
| 129 | else if (strcmp(*argv, "-F4") == 0 || strcmp(*argv, "-f4") == 0) | 123 | else if (strcmp(*argv, "-F4") == 0 || strcmp(*argv, "-f4") == 0) |
| 130 | f4 = RSA_F4; | 124 | f4 = RSA_F4; |
| 131 | #ifndef OPENSSL_NO_ENGINE | ||
| 132 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 133 | if (--argc < 1) | ||
| 134 | goto bad; | ||
| 135 | engine = *(++argv); | ||
| 136 | } | ||
| 137 | #endif | ||
| 138 | #ifndef OPENSSL_NO_DES | 125 | #ifndef OPENSSL_NO_DES |
| 139 | else if (strcmp(*argv, "-des") == 0) | 126 | else if (strcmp(*argv, "-des") == 0) |
| 140 | enc = EVP_des_cbc(); | 127 | enc = EVP_des_cbc(); |
| @@ -190,9 +177,6 @@ bad: | |||
| 190 | BIO_printf(bio_err, " -passout arg output file pass phrase source\n"); | 177 | BIO_printf(bio_err, " -passout arg output file pass phrase source\n"); |
| 191 | BIO_printf(bio_err, " -f4 use F4 (0x10001) for the E value\n"); | 178 | BIO_printf(bio_err, " -f4 use F4 (0x10001) for the E value\n"); |
| 192 | BIO_printf(bio_err, " -3 use 3 for the E value\n"); | 179 | BIO_printf(bio_err, " -3 use 3 for the E value\n"); |
| 193 | #ifndef OPENSSL_NO_ENGINE | ||
| 194 | BIO_printf(bio_err, " -engine e use engine e, possibly a hardware device.\n"); | ||
| 195 | #endif | ||
| 196 | goto err; | 180 | goto err; |
| 197 | } | 181 | } |
| 198 | 182 | ||
| @@ -200,9 +184,6 @@ bad: | |||
| 200 | BIO_printf(bio_err, "Error getting password\n"); | 184 | BIO_printf(bio_err, "Error getting password\n"); |
| 201 | goto err; | 185 | goto err; |
| 202 | } | 186 | } |
| 203 | #ifndef OPENSSL_NO_ENGINE | ||
| 204 | e = setup_engine(bio_err, engine, 0); | ||
| 205 | #endif | ||
| 206 | 187 | ||
| 207 | if (outfile == NULL) { | 188 | if (outfile == NULL) { |
| 208 | BIO_set_fp(out, stdout, BIO_NOCLOSE); | 189 | BIO_set_fp(out, stdout, BIO_NOCLOSE); |
| @@ -215,11 +196,7 @@ bad: | |||
| 215 | 196 | ||
| 216 | BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus\n", | 197 | BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus\n", |
| 217 | num); | 198 | num); |
| 218 | #ifdef OPENSSL_NO_ENGINE | ||
| 219 | rsa = RSA_new(); | 199 | rsa = RSA_new(); |
| 220 | #else | ||
| 221 | rsa = RSA_new_method(e); | ||
| 222 | #endif | ||
| 223 | if (!rsa) | 200 | if (!rsa) |
| 224 | goto err; | 201 | goto err; |
| 225 | 202 | ||
diff --git a/src/usr.bin/openssl/ocsp.c b/src/usr.bin/openssl/ocsp.c index ab5a755713..39000328b6 100644 --- a/src/usr.bin/openssl/ocsp.c +++ b/src/usr.bin/openssl/ocsp.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ocsp.c,v 1.3 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: ocsp.c,v 1.4 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -105,7 +105,6 @@ static OCSP_RESPONSE *query_responder(BIO * err, BIO * cbio, char *path, | |||
| 105 | int | 105 | int |
| 106 | ocsp_main(int argc, char **argv) | 106 | ocsp_main(int argc, char **argv) |
| 107 | { | 107 | { |
| 108 | ENGINE *e = NULL; | ||
| 109 | char **args; | 108 | char **args; |
| 110 | char *host = NULL, *port = NULL, *path = "/"; | 109 | char *host = NULL, *port = NULL, *path = "/"; |
| 111 | char *reqin = NULL, *respin = NULL; | 110 | char *reqin = NULL, *respin = NULL; |
| @@ -335,7 +334,7 @@ ocsp_main(int argc, char **argv) | |||
| 335 | args++; | 334 | args++; |
| 336 | X509_free(issuer); | 335 | X509_free(issuer); |
| 337 | issuer = load_cert(bio_err, *args, FORMAT_PEM, | 336 | issuer = load_cert(bio_err, *args, FORMAT_PEM, |
| 338 | NULL, e, "issuer certificate"); | 337 | NULL, "issuer certificate"); |
| 339 | if (!issuer) | 338 | if (!issuer) |
| 340 | goto end; | 339 | goto end; |
| 341 | } else | 340 | } else |
| @@ -345,7 +344,7 @@ ocsp_main(int argc, char **argv) | |||
| 345 | args++; | 344 | args++; |
| 346 | X509_free(cert); | 345 | X509_free(cert); |
| 347 | cert = load_cert(bio_err, *args, FORMAT_PEM, | 346 | cert = load_cert(bio_err, *args, FORMAT_PEM, |
| 348 | NULL, e, "certificate"); | 347 | NULL, "certificate"); |
| 349 | if (!cert) | 348 | if (!cert) |
| 350 | goto end; | 349 | goto end; |
| 351 | if (!cert_id_md) | 350 | if (!cert_id_md) |
| @@ -531,20 +530,20 @@ ocsp_main(int argc, char **argv) | |||
| 531 | if (!rkeyfile) | 530 | if (!rkeyfile) |
| 532 | rkeyfile = rsignfile; | 531 | rkeyfile = rsignfile; |
| 533 | rsigner = load_cert(bio_err, rsignfile, FORMAT_PEM, | 532 | rsigner = load_cert(bio_err, rsignfile, FORMAT_PEM, |
| 534 | NULL, e, "responder certificate"); | 533 | NULL, "responder certificate"); |
| 535 | if (!rsigner) { | 534 | if (!rsigner) { |
| 536 | BIO_printf(bio_err, "Error loading responder certificate\n"); | 535 | BIO_printf(bio_err, "Error loading responder certificate\n"); |
| 537 | goto end; | 536 | goto end; |
| 538 | } | 537 | } |
| 539 | rca_cert = load_cert(bio_err, rca_filename, FORMAT_PEM, | 538 | rca_cert = load_cert(bio_err, rca_filename, FORMAT_PEM, |
| 540 | NULL, e, "CA certificate"); | 539 | NULL, "CA certificate"); |
| 541 | if (rcertfile) { | 540 | if (rcertfile) { |
| 542 | rother = load_certs(bio_err, rcertfile, FORMAT_PEM, | 541 | rother = load_certs(bio_err, rcertfile, FORMAT_PEM, |
| 543 | NULL, e, "responder other certificates"); | 542 | NULL, "responder other certificates"); |
| 544 | if (!rother) | 543 | if (!rother) |
| 545 | goto end; | 544 | goto end; |
| 546 | } | 545 | } |
| 547 | rkey = load_key(bio_err, rkeyfile, FORMAT_PEM, 0, NULL, NULL, | 546 | rkey = load_key(bio_err, rkeyfile, FORMAT_PEM, 0, NULL, |
| 548 | "responder private key"); | 547 | "responder private key"); |
| 549 | if (!rkey) | 548 | if (!rkey) |
| 550 | goto end; | 549 | goto end; |
| @@ -574,18 +573,18 @@ redo_accept: | |||
| 574 | if (!keyfile) | 573 | if (!keyfile) |
| 575 | keyfile = signfile; | 574 | keyfile = signfile; |
| 576 | signer = load_cert(bio_err, signfile, FORMAT_PEM, | 575 | signer = load_cert(bio_err, signfile, FORMAT_PEM, |
| 577 | NULL, e, "signer certificate"); | 576 | NULL, "signer certificate"); |
| 578 | if (!signer) { | 577 | if (!signer) { |
| 579 | BIO_printf(bio_err, "Error loading signer certificate\n"); | 578 | BIO_printf(bio_err, "Error loading signer certificate\n"); |
| 580 | goto end; | 579 | goto end; |
| 581 | } | 580 | } |
| 582 | if (sign_certfile) { | 581 | if (sign_certfile) { |
| 583 | sign_other = load_certs(bio_err, sign_certfile, FORMAT_PEM, | 582 | sign_other = load_certs(bio_err, sign_certfile, FORMAT_PEM, |
| 584 | NULL, e, "signer certificates"); | 583 | NULL, "signer certificates"); |
| 585 | if (!sign_other) | 584 | if (!sign_other) |
| 586 | goto end; | 585 | goto end; |
| 587 | } | 586 | } |
| 588 | key = load_key(bio_err, keyfile, FORMAT_PEM, 0, NULL, NULL, | 587 | key = load_key(bio_err, keyfile, FORMAT_PEM, 0, NULL, |
| 589 | "signer private key"); | 588 | "signer private key"); |
| 590 | if (!key) | 589 | if (!key) |
| 591 | goto end; | 590 | goto end; |
| @@ -690,7 +689,7 @@ done_resp: | |||
| 690 | goto end; | 689 | goto end; |
| 691 | if (verify_certfile) { | 690 | if (verify_certfile) { |
| 692 | verify_other = load_certs(bio_err, verify_certfile, FORMAT_PEM, | 691 | verify_other = load_certs(bio_err, verify_certfile, FORMAT_PEM, |
| 693 | NULL, e, "validator certificate"); | 692 | NULL, "validator certificate"); |
| 694 | if (!verify_other) | 693 | if (!verify_other) |
| 695 | goto end; | 694 | goto end; |
| 696 | } | 695 | } |
diff --git a/src/usr.bin/openssl/openssl.1 b/src/usr.bin/openssl/openssl.1 index 89b1979e2e..7e4937207d 100644 --- a/src/usr.bin/openssl/openssl.1 +++ b/src/usr.bin/openssl/openssl.1 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | .\" $OpenBSD: openssl.1,v 1.21 2015/09/11 06:43:05 jmc Exp $ | 1 | .\" $OpenBSD: openssl.1,v 1.22 2015/09/11 14:30:23 bcook Exp $ |
| 2 | .\" ==================================================================== | 2 | .\" ==================================================================== |
| 3 | .\" Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. | 3 | .\" Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. |
| 4 | .\" | 4 | .\" |
| @@ -284,8 +284,6 @@ Elliptic curve (EC) key processing. | |||
| 284 | EC parameter manipulation and generation. | 284 | EC parameter manipulation and generation. |
| 285 | .It Cm enc | 285 | .It Cm enc |
| 286 | Encoding with ciphers. | 286 | Encoding with ciphers. |
| 287 | .It Cm engine | ||
| 288 | Engine (loadable module) information and manipulation. | ||
| 289 | .It Cm errstr | 287 | .It Cm errstr |
| 290 | Error number to error string conversion. | 288 | Error number to error string conversion. |
| 291 | .It Cm gendh | 289 | .It Cm gendh |
| @@ -703,7 +701,6 @@ The output of some ASN.1 types is not well handled | |||
| 703 | .Op Fl crlhours Ar hours | 701 | .Op Fl crlhours Ar hours |
| 704 | .Op Fl days Ar arg | 702 | .Op Fl days Ar arg |
| 705 | .Op Fl enddate Ar date | 703 | .Op Fl enddate Ar date |
| 706 | .Op Fl engine Ar id | ||
| 707 | .Op Fl extensions Ar section | 704 | .Op Fl extensions Ar section |
| 708 | .Op Fl extfile Ar section | 705 | .Op Fl extfile Ar section |
| 709 | .Op Fl gencrl | 706 | .Op Fl gencrl |
| @@ -711,7 +708,7 @@ The output of some ASN.1 types is not well handled | |||
| 711 | .Op Fl infiles | 708 | .Op Fl infiles |
| 712 | .Op Fl key Ar keyfile | 709 | .Op Fl key Ar keyfile |
| 713 | .Op Fl keyfile Ar arg | 710 | .Op Fl keyfile Ar arg |
| 714 | .Op Fl keyform Ar ENGINE | PEM | 711 | .Op Fl keyform Ar PEM |
| 715 | .Op Fl md Ar arg | 712 | .Op Fl md Ar arg |
| 716 | .Op Fl msie_hack | 713 | .Op Fl msie_hack |
| 717 | .Op Fl name Ar section | 714 | .Op Fl name Ar section |
| @@ -757,14 +754,6 @@ The number of days to certify the certificate for. | |||
| 757 | This allows the expiry date to be explicitly set. | 754 | This allows the expiry date to be explicitly set. |
| 758 | The format of the date is YYMMDDHHMMSSZ | 755 | The format of the date is YYMMDDHHMMSSZ |
| 759 | .Pq the same as an ASN1 UTCTime structure . | 756 | .Pq the same as an ASN1 UTCTime structure . |
| 760 | .It Fl engine Ar id | ||
| 761 | Specifying an engine (by its unique | ||
| 762 | .Ar id | ||
| 763 | string) will cause | ||
| 764 | .Nm ca | ||
| 765 | to attempt to obtain a functional reference to the specified engine, | ||
| 766 | thus initialising it if needed. | ||
| 767 | The engine will then be set as the default for all available algorithms. | ||
| 768 | .It Fl extensions Ar section | 757 | .It Fl extensions Ar section |
| 769 | The section of the configuration file containing certificate extensions | 758 | The section of the configuration file containing certificate extensions |
| 770 | to be added when a certificate is issued (defaults to | 759 | to be added when a certificate is issued (defaults to |
| @@ -800,7 +789,7 @@ with the | |||
| 800 | utility) this option should be used with caution. | 789 | utility) this option should be used with caution. |
| 801 | .It Fl keyfile Ar file | 790 | .It Fl keyfile Ar file |
| 802 | The private key to sign requests with. | 791 | The private key to sign requests with. |
| 803 | .It Fl keyform Ar ENGINE | PEM | 792 | .It Fl keyform Ar PEM |
| 804 | Private key file format. | 793 | Private key file format. |
| 805 | .It Fl md Ar alg | 794 | .It Fl md Ar alg |
| 806 | The message digest to use. | 795 | The message digest to use. |
| @@ -1811,10 +1800,9 @@ install user certificates and CAs in MSIE using the Xenroll control. | |||
| 1811 | .Oc | 1800 | .Oc |
| 1812 | .Op Fl binary | 1801 | .Op Fl binary |
| 1813 | .Op Fl cd | 1802 | .Op Fl cd |
| 1814 | .Op Fl engine Ar id | ||
| 1815 | .Op Fl hex | 1803 | .Op Fl hex |
| 1816 | .Op Fl hmac Ar key | 1804 | .Op Fl hmac Ar key |
| 1817 | .Op Fl keyform Ar ENGINE | PEM | 1805 | .Op Fl keyform Ar PEM |
| 1818 | .Op Fl mac Ar algorithm | 1806 | .Op Fl mac Ar algorithm |
| 1819 | .Op Fl macopt Ar nm : Ns Ar v | 1807 | .Op Fl macopt Ar nm : Ns Ar v |
| 1820 | .Op Fl out Ar file | 1808 | .Op Fl out Ar file |
| @@ -1853,16 +1841,6 @@ Print out the digest in two-digit groups separated by colons; only relevant if | |||
| 1853 | format output is used. | 1841 | format output is used. |
| 1854 | .It Fl d | 1842 | .It Fl d |
| 1855 | Print out BIO debugging information. | 1843 | Print out BIO debugging information. |
| 1856 | .It Fl engine Ar id | ||
| 1857 | Specifying an engine (by its unique | ||
| 1858 | .Ar id | ||
| 1859 | string) will cause | ||
| 1860 | .Nm dgst | ||
| 1861 | to attempt to obtain a functional reference to the specified engine, | ||
| 1862 | thus initialising it if needed. | ||
| 1863 | The engine will then be set as the default for all available algorithms. | ||
| 1864 | This engine is not used as a source for digest algorithms | ||
| 1865 | unless it is also specified in the configuration file. | ||
| 1866 | .It Fl hex | 1844 | .It Fl hex |
| 1867 | Digest is to be output as a hex dump. | 1845 | Digest is to be output as a hex dump. |
| 1868 | This is the default case for a | 1846 | This is the default case for a |
| @@ -1871,7 +1849,7 @@ digest as opposed to a digital signature. | |||
| 1871 | .It Fl hmac Ar key | 1849 | .It Fl hmac Ar key |
| 1872 | Create a hashed MAC using | 1850 | Create a hashed MAC using |
| 1873 | .Ar key . | 1851 | .Ar key . |
| 1874 | .It Fl keyform Ar ENGINE | PEM | 1852 | .It Fl keyform Ar PEM |
| 1875 | Specifies the key format to sign the digest with. | 1853 | Specifies the key format to sign the digest with. |
| 1876 | .It Fl mac Ar algorithm | 1854 | .It Fl mac Ar algorithm |
| 1877 | Create a keyed Message Authentication Code (MAC). | 1855 | Create a keyed Message Authentication Code (MAC). |
| @@ -1963,7 +1941,6 @@ below. | |||
| 1963 | .Op Fl C | 1941 | .Op Fl C |
| 1964 | .Op Fl check | 1942 | .Op Fl check |
| 1965 | .Op Fl dsaparam | 1943 | .Op Fl dsaparam |
| 1966 | .Op Fl engine Ar id | ||
| 1967 | .Op Fl in Ar file | 1944 | .Op Fl in Ar file |
| 1968 | .Op Fl inform Ar DER | PEM | 1945 | .Op Fl inform Ar DER | PEM |
| 1969 | .Op Fl noout | 1946 | .Op Fl noout |
| @@ -2008,14 +1985,6 @@ which makes DH key exchange more efficient. | |||
| 2008 | Beware that with such DSA-style DH parameters, | 1985 | Beware that with such DSA-style DH parameters, |
| 2009 | a fresh DH key should be created for each use to | 1986 | a fresh DH key should be created for each use to |
| 2010 | avoid small-subgroup attacks that may be possible otherwise. | 1987 | avoid small-subgroup attacks that may be possible otherwise. |
| 2011 | .It Fl engine Ar id | ||
| 2012 | Specifying an engine (by its unique | ||
| 2013 | .Ar id | ||
| 2014 | string) will cause | ||
| 2015 | .Nm dhparam | ||
| 2016 | to attempt to obtain a functional reference to the specified engine, | ||
| 2017 | thus initialising it if needed. | ||
| 2018 | The engine will then be set as the default for all available algorithms. | ||
| 2019 | .It Fl in Ar file | 1988 | .It Fl in Ar file |
| 2020 | This specifies the input | 1989 | This specifies the input |
| 2021 | .Ar file | 1990 | .Ar file |
| @@ -2109,7 +2078,6 @@ option was added in | |||
| 2109 | .Fl aes128 | aes192 | aes256 | | 2078 | .Fl aes128 | aes192 | aes256 | |
| 2110 | .Fl des | des3 | 2079 | .Fl des | des3 |
| 2111 | .Oc | 2080 | .Oc |
| 2112 | .Op Fl engine Ar id | ||
| 2113 | .Op Fl in Ar file | 2081 | .Op Fl in Ar file |
| 2114 | .Op Fl inform Ar DER | PEM | 2082 | .Op Fl inform Ar DER | PEM |
| 2115 | .Op Fl modulus | 2083 | .Op Fl modulus |
| @@ -2154,14 +2122,6 @@ remove the pass phrase from a key, | |||
| 2154 | or by setting the encryption options it can be use to add or change | 2122 | or by setting the encryption options it can be use to add or change |
| 2155 | the pass phrase. | 2123 | the pass phrase. |
| 2156 | These options can only be used with PEM format output files. | 2124 | These options can only be used with PEM format output files. |
| 2157 | .It Fl engine Ar id | ||
| 2158 | Specifying an engine (by its unique | ||
| 2159 | .Ar id | ||
| 2160 | string) will cause | ||
| 2161 | .Nm dsa | ||
| 2162 | to attempt to obtain a functional reference to the specified engine, | ||
| 2163 | thus initialising it if needed. | ||
| 2164 | The engine will then be set as the default for all available algorithms. | ||
| 2165 | .It Fl in Ar file | 2125 | .It Fl in Ar file |
| 2166 | This specifies the input | 2126 | This specifies the input |
| 2167 | .Ar file | 2127 | .Ar file |
| @@ -2267,7 +2227,6 @@ To just output the public part of a private key: | |||
| 2267 | .Nm "openssl dsaparam" | 2227 | .Nm "openssl dsaparam" |
| 2268 | .Bk -words | 2228 | .Bk -words |
| 2269 | .Op Fl C | 2229 | .Op Fl C |
| 2270 | .Op Fl engine Ar id | ||
| 2271 | .Op Fl genkey | 2230 | .Op Fl genkey |
| 2272 | .Op Fl in Ar file | 2231 | .Op Fl in Ar file |
| 2273 | .Op Fl inform Ar DER | PEM | 2232 | .Op Fl inform Ar DER | PEM |
| @@ -2290,14 +2249,6 @@ This option converts the parameters into C code. | |||
| 2290 | The parameters can then be loaded by calling the | 2249 | The parameters can then be loaded by calling the |
| 2291 | .Cm get_dsa Ns Ar XXX Ns Li () | 2250 | .Cm get_dsa Ns Ar XXX Ns Li () |
| 2292 | function. | 2251 | function. |
| 2293 | .It Fl engine Ar id | ||
| 2294 | Specifying an engine (by its unique | ||
| 2295 | .Ar id | ||
| 2296 | string) will cause | ||
| 2297 | .Nm dsaparam | ||
| 2298 | to attempt to obtain a functional reference to the specified engine, | ||
| 2299 | thus initialising it if needed. | ||
| 2300 | The engine will then be set as the default for all available algorithms. | ||
| 2301 | .It Fl genkey | 2252 | .It Fl genkey |
| 2302 | This option will generate a DSA either using the specified or generated | 2253 | This option will generate a DSA either using the specified or generated |
| 2303 | parameters. | 2254 | parameters. |
| @@ -2362,7 +2313,6 @@ DSA parameters is often used to generate several distinct keys. | |||
| 2362 | .Op Fl conv_form Ar arg | 2313 | .Op Fl conv_form Ar arg |
| 2363 | .Op Fl des | 2314 | .Op Fl des |
| 2364 | .Op Fl des3 | 2315 | .Op Fl des3 |
| 2365 | .Op Fl engine Ar id | ||
| 2366 | .Op Fl in Ar file | 2316 | .Op Fl in Ar file |
| 2367 | .Op Fl inform Ar DER | PEM | 2317 | .Op Fl inform Ar DER | PEM |
| 2368 | .Op Fl noout | 2318 | .Op Fl noout |
| @@ -2428,14 +2378,6 @@ encryption option can be used to remove the pass phrase from a key, | |||
| 2428 | or by setting the encryption options | 2378 | or by setting the encryption options |
| 2429 | it can be use to add or change the pass phrase. | 2379 | it can be use to add or change the pass phrase. |
| 2430 | These options can only be used with PEM format output files. | 2380 | These options can only be used with PEM format output files. |
| 2431 | .It Fl engine Ar id | ||
| 2432 | Specifying an engine (by its unique | ||
| 2433 | .Ar id | ||
| 2434 | string) will cause | ||
| 2435 | .Nm ec | ||
| 2436 | to attempt to obtain a functional reference to the specified engine, | ||
| 2437 | thus initialising it if needed. | ||
| 2438 | The engine will then be set as the default for all available algorithms. | ||
| 2439 | .It Fl in Ar file | 2381 | .It Fl in Ar file |
| 2440 | This specifies the input filename to read a key from, | 2382 | This specifies the input filename to read a key from, |
| 2441 | or standard input if this option is not specified. | 2383 | or standard input if this option is not specified. |
| @@ -2567,7 +2509,6 @@ command was first introduced in | |||
| 2567 | .Op Fl C | 2509 | .Op Fl C |
| 2568 | .Op Fl check | 2510 | .Op Fl check |
| 2569 | .Op Fl conv_form Ar arg | 2511 | .Op Fl conv_form Ar arg |
| 2570 | .Op Fl engine Ar id | ||
| 2571 | .Op Fl genkey | 2512 | .Op Fl genkey |
| 2572 | .Op Fl in Ar file | 2513 | .Op Fl in Ar file |
| 2573 | .Op Fl inform Ar DER | PEM | 2514 | .Op Fl inform Ar DER | PEM |
| @@ -2611,14 +2552,6 @@ option is disabled by default for binary curves | |||
| 2611 | and can be enabled by defining the preprocessor macro | 2552 | and can be enabled by defining the preprocessor macro |
| 2612 | .Ar OPENSSL_EC_BIN_PT_COMP | 2553 | .Ar OPENSSL_EC_BIN_PT_COMP |
| 2613 | at compile time. | 2554 | at compile time. |
| 2614 | .It Fl engine Ar id | ||
| 2615 | Specifying an engine (by its unique | ||
| 2616 | .Ar id | ||
| 2617 | string) will cause | ||
| 2618 | .Nm ecparam | ||
| 2619 | to attempt to obtain a functional reference to the specified engine, | ||
| 2620 | thus initialising it if needed. | ||
| 2621 | The engine will then be set as the default for all available algorithms. | ||
| 2622 | .It Fl genkey | 2555 | .It Fl genkey |
| 2623 | Generate an EC private key using the specified parameters. | 2556 | Generate an EC private key using the specified parameters. |
| 2624 | .It Fl in Ar file | 2557 | .It Fl in Ar file |
| @@ -2736,7 +2669,6 @@ command was first introduced in | |||
| 2736 | .Op Fl base64 | 2669 | .Op Fl base64 |
| 2737 | .Op Fl bufsize Ar number | 2670 | .Op Fl bufsize Ar number |
| 2738 | .Op Fl debug | 2671 | .Op Fl debug |
| 2739 | .Op Fl engine Ar id | ||
| 2740 | .Op Fl in Ar file | 2672 | .Op Fl in Ar file |
| 2741 | .Op Fl iv Ar IV | 2673 | .Op Fl iv Ar IV |
| 2742 | .Op Fl K Ar key | 2674 | .Op Fl K Ar key |
| @@ -2779,14 +2711,6 @@ Decrypt the input data. | |||
| 2779 | Debug the BIOs used for I/O. | 2711 | Debug the BIOs used for I/O. |
| 2780 | .It Fl e | 2712 | .It Fl e |
| 2781 | Encrypt the input data: this is the default. | 2713 | Encrypt the input data: this is the default. |
| 2782 | .It Fl engine Ar id | ||
| 2783 | Specifying an engine (by its unique | ||
| 2784 | .Ar id | ||
| 2785 | string) will cause | ||
| 2786 | .Nm enc | ||
| 2787 | to attempt to obtain a functional reference to the specified engine, | ||
| 2788 | thus initialising it if needed. | ||
| 2789 | The engine will then be set as the default for all available algorithms. | ||
| 2790 | .It Fl in Ar file | 2714 | .It Fl in Ar file |
| 2791 | The input | 2715 | The input |
| 2792 | .Ar file ; | 2716 | .Ar file ; |
| @@ -2918,25 +2842,6 @@ The program can be called either as | |||
| 2918 | .Nm openssl ciphername | 2842 | .Nm openssl ciphername |
| 2919 | or | 2843 | or |
| 2920 | .Nm openssl enc -ciphername . | 2844 | .Nm openssl enc -ciphername . |
| 2921 | But the first form doesn't work with engine-provided ciphers, | ||
| 2922 | because this form is processed before the | ||
| 2923 | configuration file is read and any engines loaded. | ||
| 2924 | .Pp | ||
| 2925 | Engines which provide entirely new encryption algorithms | ||
| 2926 | should be configured in the configuration file. | ||
| 2927 | Engines, specified on the command line using the | ||
| 2928 | .Fl engine | ||
| 2929 | option, | ||
| 2930 | can only be used for hardware-assisted implementations of ciphers, | ||
| 2931 | supported by | ||
| 2932 | .Nm OpenSSL | ||
| 2933 | core, or by other engines specified in the configuration file. | ||
| 2934 | .Pp | ||
| 2935 | When | ||
| 2936 | .Nm enc | ||
| 2937 | lists supported ciphers, | ||
| 2938 | ciphers provided by engines specified in the configuration files | ||
| 2939 | are listed too. | ||
| 2940 | .Pp | 2845 | .Pp |
| 2941 | A password will be prompted for to derive the | 2846 | A password will be prompted for to derive the |
| 2942 | .Ar key | 2847 | .Ar key |
| @@ -3077,56 +2982,6 @@ program only supports a fixed number of algorithms with certain parameters. | |||
| 3077 | Therefore it is not possible to use RC2 with a 76-bit key | 2982 | Therefore it is not possible to use RC2 with a 76-bit key |
| 3078 | or RC4 with an 84-bit key with this program. | 2983 | or RC4 with an 84-bit key with this program. |
| 3079 | .\" | 2984 | .\" |
| 3080 | .\" ENGINE | ||
| 3081 | .\" | ||
| 3082 | .Sh ENGINE | ||
| 3083 | .Nm openssl engine | ||
| 3084 | .Op Fl ctv | ||
| 3085 | .Op Fl post Ar cmd | ||
| 3086 | .Op Fl pre Ar cmd | ||
| 3087 | .Op Ar engine ... | ||
| 3088 | .Pp | ||
| 3089 | The | ||
| 3090 | .Nm engine | ||
| 3091 | command provides loadable module information and manipulation | ||
| 3092 | of various engines. | ||
| 3093 | Any options are applied to all engines supplied on the command line, | ||
| 3094 | or all supported engines if none are specified. | ||
| 3095 | .Pp | ||
| 3096 | The options are as follows: | ||
| 3097 | .Bl -tag -width Ds | ||
| 3098 | .It Fl c | ||
| 3099 | For each engine, also list the capabilities. | ||
| 3100 | .It Fl post Ar cmd | ||
| 3101 | Run command | ||
| 3102 | .Ar cmd | ||
| 3103 | against the engine after loading it | ||
| 3104 | (only used if | ||
| 3105 | .Fl t | ||
| 3106 | is also provided). | ||
| 3107 | .It Fl pre Ar cmd | ||
| 3108 | Run command | ||
| 3109 | .Ar cmd | ||
| 3110 | against the engine before any attempts | ||
| 3111 | to load it | ||
| 3112 | (only used if | ||
| 3113 | .Fl t | ||
| 3114 | is also provided). | ||
| 3115 | .It Fl t | ||
| 3116 | For each engine, check that they are really available. | ||
| 3117 | .Fl tt | ||
| 3118 | will display an error trace for unavailable engines. | ||
| 3119 | .It Fl v | ||
| 3120 | Verbose mode. | ||
| 3121 | For each engine, list its 'control commands'. | ||
| 3122 | .Fl vv | ||
| 3123 | will additionally display each command's description. | ||
| 3124 | .Fl vvv | ||
| 3125 | will also add the input flags for each command. | ||
| 3126 | .Fl vvvv | ||
| 3127 | will also show internal input flags. | ||
| 3128 | .El | ||
| 3129 | .\" | ||
| 3130 | .\" ERRSTR | 2985 | .\" ERRSTR |
| 3131 | .\" | 2986 | .\" |
| 3132 | .Sh ERRSTR | 2987 | .Sh ERRSTR |
| @@ -3192,7 +3047,6 @@ above. | |||
| 3192 | .Fl aes128 | aes192 | aes256 | | 3047 | .Fl aes128 | aes192 | aes256 | |
| 3193 | .Fl des | des3 | 3048 | .Fl des | des3 |
| 3194 | .Oc | 3049 | .Oc |
| 3195 | .Op Fl engine Ar id | ||
| 3196 | .Op Fl out Ar file | 3050 | .Op Fl out Ar file |
| 3197 | .Op Ar paramfile | 3051 | .Op Ar paramfile |
| 3198 | .Ek | 3052 | .Ek |
| @@ -3215,14 +3069,6 @@ These options encrypt the private key with the AES, DES, | |||
| 3215 | or the triple DES ciphers, respectively, before outputting it. | 3069 | or the triple DES ciphers, respectively, before outputting it. |
| 3216 | A pass phrase is prompted for. | 3070 | A pass phrase is prompted for. |
| 3217 | If none of these options are specified, no encryption is used. | 3071 | If none of these options are specified, no encryption is used. |
| 3218 | .It Fl engine Ar id | ||
| 3219 | Specifying an engine (by its unique | ||
| 3220 | .Ar id | ||
| 3221 | string) will cause | ||
| 3222 | .Nm gendsa | ||
| 3223 | to attempt to obtain a functional reference to the specified engine, | ||
| 3224 | thus initialising it if needed. | ||
| 3225 | The engine will then be set as the default for all available algorithms. | ||
| 3226 | .It Fl out Ar file | 3072 | .It Fl out Ar file |
| 3227 | The output | 3073 | The output |
| 3228 | .Ar file . | 3074 | .Ar file . |
| @@ -3246,7 +3092,6 @@ much quicker than RSA key generation, for example. | |||
| 3246 | .Bk -words | 3092 | .Bk -words |
| 3247 | .Op Fl algorithm Ar alg | 3093 | .Op Fl algorithm Ar alg |
| 3248 | .Op Ar cipher | 3094 | .Op Ar cipher |
| 3249 | .Op Fl engine Ar id | ||
| 3250 | .Op Fl genparam | 3095 | .Op Fl genparam |
| 3251 | .Op Fl out Ar file | 3096 | .Op Fl out Ar file |
| 3252 | .Op Fl outform Ar DER | PEM | 3097 | .Op Fl outform Ar DER | PEM |
| @@ -3262,8 +3107,7 @@ The | |||
| 3262 | command generates private keys. | 3107 | command generates private keys. |
| 3263 | The use of this | 3108 | The use of this |
| 3264 | program is encouraged over the algorithm specific utilities | 3109 | program is encouraged over the algorithm specific utilities |
| 3265 | because additional algorithm options | 3110 | because additional algorithm options can be used. |
| 3266 | and engine-provided algorithms can be used. | ||
| 3267 | .Pp | 3111 | .Pp |
| 3268 | The options are as follows: | 3112 | The options are as follows: |
| 3269 | .Bl -tag -width Ds | 3113 | .Bl -tag -width Ds |
| @@ -3284,14 +3128,6 @@ Any algorithm name accepted by | |||
| 3284 | .Fn EVP_get_cipherbyname | 3128 | .Fn EVP_get_cipherbyname |
| 3285 | is acceptable, such as | 3129 | is acceptable, such as |
| 3286 | .Cm des3 . | 3130 | .Cm des3 . |
| 3287 | .It Fl engine Ar id | ||
| 3288 | Specifying an engine (by its unique | ||
| 3289 | .Ar id | ||
| 3290 | string) will cause | ||
| 3291 | .Nm genpkey | ||
| 3292 | to attempt to obtain a functional reference to the specified engine, | ||
| 3293 | thus initialising it if needed. | ||
| 3294 | The engine will then be set as the default for all available algorithms. | ||
| 3295 | .It Fl genparam | 3131 | .It Fl genparam |
| 3296 | Generate a set of parameters instead of a private key. | 3132 | Generate a set of parameters instead of a private key. |
| 3297 | If used this option must precede any | 3133 | If used this option must precede any |
| @@ -3422,7 +3258,6 @@ $ openssl genpkey -paramfile dhp.pem -out dhkey.pem | |||
| 3422 | .Fl aes128 | aes192 | aes256 | | 3258 | .Fl aes128 | aes192 | aes256 | |
| 3423 | .Fl des | des3 | 3259 | .Fl des | des3 |
| 3424 | .Oc | 3260 | .Oc |
| 3425 | .Op Fl engine Ar id | ||
| 3426 | .Op Fl out Ar file | 3261 | .Op Fl out Ar file |
| 3427 | .Op Fl passout Ar arg | 3262 | .Op Fl passout Ar arg |
| 3428 | .Op Ar numbits | 3263 | .Op Ar numbits |
| @@ -3449,14 +3284,6 @@ If encryption is used, a pass phrase is prompted for, | |||
| 3449 | if it is not supplied via the | 3284 | if it is not supplied via the |
| 3450 | .Fl passout | 3285 | .Fl passout |
| 3451 | option. | 3286 | option. |
| 3452 | .It Fl engine Ar id | ||
| 3453 | Specifying an engine (by its unique | ||
| 3454 | .Ar id | ||
| 3455 | string) will cause | ||
| 3456 | .Nm genrsa | ||
| 3457 | to attempt to obtain a functional reference to the specified engine, | ||
| 3458 | thus initialising it if needed. | ||
| 3459 | The engine will then be set as the default for all available algorithms. | ||
| 3460 | .It Fl out Ar file | 3287 | .It Fl out Ar file |
| 3461 | The output | 3288 | The output |
| 3462 | .Ar file . | 3289 | .Ar file . |
| @@ -4129,7 +3956,6 @@ prints | |||
| 4129 | .nr nS 1 | 3956 | .nr nS 1 |
| 4130 | .Nm "openssl pkcs7" | 3957 | .Nm "openssl pkcs7" |
| 4131 | .Bk -words | 3958 | .Bk -words |
| 4132 | .Op Fl engine Ar id | ||
| 4133 | .Op Fl in Ar file | 3959 | .Op Fl in Ar file |
| 4134 | .Op Fl inform Ar DER | PEM | 3960 | .Op Fl inform Ar DER | PEM |
| 4135 | .Op Fl noout | 3961 | .Op Fl noout |
| @@ -4146,14 +3972,6 @@ command processes PKCS#7 files in DER or PEM format. | |||
| 4146 | .Pp | 3972 | .Pp |
| 4147 | The options are as follows: | 3973 | The options are as follows: |
| 4148 | .Bl -tag -width Ds | 3974 | .Bl -tag -width Ds |
| 4149 | .It Fl engine Ar id | ||
| 4150 | Specifying an engine (by its unique | ||
| 4151 | .Ar id | ||
| 4152 | string) will cause | ||
| 4153 | .Nm pkcs7 | ||
| 4154 | to attempt to obtain a functional reference to the specified engine, | ||
| 4155 | thus initialising it if needed. | ||
| 4156 | The engine will then be set as the default for all available algorithms. | ||
| 4157 | .It Fl in Ar file | 3975 | .It Fl in Ar file |
| 4158 | This specifies the input | 3976 | This specifies the input |
| 4159 | .Ar file | 3977 | .Ar file |
| @@ -4218,7 +4036,6 @@ They cannot currently parse, for example, the new CMS as described in RFC 2630. | |||
| 4218 | .Nm "openssl pkcs8" | 4036 | .Nm "openssl pkcs8" |
| 4219 | .Bk -words | 4037 | .Bk -words |
| 4220 | .Op Fl embed | 4038 | .Op Fl embed |
| 4221 | .Op Fl engine Ar id | ||
| 4222 | .Op Fl in Ar file | 4039 | .Op Fl in Ar file |
| 4223 | .Op Fl inform Ar DER | PEM | 4040 | .Op Fl inform Ar DER | PEM |
| 4224 | .Op Fl nocrypt | 4041 | .Op Fl nocrypt |
| @@ -4254,14 +4071,6 @@ In this form the OCTET STRING contains an ASN1 SEQUENCE consisting of | |||
| 4254 | two structures: | 4071 | two structures: |
| 4255 | a SEQUENCE containing the parameters and an ASN1 INTEGER containing | 4072 | a SEQUENCE containing the parameters and an ASN1 INTEGER containing |
| 4256 | the private key. | 4073 | the private key. |
| 4257 | .It Fl engine Ar id | ||
| 4258 | Specifying an engine (by its unique | ||
| 4259 | .Ar id | ||
| 4260 | string) will cause | ||
| 4261 | .Nm pkcs8 | ||
| 4262 | to attempt to obtain a functional reference to the specified engine, | ||
| 4263 | thus initialising it if needed. | ||
| 4264 | The engine will then be set as the default for all available algorithms. | ||
| 4265 | .It Fl in Ar file | 4074 | .It Fl in Ar file |
| 4266 | This specifies the input | 4075 | This specifies the input |
| 4267 | .Ar file | 4076 | .Ar file |
| @@ -4484,7 +4293,6 @@ compatibility, several of the utilities use the old format at present. | |||
| 4484 | .Op Fl clcerts | 4293 | .Op Fl clcerts |
| 4485 | .Op Fl CSP Ar name | 4294 | .Op Fl CSP Ar name |
| 4486 | .Op Fl descert | 4295 | .Op Fl descert |
| 4487 | .Op Fl engine Ar id | ||
| 4488 | .Op Fl export | 4296 | .Op Fl export |
| 4489 | .Op Fl in Ar file | 4297 | .Op Fl in Ar file |
| 4490 | .Op Fl info | 4298 | .Op Fl info |
| @@ -4631,14 +4439,6 @@ file unreadable by some | |||
| 4631 | software. | 4439 | software. |
| 4632 | By default, the private key is encrypted using triple DES and the | 4440 | By default, the private key is encrypted using triple DES and the |
| 4633 | certificate using 40-bit RC2. | 4441 | certificate using 40-bit RC2. |
| 4634 | .It Fl engine Ar id | ||
| 4635 | Specifying an engine (by its unique | ||
| 4636 | .Ar id | ||
| 4637 | string) will cause | ||
| 4638 | .Nm pkcs12 | ||
| 4639 | to attempt to obtain a functional reference to the specified engine, | ||
| 4640 | thus initialising it if needed. | ||
| 4641 | The engine will then be set as the default for all available algorithms. | ||
| 4642 | .It Fl export | 4442 | .It Fl export |
| 4643 | This option specifies that a PKCS#12 file will be created rather than | 4443 | This option specifies that a PKCS#12 file will be created rather than |
| 4644 | parsed. | 4444 | parsed. |
| @@ -4844,7 +4644,6 @@ $ openssl -in keycerts.pem -export -name "My PKCS#12 file" \e | |||
| 4844 | .Nm "openssl pkey" | 4644 | .Nm "openssl pkey" |
| 4845 | .Bk -words | 4645 | .Bk -words |
| 4846 | .Op Ar cipher | 4646 | .Op Ar cipher |
| 4847 | .Op Fl engine Ar id | ||
| 4848 | .Op Fl in Ar file | 4647 | .Op Fl in Ar file |
| 4849 | .Op Fl inform Ar DER | PEM | 4648 | .Op Fl inform Ar DER | PEM |
| 4850 | .Op Fl noout | 4649 | .Op Fl noout |
| @@ -4873,14 +4672,6 @@ Any algorithm name accepted by | |||
| 4873 | .Fn EVP_get_cipherbyname | 4672 | .Fn EVP_get_cipherbyname |
| 4874 | is acceptable, such as | 4673 | is acceptable, such as |
| 4875 | .Cm des3 . | 4674 | .Cm des3 . |
| 4876 | .It Fl engine Ar id | ||
| 4877 | Specifying an engine (by its unique | ||
| 4878 | .Ar id | ||
| 4879 | string) will cause | ||
| 4880 | .Nm pkey | ||
| 4881 | to attempt to obtain a functional reference to the specified engine, | ||
| 4882 | thus initialising it if needed. | ||
| 4883 | The engine will then be set as the default for all available algorithms. | ||
| 4884 | .It Fl in Ar file | 4675 | .It Fl in Ar file |
| 4885 | This specifies the input filename to read a key from, | 4676 | This specifies the input filename to read a key from, |
| 4886 | or standard input if this option is not specified. | 4677 | or standard input if this option is not specified. |
| @@ -4966,7 +4757,6 @@ $ openssl pkey -in key.pem -pubout -out pubkey.pem | |||
| 4966 | .\" | 4757 | .\" |
| 4967 | .Sh PKEYPARAM | 4758 | .Sh PKEYPARAM |
| 4968 | .Cm openssl pkeyparam | 4759 | .Cm openssl pkeyparam |
| 4969 | .Op Fl engine Ar id | ||
| 4970 | .Op Fl in Ar file | 4760 | .Op Fl in Ar file |
| 4971 | .Op Fl noout | 4761 | .Op Fl noout |
| 4972 | .Op Fl out Ar file | 4762 | .Op Fl out Ar file |
| @@ -4979,14 +4769,6 @@ They can be converted between various forms and their components printed out. | |||
| 4979 | .Pp | 4769 | .Pp |
| 4980 | The options are as follows: | 4770 | The options are as follows: |
| 4981 | .Bl -tag -width Ds | 4771 | .Bl -tag -width Ds |
| 4982 | .It Fl engine Ar id | ||
| 4983 | Specifying an engine (by its unique | ||
| 4984 | .Ar id | ||
| 4985 | string) will cause | ||
| 4986 | .Nm pkeyparam | ||
| 4987 | to attempt to obtain a functional reference to the specified engine, | ||
| 4988 | thus initialising it if needed. | ||
| 4989 | The engine will then be set as the default for all available algorithms. | ||
| 4990 | .It Fl in Ar file | 4772 | .It Fl in Ar file |
| 4991 | This specifies the input filename to read parameters from, | 4773 | This specifies the input filename to read parameters from, |
| 4992 | or standard input if this option is not specified. | 4774 | or standard input if this option is not specified. |
| @@ -5022,14 +4804,13 @@ because the key type is determined by the PEM headers. | |||
| 5022 | .Op Fl decrypt | 4804 | .Op Fl decrypt |
| 5023 | .Op Fl derive | 4805 | .Op Fl derive |
| 5024 | .Op Fl encrypt | 4806 | .Op Fl encrypt |
| 5025 | .Op Fl engine Ar id | ||
| 5026 | .Op Fl hexdump | 4807 | .Op Fl hexdump |
| 5027 | .Op Fl in Ar file | 4808 | .Op Fl in Ar file |
| 5028 | .Op Fl inkey Ar file | 4809 | .Op Fl inkey Ar file |
| 5029 | .Op Fl keyform Ar DER | ENGINE | PEM | 4810 | .Op Fl keyform Ar DER | PEM |
| 5030 | .Op Fl out Ar file | 4811 | .Op Fl out Ar file |
| 5031 | .Op Fl passin Ar arg | 4812 | .Op Fl passin Ar arg |
| 5032 | .Op Fl peerform Ar DER | ENGINE | PEM | 4813 | .Op Fl peerform Ar DER | PEM |
| 5033 | .Op Fl peerkey Ar file | 4814 | .Op Fl peerkey Ar file |
| 5034 | .Op Fl pkeyopt Ar opt : Ns Ar value | 4815 | .Op Fl pkeyopt Ar opt : Ns Ar value |
| 5035 | .Op Fl pubin | 4816 | .Op Fl pubin |
| @@ -5061,14 +4842,6 @@ Decrypt the input data using a private key. | |||
| 5061 | Derive a shared secret using the peer key. | 4842 | Derive a shared secret using the peer key. |
| 5062 | .It Fl encrypt | 4843 | .It Fl encrypt |
| 5063 | Encrypt the input data using a public key. | 4844 | Encrypt the input data using a public key. |
| 5064 | .It Fl engine Ar id | ||
| 5065 | Specifying an engine (by its unique | ||
| 5066 | .Ar id | ||
| 5067 | string) will cause | ||
| 5068 | .Nm pkeyutl | ||
| 5069 | to attempt to obtain a functional reference to the specified engine, | ||
| 5070 | thus initialising it if needed. | ||
| 5071 | The engine will then be set as the default for all available algorithms. | ||
| 5072 | .It Fl hexdump | 4845 | .It Fl hexdump |
| 5073 | Hex dump the output data. | 4846 | Hex dump the output data. |
| 5074 | .It Fl in Ar file | 4847 | .It Fl in Ar file |
| @@ -5077,8 +4850,8 @@ or standard input if this option is not specified. | |||
| 5077 | .It Fl inkey Ar file | 4850 | .It Fl inkey Ar file |
| 5078 | The input key file. | 4851 | The input key file. |
| 5079 | By default it should be a private key. | 4852 | By default it should be a private key. |
| 5080 | .It Fl keyform Ar DER | ENGINE | PEM | 4853 | .It Fl keyform Ar DER | PEM |
| 5081 | The key format DER, ENGINE, or PEM. | 4854 | The key format DER or PEM. |
| 5082 | .It Fl out Ar file | 4855 | .It Fl out Ar file |
| 5083 | Specify the output filename to write to, | 4856 | Specify the output filename to write to, |
| 5084 | or standard output by default. | 4857 | or standard output by default. |
| @@ -5089,8 +4862,8 @@ For more information about the format of | |||
| 5089 | see the | 4862 | see the |
| 5090 | .Sx PASS PHRASE ARGUMENTS | 4863 | .Sx PASS PHRASE ARGUMENTS |
| 5091 | section above. | 4864 | section above. |
| 5092 | .It Fl peerform Ar DER | ENGINE | PEM | 4865 | .It Fl peerform Ar DER | PEM |
| 5093 | The peer key format DER, ENGINE, or PEM. | 4866 | The peer key format DER or PEM. |
| 5094 | .It Fl peerkey Ar file | 4867 | .It Fl peerkey Ar file |
| 5095 | The peer key file, used by key derivation (agreement) operations. | 4868 | The peer key file, used by key derivation (agreement) operations. |
| 5096 | .It Fl pkeyopt Ar opt : Ns Ar value | 4869 | .It Fl pkeyopt Ar opt : Ns Ar value |
| @@ -5271,7 +5044,6 @@ is prime. | |||
| 5271 | .nr nS 1 | 5044 | .nr nS 1 |
| 5272 | .Nm "openssl rand" | 5045 | .Nm "openssl rand" |
| 5273 | .Op Fl base64 | 5046 | .Op Fl base64 |
| 5274 | .Op Fl engine Ar id | ||
| 5275 | .Op Fl hex | 5047 | .Op Fl hex |
| 5276 | .Op Fl out Ar file | 5048 | .Op Fl out Ar file |
| 5277 | .Ar num | 5049 | .Ar num |
| @@ -5289,14 +5061,6 @@ The options are as follows: | |||
| 5289 | Perform | 5061 | Perform |
| 5290 | .Em base64 | 5062 | .Em base64 |
| 5291 | encoding on the output. | 5063 | encoding on the output. |
| 5292 | .It Fl engine Ar id | ||
| 5293 | Specifying an engine (by its unique | ||
| 5294 | .Ar id | ||
| 5295 | string) will cause | ||
| 5296 | .Nm rand | ||
| 5297 | to attempt to obtain a functional reference to the specified engine, | ||
| 5298 | thus initialising it if needed. | ||
| 5299 | The engine will then be set as the default for all available algorithms. | ||
| 5300 | .It Fl hex | 5064 | .It Fl hex |
| 5301 | Specify hexadecimal output. | 5065 | Specify hexadecimal output. |
| 5302 | .It Fl out Ar file | 5066 | .It Fl out Ar file |
| @@ -5315,7 +5079,6 @@ instead of standard output. | |||
| 5315 | .Op Fl batch | 5079 | .Op Fl batch |
| 5316 | .Op Fl config Ar file | 5080 | .Op Fl config Ar file |
| 5317 | .Op Fl days Ar n | 5081 | .Op Fl days Ar n |
| 5318 | .Op Fl engine Ar id | ||
| 5319 | .Op Fl extensions Ar section | 5082 | .Op Fl extensions Ar section |
| 5320 | .Op Fl in Ar file | 5083 | .Op Fl in Ar file |
| 5321 | .Op Fl inform Ar DER | PEM | 5084 | .Op Fl inform Ar DER | PEM |
| @@ -5392,14 +5155,6 @@ When the | |||
| 5392 | option is being used, this specifies the number of | 5155 | option is being used, this specifies the number of |
| 5393 | days to certify the certificate for. | 5156 | days to certify the certificate for. |
| 5394 | The default is 30 days. | 5157 | The default is 30 days. |
| 5395 | .It Fl engine Ar id | ||
| 5396 | Specifying an engine (by its unique | ||
| 5397 | .Ar id | ||
| 5398 | string) will cause | ||
| 5399 | .Nm req | ||
| 5400 | to attempt to obtain a functional reference to the specified engine, | ||
| 5401 | thus initialising it if needed. | ||
| 5402 | The engine will then be set as the default for all available algorithms. | ||
| 5403 | .It Fl extensions Ar section , Fl reqexts Ar section | 5158 | .It Fl extensions Ar section , Fl reqexts Ar section |
| 5404 | These options specify alternative sections to include certificate | 5159 | These options specify alternative sections to include certificate |
| 5405 | extensions (if the | 5160 | extensions (if the |
| @@ -6067,7 +5822,6 @@ should be input by the user. | |||
| 6067 | .Fl des | des3 | 5822 | .Fl des | des3 |
| 6068 | .Oc | 5823 | .Oc |
| 6069 | .Op Fl check | 5824 | .Op Fl check |
| 6070 | .Op Fl engine Ar id | ||
| 6071 | .Op Fl in Ar file | 5825 | .Op Fl in Ar file |
| 6072 | .Op Fl inform Ar DER | NET | PEM | 5826 | .Op Fl inform Ar DER | NET | PEM |
| 6073 | .Op Fl modulus | 5827 | .Op Fl modulus |
| @@ -6114,14 +5868,6 @@ it can be used to add or change the pass phrase. | |||
| 6114 | These options can only be used with PEM format output files. | 5868 | These options can only be used with PEM format output files. |
| 6115 | .It Fl check | 5869 | .It Fl check |
| 6116 | This option checks the consistency of an RSA private key. | 5870 | This option checks the consistency of an RSA private key. |
| 6117 | .It Fl engine Ar id | ||
| 6118 | Specifying an engine (by its unique | ||
| 6119 | .Ar id | ||
| 6120 | string) will cause | ||
| 6121 | .Nm rsa | ||
| 6122 | to attempt to obtain a functional reference to the specified engine, | ||
| 6123 | thus initialising it if needed. | ||
| 6124 | The engine will then be set as the default for all available algorithms. | ||
| 6125 | .It Fl in Ar file | 5871 | .It Fl in Ar file |
| 6126 | This specifies the input | 5872 | This specifies the input |
| 6127 | .Ar file | 5873 | .Ar file |
| @@ -6264,7 +6010,6 @@ without having to manually edit them. | |||
| 6264 | .Op Fl certin | 6010 | .Op Fl certin |
| 6265 | .Op Fl decrypt | 6011 | .Op Fl decrypt |
| 6266 | .Op Fl encrypt | 6012 | .Op Fl encrypt |
| 6267 | .Op Fl engine Ar id | ||
| 6268 | .Op Fl hexdump | 6013 | .Op Fl hexdump |
| 6269 | .Op Fl in Ar file | 6014 | .Op Fl in Ar file |
| 6270 | .Op Fl inkey Ar file | 6015 | .Op Fl inkey Ar file |
| @@ -6294,14 +6039,6 @@ The input is a certificate containing an RSA public key. | |||
| 6294 | Decrypt the input data using an RSA private key. | 6039 | Decrypt the input data using an RSA private key. |
| 6295 | .It Fl encrypt | 6040 | .It Fl encrypt |
| 6296 | Encrypt the input data using an RSA public key. | 6041 | Encrypt the input data using an RSA public key. |
| 6297 | .It Fl engine Ar id | ||
| 6298 | Specifying an engine (by its unique | ||
| 6299 | .Ar id | ||
| 6300 | string) will cause | ||
| 6301 | .Nm rsautl | ||
| 6302 | to attempt to obtain a functional reference to the specified engine, | ||
| 6303 | thus initialising it if needed. | ||
| 6304 | The engine will then be set as the default for all available algorithms. | ||
| 6305 | .It Fl hexdump | 6042 | .It Fl hexdump |
| 6306 | Hex dump the output data. | 6043 | Hex dump the output data. |
| 6307 | .It Fl in Ar file | 6044 | .It Fl in Ar file |
| @@ -6458,7 +6195,6 @@ which it can be seen agrees with the recovered value above. | |||
| 6458 | .Op Fl crl_check_all | 6195 | .Op Fl crl_check_all |
| 6459 | .Op Fl crlf | 6196 | .Op Fl crlf |
| 6460 | .Op Fl debug | 6197 | .Op Fl debug |
| 6461 | .Op Fl engine Ar id | ||
| 6462 | .Op Fl extended_crl | 6198 | .Op Fl extended_crl |
| 6463 | .Op Fl ign_eof | 6199 | .Op Fl ign_eof |
| 6464 | .Op Fl ignore_critical | 6200 | .Op Fl ignore_critical |
| @@ -6570,14 +6306,6 @@ This option translates a line feed from the terminal into CR+LF as required | |||
| 6570 | by some servers. | 6306 | by some servers. |
| 6571 | .It Fl debug | 6307 | .It Fl debug |
| 6572 | Print extensive debugging information including a hex dump of all traffic. | 6308 | Print extensive debugging information including a hex dump of all traffic. |
| 6573 | .It Fl engine Ar id | ||
| 6574 | Specifying an engine (by its unique | ||
| 6575 | .Ar id | ||
| 6576 | string) will cause | ||
| 6577 | .Nm s_client | ||
| 6578 | to attempt to obtain a functional reference to the specified engine, | ||
| 6579 | thus initialising it if needed. | ||
| 6580 | The engine will then be set as the default for all available algorithms. | ||
| 6581 | .It Fl ign_eof | 6309 | .It Fl ign_eof |
| 6582 | Inhibit shutting down the connection when end of file is reached in the | 6310 | Inhibit shutting down the connection when end of file is reached in the |
| 6583 | input. | 6311 | input. |
| @@ -6782,7 +6510,6 @@ We should really report information whenever a session is renegotiated. | |||
| 6782 | .Op Fl debug | 6510 | .Op Fl debug |
| 6783 | .Op Fl dhparam Ar file | 6511 | .Op Fl dhparam Ar file |
| 6784 | .Op Fl dkey Ar file | 6512 | .Op Fl dkey Ar file |
| 6785 | .Op Fl engine Ar id | ||
| 6786 | .Op Fl hack | 6513 | .Op Fl hack |
| 6787 | .Op Fl HTTP | 6514 | .Op Fl HTTP |
| 6788 | .Op Fl id_prefix Ar arg | 6515 | .Op Fl id_prefix Ar arg |
| @@ -6897,14 +6624,6 @@ load the parameters from the server certificate file. | |||
| 6897 | If this fails, a static set of parameters hard coded into the | 6624 | If this fails, a static set of parameters hard coded into the |
| 6898 | .Nm s_server | 6625 | .Nm s_server |
| 6899 | program will be used. | 6626 | program will be used. |
| 6900 | .It Fl engine Ar id | ||
| 6901 | Specifying an engine (by its unique | ||
| 6902 | .Ar id | ||
| 6903 | string) will cause | ||
| 6904 | .Nm s_server | ||
| 6905 | to attempt to obtain a functional reference to the specified engine, | ||
| 6906 | thus initialising it if needed. | ||
| 6907 | The engine will then be set as the default for all available algorithms. | ||
| 6908 | .It Fl hack | 6627 | .It Fl hack |
| 6909 | This option enables a further workaround for some early Netscape | 6628 | This option enables a further workaround for some early Netscape |
| 6910 | SSL code | 6629 | SSL code |
| @@ -7386,7 +7105,6 @@ The cipher and start time should be printed out in human readable form. | |||
| 7386 | .Op Fl crl_check_all | 7105 | .Op Fl crl_check_all |
| 7387 | .Op Fl decrypt | 7106 | .Op Fl decrypt |
| 7388 | .Op Fl encrypt | 7107 | .Op Fl encrypt |
| 7389 | .Op Fl engine Ar id | ||
| 7390 | .Op Fl extended_crl | 7108 | .Op Fl extended_crl |
| 7391 | .Op Fl from Ar addr | 7109 | .Op Fl from Ar addr |
| 7392 | .Op Fl ignore_critical | 7110 | .Op Fl ignore_critical |
| @@ -7395,7 +7113,7 @@ The cipher and start time should be printed out in human readable form. | |||
| 7395 | .Op Fl inform Ar DER | PEM | SMIME | 7113 | .Op Fl inform Ar DER | PEM | SMIME |
| 7396 | .Op Fl inkey Ar file | 7114 | .Op Fl inkey Ar file |
| 7397 | .Op Fl issuer_checks | 7115 | .Op Fl issuer_checks |
| 7398 | .Op Fl keyform Ar ENGINE | PEM | 7116 | .Op Fl keyform Ar PEM |
| 7399 | .Op Fl md Ar digest | 7117 | .Op Fl md Ar digest |
| 7400 | .Op Fl noattr | 7118 | .Op Fl noattr |
| 7401 | .Op Fl nocerts | 7119 | .Op Fl nocerts |
| @@ -7542,14 +7260,6 @@ This option will override any content if the input format is | |||
| 7542 | and it uses the multipart/signed | 7260 | and it uses the multipart/signed |
| 7543 | .Em MIME | 7261 | .Em MIME |
| 7544 | content type. | 7262 | content type. |
| 7545 | .It Fl engine Ar id | ||
| 7546 | Specifying an engine (by its unique | ||
| 7547 | .Ar id | ||
| 7548 | string) will cause | ||
| 7549 | .Nm smime | ||
| 7550 | to attempt to obtain a functional reference to the specified engine, | ||
| 7551 | thus initialising it if needed. | ||
| 7552 | The engine will then be set as the default for all available algorithms. | ||
| 7553 | .It Xo | 7263 | .It Xo |
| 7554 | .Fl from Ar addr , | 7264 | .Fl from Ar addr , |
| 7555 | .Fl subject Ar s , | 7265 | .Fl subject Ar s , |
| @@ -7605,7 +7315,7 @@ or | |||
| 7605 | file. | 7315 | file. |
| 7606 | When signing, | 7316 | When signing, |
| 7607 | this option can be used multiple times to specify successive keys. | 7317 | this option can be used multiple times to specify successive keys. |
| 7608 | .It Fl keyform Ar ENGINE | PEM | 7318 | .It Fl keyform Ar PEM |
| 7609 | Input private key format. | 7319 | Input private key format. |
| 7610 | .It Fl md Ar digest | 7320 | .It Fl md Ar digest |
| 7611 | The digest algorithm to use when signing or resigning. | 7321 | The digest algorithm to use when signing or resigning. |
| @@ -7968,7 +7678,6 @@ command were first added in | |||
| 7968 | .Op Cm sha1 | 7678 | .Op Cm sha1 |
| 7969 | .Op Fl decrypt | 7679 | .Op Fl decrypt |
| 7970 | .Op Fl elapsed | 7680 | .Op Fl elapsed |
| 7971 | .Op Fl engine Ar id | ||
| 7972 | .Op Fl evp Ar e | 7681 | .Op Fl evp Ar e |
| 7973 | .Op Fl mr | 7682 | .Op Fl mr |
| 7974 | .Op Fl multi Ar number | 7683 | .Op Fl multi Ar number |
| @@ -7986,14 +7695,6 @@ tests those algorithms, otherwise all of the above are tested. | |||
| 7986 | .It Fl decrypt | 7695 | .It Fl decrypt |
| 7987 | Time decryption instead of encryption | 7696 | Time decryption instead of encryption |
| 7988 | .Pq only EVP . | 7697 | .Pq only EVP . |
| 7989 | .It Fl engine Ar id | ||
| 7990 | Specifying an engine (by its unique | ||
| 7991 | .Ar id | ||
| 7992 | string) will cause | ||
| 7993 | .Nm speed | ||
| 7994 | to attempt to obtain a functional reference to the specified engine, | ||
| 7995 | thus initialising it if needed. | ||
| 7996 | The engine will then be set as the default for all available algorithms. | ||
| 7997 | .It Fl elapsed | 7698 | .It Fl elapsed |
| 7998 | Measure time in real time instead of CPU user time. | 7699 | Measure time in real time instead of CPU user time. |
| 7999 | .It Fl evp Ar e | 7700 | .It Fl evp Ar e |
| @@ -8033,7 +7734,6 @@ benchmarks in parallel. | |||
| 8033 | .Fl reply | 7734 | .Fl reply |
| 8034 | .Op Fl chain Ar certs_file.pem | 7735 | .Op Fl chain Ar certs_file.pem |
| 8035 | .Op Fl config Ar configfile | 7736 | .Op Fl config Ar configfile |
| 8036 | .Op Fl engine Ar id | ||
| 8037 | .Op Fl in Ar response.tsr | 7737 | .Op Fl in Ar response.tsr |
| 8038 | .Op Fl inkey Ar private.pem | 7738 | .Op Fl inkey Ar private.pem |
| 8039 | .Op Fl out Ar response.tsr | 7739 | .Op Fl out Ar response.tsr |
| @@ -8194,14 +7894,6 @@ environment variable. | |||
| 8194 | See | 7894 | See |
| 8195 | .Sx TS CONFIGURATION FILE OPTIONS | 7895 | .Sx TS CONFIGURATION FILE OPTIONS |
| 8196 | for configurable variables. | 7896 | for configurable variables. |
| 8197 | .It Fl engine Ar id | ||
| 8198 | Specifying an engine (by its unique | ||
| 8199 | .Ar id | ||
| 8200 | string) will cause | ||
| 8201 | .Nm ts | ||
| 8202 | to attempt to obtain a functional reference to the specified engine, | ||
| 8203 | thus initialising it if needed. | ||
| 8204 | The engine will then be set as the default for all available algorithms. | ||
| 8205 | .It Fl in Ar response.tsr | 7897 | .It Fl in Ar response.tsr |
| 8206 | Specifies a previously created time stamp response or time stamp token, if | 7898 | Specifies a previously created time stamp response or time stamp token, if |
| 8207 | .Fl token_in | 7899 | .Fl token_in |
| @@ -8379,11 +8071,6 @@ This number is incremented by 1 for each response. | |||
| 8379 | If the file does not exist at the time of response | 8071 | If the file does not exist at the time of response |
| 8380 | generation a new file is created with serial number 1. | 8072 | generation a new file is created with serial number 1. |
| 8381 | This parameter is mandatory. | 8073 | This parameter is mandatory. |
| 8382 | .It Cm crypto_device | ||
| 8383 | Specifies the | ||
| 8384 | .Nm OpenSSL | ||
| 8385 | engine that will be set as the default for | ||
| 8386 | all available algorithms. | ||
| 8387 | .It Cm signer_cert | 8074 | .It Cm signer_cert |
| 8388 | TSA signing certificate, in PEM format. | 8075 | TSA signing certificate, in PEM format. |
| 8389 | The same as the | 8076 | The same as the |
| @@ -8611,7 +8298,6 @@ OpenTSA project | |||
| 8611 | .Nm "openssl spkac" | 8298 | .Nm "openssl spkac" |
| 8612 | .Bk -words | 8299 | .Bk -words |
| 8613 | .Op Fl challenge Ar string | 8300 | .Op Fl challenge Ar string |
| 8614 | .Op Fl engine Ar id | ||
| 8615 | .Op Fl in Ar file | 8301 | .Op Fl in Ar file |
| 8616 | .Op Fl key Ar keyfile | 8302 | .Op Fl key Ar keyfile |
| 8617 | .Op Fl noout | 8303 | .Op Fl noout |
| @@ -8636,14 +8322,6 @@ The options are as follows: | |||
| 8636 | .Bl -tag -width Ds | 8322 | .Bl -tag -width Ds |
| 8637 | .It Fl challenge Ar string | 8323 | .It Fl challenge Ar string |
| 8638 | Specifies the challenge string if an SPKAC is being created. | 8324 | Specifies the challenge string if an SPKAC is being created. |
| 8639 | .It Fl engine Ar id | ||
| 8640 | Specifying an engine (by its unique | ||
| 8641 | .Ar id | ||
| 8642 | string) will cause | ||
| 8643 | .Nm spkac | ||
| 8644 | to attempt to obtain a functional reference to the specified engine, | ||
| 8645 | thus initialising it if needed. | ||
| 8646 | The engine will then be set as the default for all available algorithms. | ||
| 8647 | .It Fl in Ar file | 8325 | .It Fl in Ar file |
| 8648 | This specifies the input | 8326 | This specifies the input |
| 8649 | .Ar file | 8327 | .Ar file |
| @@ -8743,7 +8421,6 @@ to be used in a | |||
| 8743 | .Op Fl check_ss_sig | 8421 | .Op Fl check_ss_sig |
| 8744 | .Op Fl crl_check | 8422 | .Op Fl crl_check |
| 8745 | .Op Fl crl_check_all | 8423 | .Op Fl crl_check_all |
| 8746 | .Op Fl engine Ar id | ||
| 8747 | .Op Fl explicit_policy | 8424 | .Op Fl explicit_policy |
| 8748 | .Op Fl extended_crl | 8425 | .Op Fl extended_crl |
| 8749 | .Op Fl help | 8426 | .Op Fl help |
| @@ -8800,14 +8477,6 @@ If a valid CRL cannot be found an error occurs. | |||
| 8800 | .It Fl crl_check_all | 8477 | .It Fl crl_check_all |
| 8801 | Checks the validity of all certificates in the chain by attempting | 8478 | Checks the validity of all certificates in the chain by attempting |
| 8802 | to look up valid CRLs. | 8479 | to look up valid CRLs. |
| 8803 | .It Fl engine Ar id | ||
| 8804 | Specifying an engine (by its unique | ||
| 8805 | .Ar id | ||
| 8806 | string) will cause | ||
| 8807 | .Nm verify | ||
| 8808 | to attempt to obtain a functional reference to the specified engine, | ||
| 8809 | thus initialising it if needed. | ||
| 8810 | The engine will then be set as the default for all available algorithms. | ||
| 8811 | .It Fl explicit_policy | 8480 | .It Fl explicit_policy |
| 8812 | Set policy variable require-explicit-policy (see RFC 3280 et al). | 8481 | Set policy variable require-explicit-policy (see RFC 3280 et al). |
| 8813 | .It Fl extended_crl | 8482 | .It Fl extended_crl |
| @@ -9181,7 +8850,6 @@ option was added in | |||
| 9181 | .Op Fl days Ar arg | 8850 | .Op Fl days Ar arg |
| 9182 | .Op Fl email | 8851 | .Op Fl email |
| 9183 | .Op Fl enddate | 8852 | .Op Fl enddate |
| 9184 | .Op Fl engine Ar id | ||
| 9185 | .Op Fl extensions Ar section | 8853 | .Op Fl extensions Ar section |
| 9186 | .Op Fl extfile Ar file | 8854 | .Op Fl extfile Ar file |
| 9187 | .Op Fl fingerprint | 8855 | .Op Fl fingerprint |
| @@ -9230,14 +8898,6 @@ Since there are a large number of options, they are split up into | |||
| 9230 | various sections. | 8898 | various sections. |
| 9231 | .Sh X509 INPUT, OUTPUT, AND GENERAL PURPOSE OPTIONS | 8899 | .Sh X509 INPUT, OUTPUT, AND GENERAL PURPOSE OPTIONS |
| 9232 | .Bl -tag -width "XXXX" | 8900 | .Bl -tag -width "XXXX" |
| 9233 | .It Fl engine Ar id | ||
| 9234 | Specifying an engine (by its unique | ||
| 9235 | .Ar id | ||
| 9236 | string) will cause | ||
| 9237 | .Nm x509 | ||
| 9238 | to attempt to obtain a functional reference to the specified engine, | ||
| 9239 | thus initialising it if needed. | ||
| 9240 | The engine will then be set as the default for all available algorithms. | ||
| 9241 | .It Fl in Ar file | 8901 | .It Fl in Ar file |
| 9242 | This specifies the input | 8902 | This specifies the input |
| 9243 | .Ar file | 8903 | .Ar file |
diff --git a/src/usr.bin/openssl/openssl.c b/src/usr.bin/openssl/openssl.c index 97321f0cac..c85a807d29 100644 --- a/src/usr.bin/openssl/openssl.c +++ b/src/usr.bin/openssl/openssl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: openssl.c,v 1.6 2015/09/10 16:43:06 jsing Exp $ */ | 1 | /* $OpenBSD: openssl.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -126,10 +126,6 @@ | |||
| 126 | #include <openssl/ssl.h> | 126 | #include <openssl/ssl.h> |
| 127 | #include <openssl/x509.h> | 127 | #include <openssl/x509.h> |
| 128 | 128 | ||
| 129 | #ifndef OPENSSL_NO_ENGINE | ||
| 130 | #include <openssl/engine.h> | ||
| 131 | #endif | ||
| 132 | |||
| 133 | #include "progs.h" | 129 | #include "progs.h" |
| 134 | #include "s_apps.h" | 130 | #include "s_apps.h" |
| 135 | 131 | ||
| @@ -162,9 +158,6 @@ FUNCTION functions[] = { | |||
| 162 | { FUNC_TYPE_GENERAL, "crl", crl_main }, | 158 | { FUNC_TYPE_GENERAL, "crl", crl_main }, |
| 163 | { FUNC_TYPE_GENERAL, "dgst", dgst_main }, | 159 | { FUNC_TYPE_GENERAL, "dgst", dgst_main }, |
| 164 | { FUNC_TYPE_GENERAL, "enc", enc_main }, | 160 | { FUNC_TYPE_GENERAL, "enc", enc_main }, |
| 165 | #ifndef OPENSSL_NO_ENGINE | ||
| 166 | { FUNC_TYPE_GENERAL, "engine", engine_main }, | ||
| 167 | #endif | ||
| 168 | { FUNC_TYPE_GENERAL, "errstr", errstr_main }, | 161 | { FUNC_TYPE_GENERAL, "errstr", errstr_main }, |
| 169 | { FUNC_TYPE_GENERAL, "genpkey", genpkey_main }, | 162 | { FUNC_TYPE_GENERAL, "genpkey", genpkey_main }, |
| 170 | { FUNC_TYPE_GENERAL, "nseq", nseq_main }, | 163 | { FUNC_TYPE_GENERAL, "nseq", nseq_main }, |
| @@ -419,10 +412,6 @@ openssl_startup(void) | |||
| 419 | SSL_library_init(); | 412 | SSL_library_init(); |
| 420 | SSL_load_error_strings(); | 413 | SSL_load_error_strings(); |
| 421 | 414 | ||
| 422 | #ifndef OPENSSL_NO_ENGINE | ||
| 423 | ENGINE_load_builtin_engines(); | ||
| 424 | #endif | ||
| 425 | |||
| 426 | setup_ui_method(); | 415 | setup_ui_method(); |
| 427 | } | 416 | } |
| 428 | 417 | ||
| @@ -433,11 +422,6 @@ openssl_shutdown(void) | |||
| 433 | destroy_ui_method(); | 422 | destroy_ui_method(); |
| 434 | OBJ_cleanup(); | 423 | OBJ_cleanup(); |
| 435 | EVP_cleanup(); | 424 | EVP_cleanup(); |
| 436 | |||
| 437 | #ifndef OPENSSL_NO_ENGINE | ||
| 438 | ENGINE_cleanup(); | ||
| 439 | #endif | ||
| 440 | |||
| 441 | CRYPTO_cleanup_all_ex_data(); | 425 | CRYPTO_cleanup_all_ex_data(); |
| 442 | ERR_remove_thread_state(NULL); | 426 | ERR_remove_thread_state(NULL); |
| 443 | ERR_free_strings(); | 427 | ERR_free_strings(); |
diff --git a/src/usr.bin/openssl/pkcs12.c b/src/usr.bin/openssl/pkcs12.c index 901ddc05f3..eaa7bcceac 100644 --- a/src/usr.bin/openssl/pkcs12.c +++ b/src/usr.bin/openssl/pkcs12.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkcs12.c,v 1.3 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: pkcs12.c,v 1.4 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project. | 3 | * project. |
| 4 | */ | 4 | */ |
| @@ -95,7 +95,6 @@ static int set_pbe(BIO * err, int *ppbe, const char *str); | |||
| 95 | int | 95 | int |
| 96 | pkcs12_main(int argc, char **argv) | 96 | pkcs12_main(int argc, char **argv) |
| 97 | { | 97 | { |
| 98 | ENGINE *e = NULL; | ||
| 99 | char *infile = NULL, *outfile = NULL, *keyname = NULL; | 98 | char *infile = NULL, *outfile = NULL, *keyname = NULL; |
| 100 | char *certfile = NULL; | 99 | char *certfile = NULL; |
| 101 | BIO *in = NULL, *out = NULL; | 100 | BIO *in = NULL, *out = NULL; |
| @@ -124,9 +123,6 @@ pkcs12_main(int argc, char **argv) | |||
| 124 | char *passin = NULL, *passout = NULL; | 123 | char *passin = NULL, *passout = NULL; |
| 125 | char *macalg = NULL; | 124 | char *macalg = NULL; |
| 126 | char *CApath = NULL, *CAfile = NULL; | 125 | char *CApath = NULL, *CAfile = NULL; |
| 127 | #ifndef OPENSSL_NO_ENGINE | ||
| 128 | char *engine = NULL; | ||
| 129 | #endif | ||
| 130 | 126 | ||
| 131 | cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC; | 127 | cert_pbe = NID_pbe_WithSHA1And40BitRC2_CBC; |
| 132 | 128 | ||
| @@ -285,14 +281,6 @@ pkcs12_main(int argc, char **argv) | |||
| 285 | CAfile = *args; | 281 | CAfile = *args; |
| 286 | } else | 282 | } else |
| 287 | badarg = 1; | 283 | badarg = 1; |
| 288 | #ifndef OPENSSL_NO_ENGINE | ||
| 289 | } else if (!strcmp(*args, "-engine")) { | ||
| 290 | if (args[1]) { | ||
| 291 | args++; | ||
| 292 | engine = *args; | ||
| 293 | } else | ||
| 294 | badarg = 1; | ||
| 295 | #endif | ||
| 296 | } else | 284 | } else |
| 297 | badarg = 1; | 285 | badarg = 1; |
| 298 | 286 | ||
| @@ -349,16 +337,10 @@ pkcs12_main(int argc, char **argv) | |||
| 349 | BIO_printf(bio_err, "-password p set import/export password source\n"); | 337 | BIO_printf(bio_err, "-password p set import/export password source\n"); |
| 350 | BIO_printf(bio_err, "-passin p input file pass phrase source\n"); | 338 | BIO_printf(bio_err, "-passin p input file pass phrase source\n"); |
| 351 | BIO_printf(bio_err, "-passout p output file pass phrase source\n"); | 339 | BIO_printf(bio_err, "-passout p output file pass phrase source\n"); |
| 352 | #ifndef OPENSSL_NO_ENGINE | ||
| 353 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 354 | #endif | ||
| 355 | BIO_printf(bio_err, "-CSP name Microsoft CSP name\n"); | 340 | BIO_printf(bio_err, "-CSP name Microsoft CSP name\n"); |
| 356 | BIO_printf(bio_err, "-LMK Add local machine keyset attribute to private key\n"); | 341 | BIO_printf(bio_err, "-LMK Add local machine keyset attribute to private key\n"); |
| 357 | goto end; | 342 | goto end; |
| 358 | } | 343 | } |
| 359 | #ifndef OPENSSL_NO_ENGINE | ||
| 360 | e = setup_engine(bio_err, engine, 0); | ||
| 361 | #endif | ||
| 362 | 344 | ||
| 363 | if (passarg) { | 345 | if (passarg) { |
| 364 | if (export_cert) | 346 | if (export_cert) |
| @@ -428,14 +410,14 @@ pkcs12_main(int argc, char **argv) | |||
| 428 | 410 | ||
| 429 | if (!(options & NOKEYS)) { | 411 | if (!(options & NOKEYS)) { |
| 430 | key = load_key(bio_err, keyname ? keyname : infile, | 412 | key = load_key(bio_err, keyname ? keyname : infile, |
| 431 | FORMAT_PEM, 1, passin, e, "private key"); | 413 | FORMAT_PEM, 1, passin, "private key"); |
| 432 | if (!key) | 414 | if (!key) |
| 433 | goto export_end; | 415 | goto export_end; |
| 434 | } | 416 | } |
| 435 | 417 | ||
| 436 | /* Load in all certs in input file */ | 418 | /* Load in all certs in input file */ |
| 437 | if (!(options & NOCERTS)) { | 419 | if (!(options & NOCERTS)) { |
| 438 | certs = load_certs(bio_err, infile, FORMAT_PEM, NULL, e, | 420 | certs = load_certs(bio_err, infile, FORMAT_PEM, NULL, |
| 439 | "certificates"); | 421 | "certificates"); |
| 440 | if (!certs) | 422 | if (!certs) |
| 441 | goto export_end; | 423 | goto export_end; |
| @@ -465,8 +447,7 @@ pkcs12_main(int argc, char **argv) | |||
| 465 | if (certfile) { | 447 | if (certfile) { |
| 466 | STACK_OF(X509) * morecerts = NULL; | 448 | STACK_OF(X509) * morecerts = NULL; |
| 467 | if (!(morecerts = load_certs(bio_err, certfile, FORMAT_PEM, | 449 | if (!(morecerts = load_certs(bio_err, certfile, FORMAT_PEM, |
| 468 | NULL, e, | 450 | NULL, "certificates from certfile"))) |
| 469 | "certificates from certfile"))) | ||
| 470 | goto export_end; | 451 | goto export_end; |
| 471 | while (sk_X509_num(morecerts) > 0) | 452 | while (sk_X509_num(morecerts) > 0) |
| 472 | sk_X509_push(certs, sk_X509_shift(morecerts)); | 453 | sk_X509_push(certs, sk_X509_shift(morecerts)); |
diff --git a/src/usr.bin/openssl/pkcs7.c b/src/usr.bin/openssl/pkcs7.c index 3180f357f1..717928d27b 100644 --- a/src/usr.bin/openssl/pkcs7.c +++ b/src/usr.bin/openssl/pkcs7.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkcs7.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: pkcs7.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -71,9 +71,6 @@ | |||
| 71 | #include <openssl/x509.h> | 71 | #include <openssl/x509.h> |
| 72 | 72 | ||
| 73 | static struct { | 73 | static struct { |
| 74 | #ifndef OPENSSL_NO_ENGINE | ||
| 75 | char *engine; | ||
| 76 | #endif | ||
| 77 | char *infile; | 74 | char *infile; |
| 78 | int informat; | 75 | int informat; |
| 79 | int noout; | 76 | int noout; |
| @@ -85,15 +82,6 @@ static struct { | |||
| 85 | } pkcs7_config; | 82 | } pkcs7_config; |
| 86 | 83 | ||
| 87 | static struct option pkcs7_options[] = { | 84 | static struct option pkcs7_options[] = { |
| 88 | #ifndef OPENSSL_NO_ENGINE | ||
| 89 | { | ||
| 90 | .name = "engine", | ||
| 91 | .argname = "id", | ||
| 92 | .desc = "Use the engine specified by the given identifier", | ||
| 93 | .type = OPTION_ARG, | ||
| 94 | .opt.arg = &pkcs7_config.engine, | ||
| 95 | }, | ||
| 96 | #endif | ||
| 97 | { | 85 | { |
| 98 | .name = "in", | 86 | .name = "in", |
| 99 | .argname = "file", | 87 | .argname = "file", |
| @@ -152,7 +140,7 @@ static struct option pkcs7_options[] = { | |||
| 152 | static void | 140 | static void |
| 153 | pkcs7_usage() | 141 | pkcs7_usage() |
| 154 | { | 142 | { |
| 155 | fprintf(stderr, "usage: pkcs7 [-engine id] [-in file] " | 143 | fprintf(stderr, "usage: pkcs7 [-in file] " |
| 156 | "[-inform DER | PEM] [-noout]\n" | 144 | "[-inform DER | PEM] [-noout]\n" |
| 157 | " [-out file] [-outform DER | PEM] [-print_certs] [-text]\n\n"); | 145 | " [-out file] [-outform DER | PEM] [-print_certs] [-text]\n\n"); |
| 158 | options_usage(pkcs7_options); | 146 | options_usage(pkcs7_options); |
| @@ -176,10 +164,6 @@ pkcs7_main(int argc, char **argv) | |||
| 176 | goto end; | 164 | goto end; |
| 177 | } | 165 | } |
| 178 | 166 | ||
| 179 | #ifndef OPENSSL_NO_ENGINE | ||
| 180 | setup_engine(bio_err, pkcs7_config.engine, 0); | ||
| 181 | #endif | ||
| 182 | |||
| 183 | in = BIO_new(BIO_s_file()); | 167 | in = BIO_new(BIO_s_file()); |
| 184 | out = BIO_new(BIO_s_file()); | 168 | out = BIO_new(BIO_s_file()); |
| 185 | if ((in == NULL) || (out == NULL)) { | 169 | if ((in == NULL) || (out == NULL)) { |
diff --git a/src/usr.bin/openssl/pkcs8.c b/src/usr.bin/openssl/pkcs8.c index 7e590aa41d..b3ccd1966e 100644 --- a/src/usr.bin/openssl/pkcs8.c +++ b/src/usr.bin/openssl/pkcs8.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkcs8.c,v 1.5 2015/08/19 18:25:31 deraadt Exp $ */ | 1 | /* $OpenBSD: pkcs8.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999-2004. | 3 | * project 1999-2004. |
| 4 | */ | 4 | */ |
| @@ -69,9 +69,6 @@ | |||
| 69 | 69 | ||
| 70 | static struct { | 70 | static struct { |
| 71 | const EVP_CIPHER *cipher; | 71 | const EVP_CIPHER *cipher; |
| 72 | #ifndef OPENSSL_NO_ENGINE | ||
| 73 | char *engine; | ||
| 74 | #endif | ||
| 75 | char *infile; | 72 | char *infile; |
| 76 | int informat; | 73 | int informat; |
| 77 | int iter; | 74 | int iter; |
| @@ -115,15 +112,6 @@ static struct option pkcs8_options[] = { | |||
| 115 | .value = PKCS8_EMBEDDED_PARAM, | 112 | .value = PKCS8_EMBEDDED_PARAM, |
| 116 | .opt.value = &pkcs8_config.p8_broken, | 113 | .opt.value = &pkcs8_config.p8_broken, |
| 117 | }, | 114 | }, |
| 118 | #ifndef OPENSSL_NO_ENGINE | ||
| 119 | { | ||
| 120 | .name = "engine", | ||
| 121 | .argname = "id", | ||
| 122 | .desc = "Use the engine specified by the given identifier", | ||
| 123 | .type = OPTION_ARG, | ||
| 124 | .opt.arg = &pkcs8_config.engine, | ||
| 125 | }, | ||
| 126 | #endif | ||
| 127 | { | 115 | { |
| 128 | .name = "in", | 116 | .name = "in", |
| 129 | .argname = "file", | 117 | .argname = "file", |
| @@ -220,7 +208,7 @@ static struct option pkcs8_options[] = { | |||
| 220 | static void | 208 | static void |
| 221 | pkcs8_usage() | 209 | pkcs8_usage() |
| 222 | { | 210 | { |
| 223 | fprintf(stderr, "usage: pkcs8 [-embed] [-engine id] [-in file] " | 211 | fprintf(stderr, "usage: pkcs8 [-embed] [-in file] " |
| 224 | "[-inform fmt] [-nocrypt]\n" | 212 | "[-inform fmt] [-nocrypt]\n" |
| 225 | " [-noiter] [-nooct] [-nsdb] [-out file] [-outform fmt] " | 213 | " [-noiter] [-nooct] [-nsdb] [-out file] [-outform fmt] " |
| 226 | "[-passin src]\n" | 214 | "[-passin src]\n" |
| @@ -231,7 +219,6 @@ pkcs8_usage() | |||
| 231 | int | 219 | int |
| 232 | pkcs8_main(int argc, char **argv) | 220 | pkcs8_main(int argc, char **argv) |
| 233 | { | 221 | { |
| 234 | ENGINE *e = NULL; | ||
| 235 | BIO *in = NULL, *out = NULL; | 222 | BIO *in = NULL, *out = NULL; |
| 236 | X509_SIG *p8 = NULL; | 223 | X509_SIG *p8 = NULL; |
| 237 | PKCS8_PRIV_KEY_INFO *p8inf = NULL; | 224 | PKCS8_PRIV_KEY_INFO *p8inf = NULL; |
| @@ -252,10 +239,6 @@ pkcs8_main(int argc, char **argv) | |||
| 252 | return (1); | 239 | return (1); |
| 253 | } | 240 | } |
| 254 | 241 | ||
| 255 | #ifndef OPENSSL_NO_ENGINE | ||
| 256 | e = setup_engine(bio_err, pkcs8_config.engine, 0); | ||
| 257 | #endif | ||
| 258 | |||
| 259 | if (!app_passwd(bio_err, pkcs8_config.passargin, | 242 | if (!app_passwd(bio_err, pkcs8_config.passargin, |
| 260 | pkcs8_config.passargout, &passin, &passout)) { | 243 | pkcs8_config.passargout, &passin, &passout)) { |
| 261 | BIO_printf(bio_err, "Error getting passwords\n"); | 244 | BIO_printf(bio_err, "Error getting passwords\n"); |
| @@ -285,7 +268,7 @@ pkcs8_main(int argc, char **argv) | |||
| 285 | } | 268 | } |
| 286 | if (pkcs8_config.topk8) { | 269 | if (pkcs8_config.topk8) { |
| 287 | pkey = load_key(bio_err, pkcs8_config.infile, | 270 | pkey = load_key(bio_err, pkcs8_config.infile, |
| 288 | pkcs8_config.informat, 1, passin, e, "key"); | 271 | pkcs8_config.informat, 1, passin, "key"); |
| 289 | if (!pkey) | 272 | if (!pkey) |
| 290 | goto end; | 273 | goto end; |
| 291 | if (!(p8inf = EVP_PKEY2PKCS8_broken(pkey, | 274 | if (!(p8inf = EVP_PKEY2PKCS8_broken(pkey, |
diff --git a/src/usr.bin/openssl/pkey.c b/src/usr.bin/openssl/pkey.c index be6bffa001..72c03181f6 100644 --- a/src/usr.bin/openssl/pkey.c +++ b/src/usr.bin/openssl/pkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkey.c,v 1.4 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: pkey.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006 | 3 | * project 2006 |
| 4 | */ | 4 | */ |
| @@ -68,7 +68,6 @@ | |||
| 68 | int | 68 | int |
| 69 | pkey_main(int argc, char **argv) | 69 | pkey_main(int argc, char **argv) |
| 70 | { | 70 | { |
| 71 | ENGINE *e = NULL; | ||
| 72 | char **args, *infile = NULL, *outfile = NULL; | 71 | char **args, *infile = NULL, *outfile = NULL; |
| 73 | char *passargin = NULL, *passargout = NULL; | 72 | char *passargin = NULL, *passargout = NULL; |
| 74 | BIO *in = NULL, *out = NULL; | 73 | BIO *in = NULL, *out = NULL; |
| @@ -78,9 +77,6 @@ pkey_main(int argc, char **argv) | |||
| 78 | EVP_PKEY *pkey = NULL; | 77 | EVP_PKEY *pkey = NULL; |
| 79 | char *passin = NULL, *passout = NULL; | 78 | char *passin = NULL, *passout = NULL; |
| 80 | int badarg = 0; | 79 | int badarg = 0; |
| 81 | #ifndef OPENSSL_NO_ENGINE | ||
| 82 | char *engine = NULL; | ||
| 83 | #endif | ||
| 84 | int ret = 1; | 80 | int ret = 1; |
| 85 | 81 | ||
| 86 | informat = FORMAT_PEM; | 82 | informat = FORMAT_PEM; |
| @@ -109,13 +105,6 @@ pkey_main(int argc, char **argv) | |||
| 109 | goto bad; | 105 | goto bad; |
| 110 | passargout = *(++args); | 106 | passargout = *(++args); |
| 111 | } | 107 | } |
| 112 | #ifndef OPENSSL_NO_ENGINE | ||
| 113 | else if (strcmp(*args, "-engine") == 0) { | ||
| 114 | if (!args[1]) | ||
| 115 | goto bad; | ||
| 116 | engine = *(++args); | ||
| 117 | } | ||
| 118 | #endif | ||
| 119 | else if (!strcmp(*args, "-in")) { | 108 | else if (!strcmp(*args, "-in")) { |
| 120 | if (args[1]) { | 109 | if (args[1]) { |
| 121 | args++; | 110 | args++; |
| @@ -162,14 +151,8 @@ bad: | |||
| 162 | BIO_printf(bio_err, "-outform X output format (DER or PEM)\n"); | 151 | BIO_printf(bio_err, "-outform X output format (DER or PEM)\n"); |
| 163 | BIO_printf(bio_err, "-out file output file\n"); | 152 | BIO_printf(bio_err, "-out file output file\n"); |
| 164 | BIO_printf(bio_err, "-passout arg output file pass phrase source\n"); | 153 | BIO_printf(bio_err, "-passout arg output file pass phrase source\n"); |
| 165 | #ifndef OPENSSL_NO_ENGINE | ||
| 166 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 167 | #endif | ||
| 168 | return 1; | 154 | return 1; |
| 169 | } | 155 | } |
| 170 | #ifndef OPENSSL_NO_ENGINE | ||
| 171 | e = setup_engine(bio_err, engine, 0); | ||
| 172 | #endif | ||
| 173 | 156 | ||
| 174 | if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { | 157 | if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { |
| 175 | BIO_printf(bio_err, "Error getting passwords\n"); | 158 | BIO_printf(bio_err, "Error getting passwords\n"); |
| @@ -187,10 +170,9 @@ bad: | |||
| 187 | 170 | ||
| 188 | if (pubin) | 171 | if (pubin) |
| 189 | pkey = load_pubkey(bio_err, infile, informat, 1, | 172 | pkey = load_pubkey(bio_err, infile, informat, 1, |
| 190 | passin, e, "Public Key"); | 173 | passin, "Public Key"); |
| 191 | else | 174 | else |
| 192 | pkey = load_key(bio_err, infile, informat, 1, | 175 | pkey = load_key(bio_err, infile, informat, 1, passin, "key"); |
| 193 | passin, e, "key"); | ||
| 194 | if (!pkey) | 176 | if (!pkey) |
| 195 | goto end; | 177 | goto end; |
| 196 | 178 | ||
diff --git a/src/usr.bin/openssl/pkeyparam.c b/src/usr.bin/openssl/pkeyparam.c index e5152dfbf9..8f4d3a53f4 100644 --- a/src/usr.bin/openssl/pkeyparam.c +++ b/src/usr.bin/openssl/pkeyparam.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkeyparam.c,v 1.6 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: pkeyparam.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006 | 3 | * project 2006 |
| 4 | */ | 4 | */ |
| @@ -66,9 +66,6 @@ | |||
| 66 | #include <openssl/pem.h> | 66 | #include <openssl/pem.h> |
| 67 | 67 | ||
| 68 | struct { | 68 | struct { |
| 69 | #ifndef OPENSSL_NO_ENGINE | ||
| 70 | char *engine; | ||
| 71 | #endif | ||
| 72 | char *infile; | 69 | char *infile; |
| 73 | int noout; | 70 | int noout; |
| 74 | char *outfile; | 71 | char *outfile; |
| @@ -76,15 +73,6 @@ struct { | |||
| 76 | } pkeyparam_config; | 73 | } pkeyparam_config; |
| 77 | 74 | ||
| 78 | struct option pkeyparam_options[] = { | 75 | struct option pkeyparam_options[] = { |
| 79 | #ifndef OPENSSL_NO_ENGINE | ||
| 80 | { | ||
| 81 | .name = "engine", | ||
| 82 | .argname = "id", | ||
| 83 | .desc = "Use the engine specified by the given identifier", | ||
| 84 | .type = OPTION_ARG, | ||
| 85 | .opt.arg = &pkeyparam_config.engine, | ||
| 86 | }, | ||
| 87 | #endif | ||
| 88 | { | 76 | { |
| 89 | .name = "in", | 77 | .name = "in", |
| 90 | .argname = "file", | 78 | .argname = "file", |
| @@ -118,7 +106,7 @@ static void | |||
| 118 | pkeyparam_usage() | 106 | pkeyparam_usage() |
| 119 | { | 107 | { |
| 120 | fprintf(stderr, | 108 | fprintf(stderr, |
| 121 | "usage: pkeyparam [-engine id] [-in file] [-noout] [-out file] " | 109 | "usage: pkeyparam [-in file] [-noout] [-out file] " |
| 122 | "[-text]\n"); | 110 | "[-text]\n"); |
| 123 | options_usage(pkeyparam_options); | 111 | options_usage(pkeyparam_options); |
| 124 | } | 112 | } |
| @@ -137,10 +125,6 @@ pkeyparam_main(int argc, char **argv) | |||
| 137 | return (1); | 125 | return (1); |
| 138 | } | 126 | } |
| 139 | 127 | ||
| 140 | #ifndef OPENSSL_NO_ENGINE | ||
| 141 | setup_engine(bio_err, pkeyparam_config.engine, 0); | ||
| 142 | #endif | ||
| 143 | |||
| 144 | if (pkeyparam_config.infile) { | 128 | if (pkeyparam_config.infile) { |
| 145 | if (!(in = BIO_new_file(pkeyparam_config.infile, "r"))) { | 129 | if (!(in = BIO_new_file(pkeyparam_config.infile, "r"))) { |
| 146 | BIO_printf(bio_err, "Can't open input file %s\n", | 130 | BIO_printf(bio_err, "Can't open input file %s\n", |
diff --git a/src/usr.bin/openssl/pkeyutl.c b/src/usr.bin/openssl/pkeyutl.c index 0529b97798..2caa61e282 100644 --- a/src/usr.bin/openssl/pkeyutl.c +++ b/src/usr.bin/openssl/pkeyutl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: pkeyutl.c,v 1.6 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: pkeyutl.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -72,7 +72,7 @@ static void usage(void); | |||
| 72 | 72 | ||
| 73 | static EVP_PKEY_CTX *init_ctx(int *pkeysize, | 73 | static EVP_PKEY_CTX *init_ctx(int *pkeysize, |
| 74 | char *keyfile, int keyform, int key_type, | 74 | char *keyfile, int keyform, int key_type, |
| 75 | char *passargin, int pkey_op, ENGINE * e); | 75 | char *passargin, int pkey_op); |
| 76 | 76 | ||
| 77 | static int setup_peer(BIO * err, EVP_PKEY_CTX * ctx, int peerform, | 77 | static int setup_peer(BIO * err, EVP_PKEY_CTX * ctx, int peerform, |
| 78 | const char *file); | 78 | const char *file); |
| @@ -86,7 +86,6 @@ pkeyutl_main(int argc, char **argv) | |||
| 86 | { | 86 | { |
| 87 | BIO *in = NULL, *out = NULL; | 87 | BIO *in = NULL, *out = NULL; |
| 88 | char *infile = NULL, *outfile = NULL, *sigfile = NULL; | 88 | char *infile = NULL, *outfile = NULL, *sigfile = NULL; |
| 89 | ENGINE *e = NULL; | ||
| 90 | int pkey_op = EVP_PKEY_OP_SIGN, key_type = KEY_PRIVKEY; | 89 | int pkey_op = EVP_PKEY_OP_SIGN, key_type = KEY_PRIVKEY; |
| 91 | int keyform = FORMAT_PEM, peerform = FORMAT_PEM; | 90 | int keyform = FORMAT_PEM, peerform = FORMAT_PEM; |
| 92 | char badarg = 0, rev = 0; | 91 | char badarg = 0, rev = 0; |
| @@ -126,7 +125,7 @@ pkeyutl_main(int argc, char **argv) | |||
| 126 | else { | 125 | else { |
| 127 | ctx = init_ctx(&keysize, | 126 | ctx = init_ctx(&keysize, |
| 128 | *(++argv), keyform, key_type, | 127 | *(++argv), keyform, key_type, |
| 129 | passargin, pkey_op, e); | 128 | passargin, pkey_op); |
| 130 | if (!ctx) { | 129 | if (!ctx) { |
| 131 | BIO_puts(bio_err, | 130 | BIO_puts(bio_err, |
| 132 | "Error initializing context\n"); | 131 | "Error initializing context\n"); |
| @@ -155,14 +154,6 @@ pkeyutl_main(int argc, char **argv) | |||
| 155 | else | 154 | else |
| 156 | keyform = str2fmt(*(++argv)); | 155 | keyform = str2fmt(*(++argv)); |
| 157 | } | 156 | } |
| 158 | #ifndef OPENSSL_NO_ENGINE | ||
| 159 | else if (!strcmp(*argv, "-engine")) { | ||
| 160 | if (--argc < 1) | ||
| 161 | badarg = 1; | ||
| 162 | else | ||
| 163 | e = setup_engine(bio_err, *(++argv), 0); | ||
| 164 | } | ||
| 165 | #endif | ||
| 166 | else if (!strcmp(*argv, "-pubin")) | 157 | else if (!strcmp(*argv, "-pubin")) |
| 167 | key_type = KEY_PUBKEY; | 158 | key_type = KEY_PUBKEY; |
| 168 | else if (!strcmp(*argv, "-certin")) | 159 | else if (!strcmp(*argv, "-certin")) |
| @@ -342,9 +333,6 @@ usage() | |||
| 342 | BIO_printf(bio_err, "-decrypt decrypt with private key\n"); | 333 | BIO_printf(bio_err, "-decrypt decrypt with private key\n"); |
| 343 | BIO_printf(bio_err, "-derive derive shared secret\n"); | 334 | BIO_printf(bio_err, "-derive derive shared secret\n"); |
| 344 | BIO_printf(bio_err, "-hexdump hex dump output\n"); | 335 | BIO_printf(bio_err, "-hexdump hex dump output\n"); |
| 345 | #ifndef OPENSSL_NO_ENGINE | ||
| 346 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 347 | #endif | ||
| 348 | BIO_printf(bio_err, "-passin arg pass phrase source\n"); | 336 | BIO_printf(bio_err, "-passin arg pass phrase source\n"); |
| 349 | 337 | ||
| 350 | } | 338 | } |
| @@ -352,7 +340,7 @@ usage() | |||
| 352 | static EVP_PKEY_CTX * | 340 | static EVP_PKEY_CTX * |
| 353 | init_ctx(int *pkeysize, | 341 | init_ctx(int *pkeysize, |
| 354 | char *keyfile, int keyform, int key_type, | 342 | char *keyfile, int keyform, int key_type, |
| 355 | char *passargin, int pkey_op, ENGINE * e) | 343 | char *passargin, int pkey_op) |
| 356 | { | 344 | { |
| 357 | EVP_PKEY *pkey = NULL; | 345 | EVP_PKEY *pkey = NULL; |
| 358 | EVP_PKEY_CTX *ctx = NULL; | 346 | EVP_PKEY_CTX *ctx = NULL; |
| @@ -372,17 +360,17 @@ init_ctx(int *pkeysize, | |||
| 372 | switch (key_type) { | 360 | switch (key_type) { |
| 373 | case KEY_PRIVKEY: | 361 | case KEY_PRIVKEY: |
| 374 | pkey = load_key(bio_err, keyfile, keyform, 0, | 362 | pkey = load_key(bio_err, keyfile, keyform, 0, |
| 375 | passin, e, "Private Key"); | 363 | passin, "Private Key"); |
| 376 | break; | 364 | break; |
| 377 | 365 | ||
| 378 | case KEY_PUBKEY: | 366 | case KEY_PUBKEY: |
| 379 | pkey = load_pubkey(bio_err, keyfile, keyform, 0, | 367 | pkey = load_pubkey(bio_err, keyfile, keyform, 0, |
| 380 | NULL, e, "Public Key"); | 368 | NULL, "Public Key"); |
| 381 | break; | 369 | break; |
| 382 | 370 | ||
| 383 | case KEY_CERT: | 371 | case KEY_CERT: |
| 384 | x = load_cert(bio_err, keyfile, keyform, | 372 | x = load_cert(bio_err, keyfile, keyform, |
| 385 | NULL, e, "Certificate"); | 373 | NULL, "Certificate"); |
| 386 | if (x) { | 374 | if (x) { |
| 387 | pkey = X509_get_pubkey(x); | 375 | pkey = X509_get_pubkey(x); |
| 388 | X509_free(x); | 376 | X509_free(x); |
| @@ -396,7 +384,7 @@ init_ctx(int *pkeysize, | |||
| 396 | if (!pkey) | 384 | if (!pkey) |
| 397 | goto end; | 385 | goto end; |
| 398 | 386 | ||
| 399 | ctx = EVP_PKEY_CTX_new(pkey, e); | 387 | ctx = EVP_PKEY_CTX_new(pkey, NULL); |
| 400 | 388 | ||
| 401 | EVP_PKEY_free(pkey); | 389 | EVP_PKEY_free(pkey); |
| 402 | 390 | ||
| @@ -452,7 +440,7 @@ setup_peer(BIO * err, EVP_PKEY_CTX * ctx, int peerform, | |||
| 452 | BIO_puts(err, "-peerkey command before -inkey\n"); | 440 | BIO_puts(err, "-peerkey command before -inkey\n"); |
| 453 | return 0; | 441 | return 0; |
| 454 | } | 442 | } |
| 455 | peer = load_pubkey(bio_err, file, peerform, 0, NULL, NULL, "Peer Key"); | 443 | peer = load_pubkey(bio_err, file, peerform, 0, NULL, "Peer Key"); |
| 456 | 444 | ||
| 457 | if (!peer) { | 445 | if (!peer) { |
| 458 | BIO_printf(bio_err, "Error reading peer key %s\n", file); | 446 | BIO_printf(bio_err, "Error reading peer key %s\n", file); |
diff --git a/src/usr.bin/openssl/progs.h b/src/usr.bin/openssl/progs.h index c1b0c62752..a771b2c7de 100644 --- a/src/usr.bin/openssl/progs.h +++ b/src/usr.bin/openssl/progs.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: progs.h,v 1.6 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: progs.h,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Public domain */ | 2 | /* Public domain */ |
| 3 | 3 | ||
| 4 | int asn1parse_main(int argc, char **argv); | 4 | int asn1parse_main(int argc, char **argv); |
| @@ -16,7 +16,6 @@ int dsaparam_main(int argc, char **argv); | |||
| 16 | int ec_main(int argc, char **argv); | 16 | int ec_main(int argc, char **argv); |
| 17 | int ecparam_main(int argc, char **argv); | 17 | int ecparam_main(int argc, char **argv); |
| 18 | int enc_main(int argc, char **argv); | 18 | int enc_main(int argc, char **argv); |
| 19 | int engine_main(int argc, char **argv); | ||
| 20 | int errstr_main(int argc, char **argv); | 19 | int errstr_main(int argc, char **argv); |
| 21 | int gendh_main(int argc, char **argv); | 20 | int gendh_main(int argc, char **argv); |
| 22 | int gendsa_main(int argc, char **argv); | 21 | int gendsa_main(int argc, char **argv); |
diff --git a/src/usr.bin/openssl/rand.c b/src/usr.bin/openssl/rand.c index b021b4ec7c..b0df4eb1b5 100644 --- a/src/usr.bin/openssl/rand.c +++ b/src/usr.bin/openssl/rand.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rand.c,v 1.7 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: rand.c,v 1.8 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -64,7 +64,6 @@ | |||
| 64 | 64 | ||
| 65 | struct { | 65 | struct { |
| 66 | int base64; | 66 | int base64; |
| 67 | char *engine; | ||
| 68 | int hex; | 67 | int hex; |
| 69 | char *outfile; | 68 | char *outfile; |
| 70 | } rand_config; | 69 | } rand_config; |
| @@ -76,15 +75,6 @@ struct option rand_options[] = { | |||
| 76 | .type = OPTION_FLAG, | 75 | .type = OPTION_FLAG, |
| 77 | .opt.flag = &rand_config.base64, | 76 | .opt.flag = &rand_config.base64, |
| 78 | }, | 77 | }, |
| 79 | #ifndef OPENSSL_NO_ENGINE | ||
| 80 | { | ||
| 81 | .name = "engine", | ||
| 82 | .argname = "id", | ||
| 83 | .desc = "Use the engine specified by the given identifier", | ||
| 84 | .type = OPTION_ARG, | ||
| 85 | .opt.arg = &rand_config.engine, | ||
| 86 | }, | ||
| 87 | #endif | ||
| 88 | { | 78 | { |
| 89 | .name = "hex", | 79 | .name = "hex", |
| 90 | .desc = "Hexadecimal output", | 80 | .desc = "Hexadecimal output", |
| @@ -105,7 +95,7 @@ static void | |||
| 105 | rand_usage() | 95 | rand_usage() |
| 106 | { | 96 | { |
| 107 | fprintf(stderr, | 97 | fprintf(stderr, |
| 108 | "usage: rand [-base64 | -hex] [-engine id] [-out file] num\n"); | 98 | "usage: rand [-base64 | -hex] [-out file] num\n"); |
| 109 | options_usage(rand_options); | 99 | options_usage(rand_options); |
| 110 | } | 100 | } |
| 111 | 101 | ||
| @@ -141,10 +131,6 @@ rand_main(int argc, char **argv) | |||
| 141 | goto err; | 131 | goto err; |
| 142 | } | 132 | } |
| 143 | 133 | ||
| 144 | #ifndef OPENSSL_NO_ENGINE | ||
| 145 | setup_engine(bio_err, rand_config.engine, 0); | ||
| 146 | #endif | ||
| 147 | |||
| 148 | out = BIO_new(BIO_s_file()); | 134 | out = BIO_new(BIO_s_file()); |
| 149 | if (out == NULL) | 135 | if (out == NULL) |
| 150 | goto err; | 136 | goto err; |
diff --git a/src/usr.bin/openssl/req.c b/src/usr.bin/openssl/req.c index 4e1a4757dd..5ed658bfb1 100644 --- a/src/usr.bin/openssl/req.c +++ b/src/usr.bin/openssl/req.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: req.c,v 1.6 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: req.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -140,15 +140,13 @@ static int genpkey_cb(EVP_PKEY_CTX * ctx); | |||
| 140 | static int req_check_len(int len, int n_min, int n_max); | 140 | static int req_check_len(int len, int n_min, int n_max); |
| 141 | static int check_end(const char *str, const char *end); | 141 | static int check_end(const char *str, const char *end); |
| 142 | static EVP_PKEY_CTX *set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, | 142 | static EVP_PKEY_CTX *set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, |
| 143 | long *pkeylen, char **palgnam, | 143 | long *pkeylen, char **palgnam); |
| 144 | ENGINE * keygen_engine); | ||
| 145 | static CONF *req_conf = NULL; | 144 | static CONF *req_conf = NULL; |
| 146 | static int batch = 0; | 145 | static int batch = 0; |
| 147 | 146 | ||
| 148 | int | 147 | int |
| 149 | req_main(int argc, char **argv) | 148 | req_main(int argc, char **argv) |
| 150 | { | 149 | { |
| 151 | ENGINE *e = NULL, *gen_eng = NULL; | ||
| 152 | unsigned long nmflag = 0, reqflag = 0; | 150 | unsigned long nmflag = 0, reqflag = 0; |
| 153 | int ex = 1, x509 = 0, days = 30; | 151 | int ex = 1, x509 = 0, days = 30; |
| 154 | X509 *x509ss = NULL; | 152 | X509 *x509ss = NULL; |
| @@ -165,9 +163,6 @@ req_main(int argc, char **argv) | |||
| 165 | int nodes = 0, kludge = 0, newhdr = 0, subject = 0, pubkey = 0; | 163 | int nodes = 0, kludge = 0, newhdr = 0, subject = 0, pubkey = 0; |
| 166 | char *infile, *outfile, *prog, *keyfile = NULL, *template = NULL, | 164 | char *infile, *outfile, *prog, *keyfile = NULL, *template = NULL, |
| 167 | *keyout = NULL; | 165 | *keyout = NULL; |
| 168 | #ifndef OPENSSL_NO_ENGINE | ||
| 169 | char *engine = NULL; | ||
| 170 | #endif | ||
| 171 | char *extensions = NULL; | 166 | char *extensions = NULL; |
| 172 | char *req_exts = NULL; | 167 | char *req_exts = NULL; |
| 173 | const EVP_CIPHER *cipher = NULL; | 168 | const EVP_CIPHER *cipher = NULL; |
| @@ -203,21 +198,6 @@ req_main(int argc, char **argv) | |||
| 203 | goto bad; | 198 | goto bad; |
| 204 | outformat = str2fmt(*(++argv)); | 199 | outformat = str2fmt(*(++argv)); |
| 205 | } | 200 | } |
| 206 | #ifndef OPENSSL_NO_ENGINE | ||
| 207 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 208 | if (--argc < 1) | ||
| 209 | goto bad; | ||
| 210 | engine = *(++argv); | ||
| 211 | } else if (strcmp(*argv, "-keygen_engine") == 0) { | ||
| 212 | if (--argc < 1) | ||
| 213 | goto bad; | ||
| 214 | gen_eng = ENGINE_by_id(*(++argv)); | ||
| 215 | if (gen_eng == NULL) { | ||
| 216 | BIO_printf(bio_err, "Can't find keygen engine %s\n", *argv); | ||
| 217 | goto end; | ||
| 218 | } | ||
| 219 | } | ||
| 220 | #endif | ||
| 221 | else if (strcmp(*argv, "-key") == 0) { | 201 | else if (strcmp(*argv, "-key") == 0) { |
| 222 | if (--argc < 1) | 202 | if (--argc < 1) |
| 223 | goto bad; | 203 | goto bad; |
| @@ -366,9 +346,6 @@ bad: | |||
| 366 | BIO_printf(bio_err, " -verify verify signature on REQ\n"); | 346 | BIO_printf(bio_err, " -verify verify signature on REQ\n"); |
| 367 | BIO_printf(bio_err, " -modulus RSA modulus\n"); | 347 | BIO_printf(bio_err, " -modulus RSA modulus\n"); |
| 368 | BIO_printf(bio_err, " -nodes don't encrypt the output key\n"); | 348 | BIO_printf(bio_err, " -nodes don't encrypt the output key\n"); |
| 369 | #ifndef OPENSSL_NO_ENGINE | ||
| 370 | BIO_printf(bio_err, " -engine e use engine e, possibly a hardware device\n"); | ||
| 371 | #endif | ||
| 372 | BIO_printf(bio_err, " -subject output the request's subject\n"); | 349 | BIO_printf(bio_err, " -subject output the request's subject\n"); |
| 373 | BIO_printf(bio_err, " -passin private key password source\n"); | 350 | BIO_printf(bio_err, " -passin private key password source\n"); |
| 374 | BIO_printf(bio_err, " -key file use the private key contained in file\n"); | 351 | BIO_printf(bio_err, " -key file use the private key contained in file\n"); |
| @@ -520,12 +497,8 @@ bad: | |||
| 520 | if ((in == NULL) || (out == NULL)) | 497 | if ((in == NULL) || (out == NULL)) |
| 521 | goto end; | 498 | goto end; |
| 522 | 499 | ||
| 523 | #ifndef OPENSSL_NO_ENGINE | ||
| 524 | e = setup_engine(bio_err, engine, 0); | ||
| 525 | #endif | ||
| 526 | |||
| 527 | if (keyfile != NULL) { | 500 | if (keyfile != NULL) { |
| 528 | pkey = load_key(bio_err, keyfile, keyform, 0, passin, e, | 501 | pkey = load_key(bio_err, keyfile, keyform, 0, passin, |
| 529 | "Private Key"); | 502 | "Private Key"); |
| 530 | if (!pkey) { | 503 | if (!pkey) { |
| 531 | /* | 504 | /* |
| @@ -541,7 +514,7 @@ bad: | |||
| 541 | } | 514 | } |
| 542 | if (keyalg) { | 515 | if (keyalg) { |
| 543 | genctx = set_keygen_ctx(bio_err, keyalg, &pkey_type, &newkey, | 516 | genctx = set_keygen_ctx(bio_err, keyalg, &pkey_type, &newkey, |
| 544 | &keyalgstr, gen_eng); | 517 | &keyalgstr); |
| 545 | if (!genctx) | 518 | if (!genctx) |
| 546 | goto end; | 519 | goto end; |
| 547 | } | 520 | } |
| @@ -552,7 +525,7 @@ bad: | |||
| 552 | } | 525 | } |
| 553 | if (!genctx) { | 526 | if (!genctx) { |
| 554 | genctx = set_keygen_ctx(bio_err, NULL, &pkey_type, &newkey, | 527 | genctx = set_keygen_ctx(bio_err, NULL, &pkey_type, &newkey, |
| 555 | &keyalgstr, gen_eng); | 528 | &keyalgstr); |
| 556 | if (!genctx) | 529 | if (!genctx) |
| 557 | goto end; | 530 | goto end; |
| 558 | } | 531 | } |
| @@ -893,10 +866,6 @@ end: | |||
| 893 | sk_OPENSSL_STRING_free(pkeyopts); | 866 | sk_OPENSSL_STRING_free(pkeyopts); |
| 894 | if (sigopts) | 867 | if (sigopts) |
| 895 | sk_OPENSSL_STRING_free(sigopts); | 868 | sk_OPENSSL_STRING_free(sigopts); |
| 896 | #ifndef OPENSSL_NO_ENGINE | ||
| 897 | if (gen_eng) | ||
| 898 | ENGINE_free(gen_eng); | ||
| 899 | #endif | ||
| 900 | free(keyalgstr); | 869 | free(keyalgstr); |
| 901 | X509_REQ_free(req); | 870 | X509_REQ_free(req); |
| 902 | X509_free(x509ss); | 871 | X509_free(x509ss); |
| @@ -1370,8 +1339,7 @@ check_end(const char *str, const char *end) | |||
| 1370 | 1339 | ||
| 1371 | static EVP_PKEY_CTX * | 1340 | static EVP_PKEY_CTX * |
| 1372 | set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, | 1341 | set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, |
| 1373 | long *pkeylen, char **palgnam, | 1342 | long *pkeylen, char **palgnam) |
| 1374 | ENGINE * keygen_engine) | ||
| 1375 | { | 1343 | { |
| 1376 | EVP_PKEY_CTX *gctx = NULL; | 1344 | EVP_PKEY_CTX *gctx = NULL; |
| 1377 | EVP_PKEY *param = NULL; | 1345 | EVP_PKEY *param = NULL; |
| @@ -1396,19 +1364,14 @@ set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, | |||
| 1396 | else { | 1364 | else { |
| 1397 | const char *p = strchr(gstr, ':'); | 1365 | const char *p = strchr(gstr, ':'); |
| 1398 | int len; | 1366 | int len; |
| 1399 | ENGINE *tmpeng; | ||
| 1400 | const EVP_PKEY_ASN1_METHOD *ameth; | 1367 | const EVP_PKEY_ASN1_METHOD *ameth; |
| 1401 | 1368 | ||
| 1402 | if (p) | 1369 | if (p) |
| 1403 | len = p - gstr; | 1370 | len = p - gstr; |
| 1404 | else | 1371 | else |
| 1405 | len = strlen(gstr); | 1372 | len = strlen(gstr); |
| 1406 | /* | ||
| 1407 | * The lookup of a the string will cover all engines so keep | ||
| 1408 | * a note of the implementation. | ||
| 1409 | */ | ||
| 1410 | 1373 | ||
| 1411 | ameth = EVP_PKEY_asn1_find_str(&tmpeng, gstr, len); | 1374 | ameth = EVP_PKEY_asn1_find_str(NULL, gstr, len); |
| 1412 | 1375 | ||
| 1413 | if (!ameth) { | 1376 | if (!ameth) { |
| 1414 | BIO_printf(err, "Unknown algorithm %.*s\n", len, gstr); | 1377 | BIO_printf(err, "Unknown algorithm %.*s\n", len, gstr); |
| @@ -1416,10 +1379,6 @@ set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, | |||
| 1416 | } | 1379 | } |
| 1417 | EVP_PKEY_asn1_get0_info(NULL, pkey_type, NULL, NULL, NULL, | 1380 | EVP_PKEY_asn1_get0_info(NULL, pkey_type, NULL, NULL, NULL, |
| 1418 | ameth); | 1381 | ameth); |
| 1419 | #ifndef OPENSSL_NO_ENGINE | ||
| 1420 | if (tmpeng) | ||
| 1421 | ENGINE_finish(tmpeng); | ||
| 1422 | #endif | ||
| 1423 | if (*pkey_type == EVP_PKEY_RSA) { | 1382 | if (*pkey_type == EVP_PKEY_RSA) { |
| 1424 | if (p) { | 1383 | if (p) { |
| 1425 | keylen = strtonum(p + 1, 0, LONG_MAX, &errstr); | 1384 | keylen = strtonum(p + 1, 0, LONG_MAX, &errstr); |
| @@ -1470,26 +1429,21 @@ set_keygen_ctx(BIO * err, const char *gstr, int *pkey_type, | |||
| 1470 | } | 1429 | } |
| 1471 | if (palgnam) { | 1430 | if (palgnam) { |
| 1472 | const EVP_PKEY_ASN1_METHOD *ameth; | 1431 | const EVP_PKEY_ASN1_METHOD *ameth; |
| 1473 | ENGINE *tmpeng; | ||
| 1474 | const char *anam; | 1432 | const char *anam; |
| 1475 | ameth = EVP_PKEY_asn1_find(&tmpeng, *pkey_type); | 1433 | ameth = EVP_PKEY_asn1_find(NULL, *pkey_type); |
| 1476 | if (!ameth) { | 1434 | if (!ameth) { |
| 1477 | BIO_puts(err, "Internal error: can't find key algorithm\n"); | 1435 | BIO_puts(err, "Internal error: can't find key algorithm\n"); |
| 1478 | return NULL; | 1436 | return NULL; |
| 1479 | } | 1437 | } |
| 1480 | EVP_PKEY_asn1_get0_info(NULL, NULL, NULL, NULL, &anam, ameth); | 1438 | EVP_PKEY_asn1_get0_info(NULL, NULL, NULL, NULL, &anam, ameth); |
| 1481 | *palgnam = strdup(anam); | 1439 | *palgnam = strdup(anam); |
| 1482 | #ifndef OPENSSL_NO_ENGINE | ||
| 1483 | if (tmpeng) | ||
| 1484 | ENGINE_finish(tmpeng); | ||
| 1485 | #endif | ||
| 1486 | } | 1440 | } |
| 1487 | if (param) { | 1441 | if (param) { |
| 1488 | gctx = EVP_PKEY_CTX_new(param, keygen_engine); | 1442 | gctx = EVP_PKEY_CTX_new(param, NULL); |
| 1489 | *pkeylen = EVP_PKEY_bits(param); | 1443 | *pkeylen = EVP_PKEY_bits(param); |
| 1490 | EVP_PKEY_free(param); | 1444 | EVP_PKEY_free(param); |
| 1491 | } else | 1445 | } else |
| 1492 | gctx = EVP_PKEY_CTX_new_id(*pkey_type, keygen_engine); | 1446 | gctx = EVP_PKEY_CTX_new_id(*pkey_type, NULL); |
| 1493 | 1447 | ||
| 1494 | if (!gctx) { | 1448 | if (!gctx) { |
| 1495 | BIO_puts(err, "Error allocating keygen context\n"); | 1449 | BIO_puts(err, "Error allocating keygen context\n"); |
diff --git a/src/usr.bin/openssl/rsa.c b/src/usr.bin/openssl/rsa.c index 55b6f7399f..708332a8d1 100644 --- a/src/usr.bin/openssl/rsa.c +++ b/src/usr.bin/openssl/rsa.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa.c,v 1.4 2015/08/19 18:25:31 deraadt Exp $ */ | 1 | /* $OpenBSD: rsa.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -77,9 +77,6 @@ | |||
| 77 | static struct { | 77 | static struct { |
| 78 | int check; | 78 | int check; |
| 79 | const EVP_CIPHER *enc; | 79 | const EVP_CIPHER *enc; |
| 80 | #ifndef OPENSSL_NO_ENGINE | ||
| 81 | char *engine; | ||
| 82 | #endif | ||
| 83 | char *infile; | 80 | char *infile; |
| 84 | int informat; | 81 | int informat; |
| 85 | int modulus; | 82 | int modulus; |
| @@ -119,15 +116,6 @@ static struct option rsa_options[] = { | |||
| 119 | .type = OPTION_FLAG, | 116 | .type = OPTION_FLAG, |
| 120 | .opt.flag = &rsa_config.check, | 117 | .opt.flag = &rsa_config.check, |
| 121 | }, | 118 | }, |
| 122 | #ifndef OPENSSL_NO_ENGINE | ||
| 123 | { | ||
| 124 | .name = "engine", | ||
| 125 | .argname = "id", | ||
| 126 | .desc = "Use the engine specified by the given identifier", | ||
| 127 | .type = OPTION_ARG, | ||
| 128 | .opt.arg = &rsa_config.engine, | ||
| 129 | }, | ||
| 130 | #endif | ||
| 131 | { | 119 | { |
| 132 | .name = "in", | 120 | .name = "in", |
| 133 | .argname = "file", | 121 | .argname = "file", |
| @@ -258,7 +246,7 @@ static void | |||
| 258 | rsa_usage() | 246 | rsa_usage() |
| 259 | { | 247 | { |
| 260 | fprintf(stderr, | 248 | fprintf(stderr, |
| 261 | "usage: rsa [-ciphername] [-check] [-engine id] [-in file] " | 249 | "usage: rsa [-ciphername] [-check] [-in file] " |
| 262 | "[-inform fmt]\n" | 250 | "[-inform fmt]\n" |
| 263 | " [-modulus] [-noout] [-out file] [-outform fmt] " | 251 | " [-modulus] [-noout] [-out file] [-outform fmt] " |
| 264 | "[-passin src]\n" | 252 | "[-passin src]\n" |
| @@ -274,7 +262,6 @@ rsa_usage() | |||
| 274 | int | 262 | int |
| 275 | rsa_main(int argc, char **argv) | 263 | rsa_main(int argc, char **argv) |
| 276 | { | 264 | { |
| 277 | ENGINE *e = NULL; | ||
| 278 | int ret = 1; | 265 | int ret = 1; |
| 279 | RSA *rsa = NULL; | 266 | RSA *rsa = NULL; |
| 280 | int i; | 267 | int i; |
| @@ -291,10 +278,6 @@ rsa_main(int argc, char **argv) | |||
| 291 | goto end; | 278 | goto end; |
| 292 | } | 279 | } |
| 293 | 280 | ||
| 294 | #ifndef OPENSSL_NO_ENGINE | ||
| 295 | e = setup_engine(bio_err, rsa_config.engine, 0); | ||
| 296 | #endif | ||
| 297 | |||
| 298 | if (!app_passwd(bio_err, rsa_config.passargin, rsa_config.passargout, | 281 | if (!app_passwd(bio_err, rsa_config.passargin, rsa_config.passargout, |
| 299 | &passin, &passout)) { | 282 | &passin, &passout)) { |
| 300 | BIO_printf(bio_err, "Error getting passwords\n"); | 283 | BIO_printf(bio_err, "Error getting passwords\n"); |
| @@ -323,12 +306,12 @@ rsa_main(int argc, char **argv) | |||
| 323 | tmpformat = rsa_config.informat; | 306 | tmpformat = rsa_config.informat; |
| 324 | 307 | ||
| 325 | pkey = load_pubkey(bio_err, rsa_config.infile, | 308 | pkey = load_pubkey(bio_err, rsa_config.infile, |
| 326 | tmpformat, 1, passin, e, "Public Key"); | 309 | tmpformat, 1, passin, "Public Key"); |
| 327 | } else | 310 | } else |
| 328 | pkey = load_key(bio_err, rsa_config.infile, | 311 | pkey = load_key(bio_err, rsa_config.infile, |
| 329 | (rsa_config.informat == FORMAT_NETSCAPE && | 312 | (rsa_config.informat == FORMAT_NETSCAPE && |
| 330 | rsa_config.sgckey ? FORMAT_IISSGC : | 313 | rsa_config.sgckey ? FORMAT_IISSGC : |
| 331 | rsa_config.informat), 1, passin, e, "Private Key"); | 314 | rsa_config.informat), 1, passin, "Private Key"); |
| 332 | 315 | ||
| 333 | if (pkey != NULL) | 316 | if (pkey != NULL) |
| 334 | rsa = EVP_PKEY_get1_RSA(pkey); | 317 | rsa = EVP_PKEY_get1_RSA(pkey); |
diff --git a/src/usr.bin/openssl/rsautl.c b/src/usr.bin/openssl/rsautl.c index 5f395e2245..2e9793297b 100644 --- a/src/usr.bin/openssl/rsautl.c +++ b/src/usr.bin/openssl/rsautl.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsautl.c,v 1.6 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: rsautl.c,v 1.7 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -81,12 +81,8 @@ static void usage(void); | |||
| 81 | int | 81 | int |
| 82 | rsautl_main(int argc, char **argv) | 82 | rsautl_main(int argc, char **argv) |
| 83 | { | 83 | { |
| 84 | ENGINE *e = NULL; | ||
| 85 | BIO *in = NULL, *out = NULL; | 84 | BIO *in = NULL, *out = NULL; |
| 86 | char *infile = NULL, *outfile = NULL; | 85 | char *infile = NULL, *outfile = NULL; |
| 87 | #ifndef OPENSSL_NO_ENGINE | ||
| 88 | char *engine = NULL; | ||
| 89 | #endif | ||
| 90 | char *keyfile = NULL; | 86 | char *keyfile = NULL; |
| 91 | char rsa_mode = RSA_VERIFY, key_type = KEY_PRIVKEY; | 87 | char rsa_mode = RSA_VERIFY, key_type = KEY_PRIVKEY; |
| 92 | int keyform = FORMAT_PEM; | 88 | int keyform = FORMAT_PEM; |
| @@ -133,13 +129,6 @@ rsautl_main(int argc, char **argv) | |||
| 133 | badarg = 1; | 129 | badarg = 1; |
| 134 | else | 130 | else |
| 135 | keyform = str2fmt(*(++argv)); | 131 | keyform = str2fmt(*(++argv)); |
| 136 | #ifndef OPENSSL_NO_ENGINE | ||
| 137 | } else if (!strcmp(*argv, "-engine")) { | ||
| 138 | if (--argc < 1) | ||
| 139 | badarg = 1; | ||
| 140 | else | ||
| 141 | engine = *(++argv); | ||
| 142 | #endif | ||
| 143 | } else if (!strcmp(*argv, "-pubin")) { | 132 | } else if (!strcmp(*argv, "-pubin")) { |
| 144 | key_type = KEY_PUBKEY; | 133 | key_type = KEY_PUBKEY; |
| 145 | } else if (!strcmp(*argv, "-certin")) { | 134 | } else if (!strcmp(*argv, "-certin")) { |
| @@ -184,9 +173,6 @@ rsautl_main(int argc, char **argv) | |||
| 184 | BIO_printf(bio_err, "A private key is needed for this operation\n"); | 173 | BIO_printf(bio_err, "A private key is needed for this operation\n"); |
| 185 | goto end; | 174 | goto end; |
| 186 | } | 175 | } |
| 187 | #ifndef OPENSSL_NO_ENGINE | ||
| 188 | e = setup_engine(bio_err, engine, 0); | ||
| 189 | #endif | ||
| 190 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { | 176 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { |
| 191 | BIO_printf(bio_err, "Error getting password\n"); | 177 | BIO_printf(bio_err, "Error getting password\n"); |
| 192 | goto end; | 178 | goto end; |
| @@ -195,17 +181,17 @@ rsautl_main(int argc, char **argv) | |||
| 195 | switch (key_type) { | 181 | switch (key_type) { |
| 196 | case KEY_PRIVKEY: | 182 | case KEY_PRIVKEY: |
| 197 | pkey = load_key(bio_err, keyfile, keyform, 0, | 183 | pkey = load_key(bio_err, keyfile, keyform, 0, |
| 198 | passin, e, "Private Key"); | 184 | passin, "Private Key"); |
| 199 | break; | 185 | break; |
| 200 | 186 | ||
| 201 | case KEY_PUBKEY: | 187 | case KEY_PUBKEY: |
| 202 | pkey = load_pubkey(bio_err, keyfile, keyform, 0, | 188 | pkey = load_pubkey(bio_err, keyfile, keyform, 0, |
| 203 | NULL, e, "Public Key"); | 189 | NULL, "Public Key"); |
| 204 | break; | 190 | break; |
| 205 | 191 | ||
| 206 | case KEY_CERT: | 192 | case KEY_CERT: |
| 207 | x = load_cert(bio_err, keyfile, keyform, | 193 | x = load_cert(bio_err, keyfile, keyform, |
| 208 | NULL, e, "Certificate"); | 194 | NULL, "Certificate"); |
| 209 | if (x) { | 195 | if (x) { |
| 210 | pkey = X509_get_pubkey(x); | 196 | pkey = X509_get_pubkey(x); |
| 211 | X509_free(x); | 197 | X509_free(x); |
| @@ -336,10 +322,4 @@ usage() | |||
| 336 | BIO_printf(bio_err, "-encrypt encrypt with public key\n"); | 322 | BIO_printf(bio_err, "-encrypt encrypt with public key\n"); |
| 337 | BIO_printf(bio_err, "-decrypt decrypt with private key\n"); | 323 | BIO_printf(bio_err, "-decrypt decrypt with private key\n"); |
| 338 | BIO_printf(bio_err, "-hexdump hex dump output\n"); | 324 | BIO_printf(bio_err, "-hexdump hex dump output\n"); |
| 339 | #ifndef OPENSSL_NO_ENGINE | ||
| 340 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 341 | BIO_printf(bio_err, "-passin arg pass phrase source\n"); | ||
| 342 | #endif | ||
| 343 | |||
| 344 | } | 325 | } |
| 345 | |||
diff --git a/src/usr.bin/openssl/s_client.c b/src/usr.bin/openssl/s_client.c index f118672abb..aca9bbfc9e 100644 --- a/src/usr.bin/openssl/s_client.c +++ b/src/usr.bin/openssl/s_client.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s_client.c,v 1.18 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: s_client.c,v 1.19 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -238,9 +238,6 @@ sc_usage(void) | |||
| 238 | BIO_printf(bio_err, " only \"smtp\", \"lmtp\", \"pop3\", \"imap\", \"ftp\" and \"xmpp\"\n"); | 238 | BIO_printf(bio_err, " only \"smtp\", \"lmtp\", \"pop3\", \"imap\", \"ftp\" and \"xmpp\"\n"); |
| 239 | BIO_printf(bio_err, " are supported.\n"); | 239 | BIO_printf(bio_err, " are supported.\n"); |
| 240 | BIO_printf(bio_err, " -xmpphost host - connect to this virtual host on the xmpp server\n"); | 240 | BIO_printf(bio_err, " -xmpphost host - connect to this virtual host on the xmpp server\n"); |
| 241 | #ifndef OPENSSL_NO_ENGINE | ||
| 242 | BIO_printf(bio_err, " -engine id - Initialise and use the specified engine\n"); | ||
| 243 | #endif | ||
| 244 | BIO_printf(bio_err, " -sess_out arg - file to write SSL session to\n"); | 241 | BIO_printf(bio_err, " -sess_out arg - file to write SSL session to\n"); |
| 245 | BIO_printf(bio_err, " -sess_in arg - file to read SSL session from\n"); | 242 | BIO_printf(bio_err, " -sess_in arg - file to read SSL session from\n"); |
| 246 | BIO_printf(bio_err, " -servername host - Set TLS extension servername in ClientHello\n"); | 243 | BIO_printf(bio_err, " -servername host - Set TLS extension servername in ClientHello\n"); |
| @@ -356,12 +353,6 @@ s_client_main(int argc, char **argv) | |||
| 356 | int mbuf_len = 0; | 353 | int mbuf_len = 0; |
| 357 | struct timeval timeout; | 354 | struct timeval timeout; |
| 358 | const char *errstr = NULL; | 355 | const char *errstr = NULL; |
| 359 | #ifndef OPENSSL_NO_ENGINE | ||
| 360 | char *engine_id = NULL; | ||
| 361 | char *ssl_client_engine_id = NULL; | ||
| 362 | ENGINE *ssl_client_engine = NULL; | ||
| 363 | #endif | ||
| 364 | ENGINE *e = NULL; | ||
| 365 | char *servername = NULL; | 356 | char *servername = NULL; |
| 366 | tlsextctx tlsextcbp = | 357 | tlsextctx tlsextcbp = |
| 367 | {NULL, 0}; | 358 | {NULL, 0}; |
| @@ -578,17 +569,6 @@ s_client_main(int argc, char **argv) | |||
| 578 | else | 569 | else |
| 579 | goto bad; | 570 | goto bad; |
| 580 | } | 571 | } |
| 581 | #ifndef OPENSSL_NO_ENGINE | ||
| 582 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 583 | if (--argc < 1) | ||
| 584 | goto bad; | ||
| 585 | engine_id = *(++argv); | ||
| 586 | } else if (strcmp(*argv, "-ssl_client_engine") == 0) { | ||
| 587 | if (--argc < 1) | ||
| 588 | goto bad; | ||
| 589 | ssl_client_engine_id = *(++argv); | ||
| 590 | } | ||
| 591 | #endif | ||
| 592 | else if (strcmp(*argv, "-4") == 0) { | 572 | else if (strcmp(*argv, "-4") == 0) { |
| 593 | af = AF_INET; | 573 | af = AF_INET; |
| 594 | } else if (strcmp(*argv, "-6") == 0) { | 574 | } else if (strcmp(*argv, "-6") == 0) { |
| @@ -654,17 +634,6 @@ bad: | |||
| 654 | } else | 634 | } else |
| 655 | next_proto.data = NULL; | 635 | next_proto.data = NULL; |
| 656 | 636 | ||
| 657 | #ifndef OPENSSL_NO_ENGINE | ||
| 658 | e = setup_engine(bio_err, engine_id, 1); | ||
| 659 | if (ssl_client_engine_id) { | ||
| 660 | ssl_client_engine = ENGINE_by_id(ssl_client_engine_id); | ||
| 661 | if (!ssl_client_engine) { | ||
| 662 | BIO_printf(bio_err, | ||
| 663 | "Error getting client auth engine\n"); | ||
| 664 | goto end; | ||
| 665 | } | ||
| 666 | } | ||
| 667 | #endif | ||
| 668 | if (!app_passwd(bio_err, passarg, NULL, &pass, NULL)) { | 637 | if (!app_passwd(bio_err, passarg, NULL, &pass, NULL)) { |
| 669 | BIO_printf(bio_err, "Error getting password\n"); | 638 | BIO_printf(bio_err, "Error getting password\n"); |
| 670 | goto end; | 639 | goto end; |
| @@ -675,7 +644,7 @@ bad: | |||
| 675 | 644 | ||
| 676 | if (key_file) { | 645 | if (key_file) { |
| 677 | 646 | ||
| 678 | key = load_key(bio_err, key_file, key_format, 0, pass, e, | 647 | key = load_key(bio_err, key_file, key_format, 0, pass, |
| 679 | "client certificate private key file"); | 648 | "client certificate private key file"); |
| 680 | if (!key) { | 649 | if (!key) { |
| 681 | ERR_print_errors(bio_err); | 650 | ERR_print_errors(bio_err); |
| @@ -684,7 +653,7 @@ bad: | |||
| 684 | } | 653 | } |
| 685 | if (cert_file) { | 654 | if (cert_file) { |
| 686 | cert = load_cert(bio_err, cert_file, cert_format, | 655 | cert = load_cert(bio_err, cert_file, cert_format, |
| 687 | NULL, e, "client certificate file"); | 656 | NULL, "client certificate file"); |
| 688 | 657 | ||
| 689 | if (!cert) { | 658 | if (!cert) { |
| 690 | ERR_print_errors(bio_err); | 659 | ERR_print_errors(bio_err); |
| @@ -708,18 +677,6 @@ bad: | |||
| 708 | if (vpm) | 677 | if (vpm) |
| 709 | SSL_CTX_set1_param(ctx, vpm); | 678 | SSL_CTX_set1_param(ctx, vpm); |
| 710 | 679 | ||
| 711 | #ifndef OPENSSL_NO_ENGINE | ||
| 712 | if (ssl_client_engine) { | ||
| 713 | if (!SSL_CTX_set_client_cert_engine(ctx, ssl_client_engine)) { | ||
| 714 | BIO_puts(bio_err, "Error setting client auth engine\n"); | ||
| 715 | ERR_print_errors(bio_err); | ||
| 716 | ENGINE_free(ssl_client_engine); | ||
| 717 | goto end; | ||
| 718 | } | ||
| 719 | ENGINE_free(ssl_client_engine); | ||
| 720 | } | ||
| 721 | #endif | ||
| 722 | |||
| 723 | #ifndef OPENSSL_NO_SRTP | 680 | #ifndef OPENSSL_NO_SRTP |
| 724 | if (srtp_profiles != NULL) | 681 | if (srtp_profiles != NULL) |
| 725 | SSL_CTX_set_tlsext_use_srtp(ctx, srtp_profiles); | 682 | SSL_CTX_set_tlsext_use_srtp(ctx, srtp_profiles); |
diff --git a/src/usr.bin/openssl/s_server.c b/src/usr.bin/openssl/s_server.c index 0272abe43b..5989e0db90 100644 --- a/src/usr.bin/openssl/s_server.c +++ b/src/usr.bin/openssl/s_server.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: s_server.c,v 1.16 2015/09/10 16:01:06 jsing Exp $ */ | 1 | /* $OpenBSD: s_server.c,v 1.17 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -226,9 +226,6 @@ static int s_quiet = 0; | |||
| 226 | static char *keymatexportlabel = NULL; | 226 | static char *keymatexportlabel = NULL; |
| 227 | static int keymatexportlen = 20; | 227 | static int keymatexportlen = 20; |
| 228 | 228 | ||
| 229 | #ifndef OPENSSL_NO_ENGINE | ||
| 230 | static char *engine_id = NULL; | ||
| 231 | #endif | ||
| 232 | static const char *session_id_prefix = NULL; | 229 | static const char *session_id_prefix = NULL; |
| 233 | 230 | ||
| 234 | static int enable_timeouts = 0; | 231 | static int enable_timeouts = 0; |
| @@ -262,9 +259,6 @@ s_server_init(void) | |||
| 262 | s_debug = 0; | 259 | s_debug = 0; |
| 263 | s_msg = 0; | 260 | s_msg = 0; |
| 264 | s_quiet = 0; | 261 | s_quiet = 0; |
| 265 | #ifndef OPENSSL_NO_ENGINE | ||
| 266 | engine_id = NULL; | ||
| 267 | #endif | ||
| 268 | } | 262 | } |
| 269 | 263 | ||
| 270 | static void | 264 | static void |
| @@ -286,12 +280,12 @@ sv_usage(void) | |||
| 286 | BIO_printf(bio_err, " -certform arg - certificate format (PEM or DER) PEM default\n"); | 280 | BIO_printf(bio_err, " -certform arg - certificate format (PEM or DER) PEM default\n"); |
| 287 | BIO_printf(bio_err, " -key arg - Private Key file to use, in cert file if\n"); | 281 | BIO_printf(bio_err, " -key arg - Private Key file to use, in cert file if\n"); |
| 288 | BIO_printf(bio_err, " not specified (default is %s)\n", TEST_CERT); | 282 | BIO_printf(bio_err, " not specified (default is %s)\n", TEST_CERT); |
| 289 | BIO_printf(bio_err, " -keyform arg - key format (PEM, DER or ENGINE) PEM default\n"); | 283 | BIO_printf(bio_err, " -keyform arg - key format (PEM or DER) PEM default\n"); |
| 290 | BIO_printf(bio_err, " -pass arg - private key file pass phrase source\n"); | 284 | BIO_printf(bio_err, " -pass arg - private key file pass phrase source\n"); |
| 291 | BIO_printf(bio_err, " -dcert arg - second certificate file to use (usually for DSA)\n"); | 285 | BIO_printf(bio_err, " -dcert arg - second certificate file to use (usually for DSA)\n"); |
| 292 | BIO_printf(bio_err, " -dcertform x - second certificate format (PEM or DER) PEM default\n"); | 286 | BIO_printf(bio_err, " -dcertform x - second certificate format (PEM or DER) PEM default\n"); |
| 293 | BIO_printf(bio_err, " -dkey arg - second private key file to use (usually for DSA)\n"); | 287 | BIO_printf(bio_err, " -dkey arg - second private key file to use (usually for DSA)\n"); |
| 294 | BIO_printf(bio_err, " -dkeyform arg - second key format (PEM, DER or ENGINE) PEM default\n"); | 288 | BIO_printf(bio_err, " -dkeyform arg - second key format (PEM or DER) PEM default\n"); |
| 295 | BIO_printf(bio_err, " -dpass arg - second private key file pass phrase source\n"); | 289 | BIO_printf(bio_err, " -dpass arg - second private key file pass phrase source\n"); |
| 296 | BIO_printf(bio_err, " -dhparam arg - DH parameter file to use, in cert file if not specified\n"); | 290 | BIO_printf(bio_err, " -dhparam arg - DH parameter file to use, in cert file if not specified\n"); |
| 297 | BIO_printf(bio_err, " or a default set of parameters is used\n"); | 291 | BIO_printf(bio_err, " or a default set of parameters is used\n"); |
| @@ -331,9 +325,6 @@ sv_usage(void) | |||
| 331 | BIO_printf(bio_err, " -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n"); | 325 | BIO_printf(bio_err, " -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n"); |
| 332 | BIO_printf(bio_err, " -HTTP - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n"); | 326 | BIO_printf(bio_err, " -HTTP - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n"); |
| 333 | BIO_printf(bio_err, " with the assumption it contains a complete HTTP response.\n"); | 327 | BIO_printf(bio_err, " with the assumption it contains a complete HTTP response.\n"); |
| 334 | #ifndef OPENSSL_NO_ENGINE | ||
| 335 | BIO_printf(bio_err, " -engine id - Initialise and use the specified engine\n"); | ||
| 336 | #endif | ||
| 337 | BIO_printf(bio_err, " -id_prefix arg - Generate SSL/TLS session IDs prefixed by 'arg'\n"); | 328 | BIO_printf(bio_err, " -id_prefix arg - Generate SSL/TLS session IDs prefixed by 'arg'\n"); |
| 338 | BIO_printf(bio_err, " -servername host - servername for HostName TLS extension\n"); | 329 | BIO_printf(bio_err, " -servername host - servername for HostName TLS extension\n"); |
| 339 | BIO_printf(bio_err, " -servername_fatal - on mismatch send fatal alert (default warning alert)\n"); | 330 | BIO_printf(bio_err, " -servername_fatal - on mismatch send fatal alert (default warning alert)\n"); |
| @@ -598,7 +589,6 @@ s_server_main(int argc, char *argv[]) | |||
| 598 | int state = 0; | 589 | int state = 0; |
| 599 | const SSL_METHOD *meth = NULL; | 590 | const SSL_METHOD *meth = NULL; |
| 600 | int socket_type = SOCK_STREAM; | 591 | int socket_type = SOCK_STREAM; |
| 601 | ENGINE *e = NULL; | ||
| 602 | int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM; | 592 | int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM; |
| 603 | char *passarg = NULL, *pass = NULL; | 593 | char *passarg = NULL, *pass = NULL; |
| 604 | char *dpassarg = NULL, *dpass = NULL; | 594 | char *dpassarg = NULL, *dpass = NULL; |
| @@ -832,13 +822,6 @@ s_server_main(int argc, char *argv[]) | |||
| 832 | goto bad; | 822 | goto bad; |
| 833 | session_id_prefix = *(++argv); | 823 | session_id_prefix = *(++argv); |
| 834 | } | 824 | } |
| 835 | #ifndef OPENSSL_NO_ENGINE | ||
| 836 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 837 | if (--argc < 1) | ||
| 838 | goto bad; | ||
| 839 | engine_id = *(++argv); | ||
| 840 | } | ||
| 841 | #endif | ||
| 842 | else if (strcmp(*argv, "-servername") == 0) { | 825 | else if (strcmp(*argv, "-servername") == 0) { |
| 843 | if (--argc < 1) | 826 | if (--argc < 1) |
| 844 | goto bad; | 827 | goto bad; |
| @@ -899,10 +882,6 @@ bad: | |||
| 899 | goto end; | 882 | goto end; |
| 900 | } | 883 | } |
| 901 | 884 | ||
| 902 | #ifndef OPENSSL_NO_ENGINE | ||
| 903 | e = setup_engine(bio_err, engine_id, 1); | ||
| 904 | #endif | ||
| 905 | |||
| 906 | if (!app_passwd(bio_err, passarg, dpassarg, &pass, &dpass)) { | 885 | if (!app_passwd(bio_err, passarg, dpassarg, &pass, &dpass)) { |
| 907 | BIO_printf(bio_err, "Error getting password\n"); | 886 | BIO_printf(bio_err, "Error getting password\n"); |
| 908 | goto end; | 887 | goto end; |
| @@ -913,28 +892,28 @@ bad: | |||
| 913 | s_key_file2 = s_cert_file2; | 892 | s_key_file2 = s_cert_file2; |
| 914 | 893 | ||
| 915 | if (nocert == 0) { | 894 | if (nocert == 0) { |
| 916 | s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, e, | 895 | s_key = load_key(bio_err, s_key_file, s_key_format, 0, pass, |
| 917 | "server certificate private key file"); | 896 | "server certificate private key file"); |
| 918 | if (!s_key) { | 897 | if (!s_key) { |
| 919 | ERR_print_errors(bio_err); | 898 | ERR_print_errors(bio_err); |
| 920 | goto end; | 899 | goto end; |
| 921 | } | 900 | } |
| 922 | s_cert = load_cert(bio_err, s_cert_file, s_cert_format, | 901 | s_cert = load_cert(bio_err, s_cert_file, s_cert_format, |
| 923 | NULL, e, "server certificate file"); | 902 | NULL, "server certificate file"); |
| 924 | 903 | ||
| 925 | if (!s_cert) { | 904 | if (!s_cert) { |
| 926 | ERR_print_errors(bio_err); | 905 | ERR_print_errors(bio_err); |
| 927 | goto end; | 906 | goto end; |
| 928 | } | 907 | } |
| 929 | if (tlsextcbp.servername) { | 908 | if (tlsextcbp.servername) { |
| 930 | s_key2 = load_key(bio_err, s_key_file2, s_key_format, 0, pass, e, | 909 | s_key2 = load_key(bio_err, s_key_file2, s_key_format, 0, pass, |
| 931 | "second server certificate private key file"); | 910 | "second server certificate private key file"); |
| 932 | if (!s_key2) { | 911 | if (!s_key2) { |
| 933 | ERR_print_errors(bio_err); | 912 | ERR_print_errors(bio_err); |
| 934 | goto end; | 913 | goto end; |
| 935 | } | 914 | } |
| 936 | s_cert2 = load_cert(bio_err, s_cert_file2, s_cert_format, | 915 | s_cert2 = load_cert(bio_err, s_cert_file2, s_cert_format, |
| 937 | NULL, e, "second server certificate file"); | 916 | NULL, "second server certificate file"); |
| 938 | 917 | ||
| 939 | if (!s_cert2) { | 918 | if (!s_cert2) { |
| 940 | ERR_print_errors(bio_err); | 919 | ERR_print_errors(bio_err); |
| @@ -966,14 +945,13 @@ bad: | |||
| 966 | s_dkey_file = s_dcert_file; | 945 | s_dkey_file = s_dcert_file; |
| 967 | 946 | ||
| 968 | s_dkey = load_key(bio_err, s_dkey_file, s_dkey_format, | 947 | s_dkey = load_key(bio_err, s_dkey_file, s_dkey_format, |
| 969 | 0, dpass, e, | 948 | 0, dpass, "second certificate private key file"); |
| 970 | "second certificate private key file"); | ||
| 971 | if (!s_dkey) { | 949 | if (!s_dkey) { |
| 972 | ERR_print_errors(bio_err); | 950 | ERR_print_errors(bio_err); |
| 973 | goto end; | 951 | goto end; |
| 974 | } | 952 | } |
| 975 | s_dcert = load_cert(bio_err, s_dcert_file, s_dcert_format, | 953 | s_dcert = load_cert(bio_err, s_dcert_file, s_dcert_format, |
| 976 | NULL, e, "second server certificate file"); | 954 | NULL, "second server certificate file"); |
| 977 | 955 | ||
| 978 | if (!s_dcert) { | 956 | if (!s_dcert) { |
| 979 | ERR_print_errors(bio_err); | 957 | ERR_print_errors(bio_err); |
diff --git a/src/usr.bin/openssl/smime.c b/src/usr.bin/openssl/smime.c index e1c54bf225..d981335179 100644 --- a/src/usr.bin/openssl/smime.c +++ b/src/usr.bin/openssl/smime.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: smime.c,v 1.3 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: smime.c,v 1.4 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project. | 3 | * project. |
| 4 | */ | 4 | */ |
| @@ -85,7 +85,6 @@ static int smime_cb(int ok, X509_STORE_CTX * ctx); | |||
| 85 | int | 85 | int |
| 86 | smime_main(int argc, char **argv) | 86 | smime_main(int argc, char **argv) |
| 87 | { | 87 | { |
| 88 | ENGINE *e = NULL; | ||
| 89 | int operation = 0; | 88 | int operation = 0; |
| 90 | int ret = 0; | 89 | int ret = 0; |
| 91 | char **args; | 90 | char **args; |
| @@ -110,9 +109,6 @@ smime_main(int argc, char **argv) | |||
| 110 | const EVP_MD *sign_md = NULL; | 109 | const EVP_MD *sign_md = NULL; |
| 111 | int informat = FORMAT_SMIME, outformat = FORMAT_SMIME; | 110 | int informat = FORMAT_SMIME, outformat = FORMAT_SMIME; |
| 112 | int keyform = FORMAT_PEM; | 111 | int keyform = FORMAT_PEM; |
| 113 | #ifndef OPENSSL_NO_ENGINE | ||
| 114 | char *engine = NULL; | ||
| 115 | #endif | ||
| 116 | 112 | ||
| 117 | X509_VERIFY_PARAM *vpm = NULL; | 113 | X509_VERIFY_PARAM *vpm = NULL; |
| 118 | 114 | ||
| @@ -192,13 +188,6 @@ smime_main(int argc, char **argv) | |||
| 192 | flags |= PKCS7_NOOLDMIMETYPE; | 188 | flags |= PKCS7_NOOLDMIMETYPE; |
| 193 | else if (!strcmp(*args, "-crlfeol")) | 189 | else if (!strcmp(*args, "-crlfeol")) |
| 194 | flags |= PKCS7_CRLFEOL; | 190 | flags |= PKCS7_CRLFEOL; |
| 195 | #ifndef OPENSSL_NO_ENGINE | ||
| 196 | else if (!strcmp(*args, "-engine")) { | ||
| 197 | if (!args[1]) | ||
| 198 | goto argerr; | ||
| 199 | engine = *++args; | ||
| 200 | } | ||
| 201 | #endif | ||
| 202 | else if (!strcmp(*args, "-passin")) { | 191 | else if (!strcmp(*args, "-passin")) { |
| 203 | if (!args[1]) | 192 | if (!args[1]) |
| 204 | goto argerr; | 193 | goto argerr; |
| @@ -384,7 +373,7 @@ argerr: | |||
| 384 | BIO_printf(bio_err, "-in file input file\n"); | 373 | BIO_printf(bio_err, "-in file input file\n"); |
| 385 | BIO_printf(bio_err, "-inform arg input format SMIME (default), PEM or DER\n"); | 374 | BIO_printf(bio_err, "-inform arg input format SMIME (default), PEM or DER\n"); |
| 386 | BIO_printf(bio_err, "-inkey file input private key (if not signer or recipient)\n"); | 375 | BIO_printf(bio_err, "-inkey file input private key (if not signer or recipient)\n"); |
| 387 | BIO_printf(bio_err, "-keyform arg input private key format (PEM or ENGINE)\n"); | 376 | BIO_printf(bio_err, "-keyform arg input private key format (PEM)\n"); |
| 388 | BIO_printf(bio_err, "-out file output file\n"); | 377 | BIO_printf(bio_err, "-out file output file\n"); |
| 389 | BIO_printf(bio_err, "-outform arg output format SMIME (default), PEM or DER\n"); | 378 | BIO_printf(bio_err, "-outform arg output format SMIME (default), PEM or DER\n"); |
| 390 | BIO_printf(bio_err, "-content file supply or override content for detached signature\n"); | 379 | BIO_printf(bio_err, "-content file supply or override content for detached signature\n"); |
| @@ -396,16 +385,10 @@ argerr: | |||
| 396 | BIO_printf(bio_err, "-CAfile file trusted certificates file\n"); | 385 | BIO_printf(bio_err, "-CAfile file trusted certificates file\n"); |
| 397 | BIO_printf(bio_err, "-crl_check check revocation status of signer's certificate using CRLs\n"); | 386 | BIO_printf(bio_err, "-crl_check check revocation status of signer's certificate using CRLs\n"); |
| 398 | BIO_printf(bio_err, "-crl_check_all check revocation status of signer's certificate chain using CRLs\n"); | 387 | BIO_printf(bio_err, "-crl_check_all check revocation status of signer's certificate chain using CRLs\n"); |
| 399 | #ifndef OPENSSL_NO_ENGINE | ||
| 400 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 401 | #endif | ||
| 402 | BIO_printf(bio_err, "-passin arg input file pass phrase source\n"); | 388 | BIO_printf(bio_err, "-passin arg input file pass phrase source\n"); |
| 403 | BIO_printf(bio_err, "cert.pem recipient certificate(s) for encryption\n"); | 389 | BIO_printf(bio_err, "cert.pem recipient certificate(s) for encryption\n"); |
| 404 | goto end; | 390 | goto end; |
| 405 | } | 391 | } |
| 406 | #ifndef OPENSSL_NO_ENGINE | ||
| 407 | e = setup_engine(bio_err, engine, 0); | ||
| 408 | #endif | ||
| 409 | 392 | ||
| 410 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { | 393 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { |
| 411 | BIO_printf(bio_err, "Error getting password\n"); | 394 | BIO_printf(bio_err, "Error getting password\n"); |
| @@ -444,7 +427,7 @@ argerr: | |||
| 444 | encerts = sk_X509_new_null(); | 427 | encerts = sk_X509_new_null(); |
| 445 | while (*args) { | 428 | while (*args) { |
| 446 | if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, | 429 | if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, |
| 447 | NULL, e, "recipient certificate file"))) { | 430 | NULL, "recipient certificate file"))) { |
| 448 | goto end; | 431 | goto end; |
| 449 | } | 432 | } |
| 450 | sk_X509_push(encerts, cert); | 433 | sk_X509_push(encerts, cert); |
| @@ -454,14 +437,14 @@ argerr: | |||
| 454 | } | 437 | } |
| 455 | if (certfile) { | 438 | if (certfile) { |
| 456 | if (!(other = load_certs(bio_err, certfile, FORMAT_PEM, NULL, | 439 | if (!(other = load_certs(bio_err, certfile, FORMAT_PEM, NULL, |
| 457 | e, "certificate file"))) { | 440 | "certificate file"))) { |
| 458 | ERR_print_errors(bio_err); | 441 | ERR_print_errors(bio_err); |
| 459 | goto end; | 442 | goto end; |
| 460 | } | 443 | } |
| 461 | } | 444 | } |
| 462 | if (recipfile && (operation == SMIME_DECRYPT)) { | 445 | if (recipfile && (operation == SMIME_DECRYPT)) { |
| 463 | if (!(recip = load_cert(bio_err, recipfile, FORMAT_PEM, NULL, | 446 | if (!(recip = load_cert(bio_err, recipfile, FORMAT_PEM, NULL, |
| 464 | e, "recipient certificate file"))) { | 447 | "recipient certificate file"))) { |
| 465 | ERR_print_errors(bio_err); | 448 | ERR_print_errors(bio_err); |
| 466 | goto end; | 449 | goto end; |
| 467 | } | 450 | } |
| @@ -476,7 +459,7 @@ argerr: | |||
| 476 | keyfile = NULL; | 459 | keyfile = NULL; |
| 477 | 460 | ||
| 478 | if (keyfile) { | 461 | if (keyfile) { |
| 479 | key = load_key(bio_err, keyfile, keyform, 0, passin, e, | 462 | key = load_key(bio_err, keyfile, keyform, 0, passin, |
| 480 | "signing key file"); | 463 | "signing key file"); |
| 481 | if (!key) | 464 | if (!key) |
| 482 | goto end; | 465 | goto end; |
| @@ -559,10 +542,10 @@ argerr: | |||
| 559 | signerfile = sk_OPENSSL_STRING_value(sksigners, i); | 542 | signerfile = sk_OPENSSL_STRING_value(sksigners, i); |
| 560 | keyfile = sk_OPENSSL_STRING_value(skkeys, i); | 543 | keyfile = sk_OPENSSL_STRING_value(skkeys, i); |
| 561 | signer = load_cert(bio_err, signerfile, FORMAT_PEM, NULL, | 544 | signer = load_cert(bio_err, signerfile, FORMAT_PEM, NULL, |
| 562 | e, "signer certificate"); | 545 | "signer certificate"); |
| 563 | if (!signer) | 546 | if (!signer) |
| 564 | goto end; | 547 | goto end; |
| 565 | key = load_key(bio_err, keyfile, keyform, 0, passin, e, | 548 | key = load_key(bio_err, keyfile, keyform, 0, passin, |
| 566 | "signing key file"); | 549 | "signing key file"); |
| 567 | if (!key) | 550 | if (!key) |
| 568 | goto end; | 551 | goto end; |
diff --git a/src/usr.bin/openssl/speed.c b/src/usr.bin/openssl/speed.c index 935d9556e7..2c3dd8d6c6 100644 --- a/src/usr.bin/openssl/speed.c +++ b/src/usr.bin/openssl/speed.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: speed.c,v 1.10 2015/09/11 09:38:30 deraadt Exp $ */ | 1 | /* $OpenBSD: speed.c,v 1.11 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -538,24 +538,6 @@ speed_main(int argc, char **argv) | |||
| 538 | j--; /* Otherwise, -elapsed gets confused with an | 538 | j--; /* Otherwise, -elapsed gets confused with an |
| 539 | * algorithm. */ | 539 | * algorithm. */ |
| 540 | } | 540 | } |
| 541 | #ifndef OPENSSL_NO_ENGINE | ||
| 542 | else if ((argc > 0) && (strcmp(*argv, "-engine") == 0)) { | ||
| 543 | argc--; | ||
| 544 | argv++; | ||
| 545 | if (argc == 0) { | ||
| 546 | BIO_printf(bio_err, "no engine given\n"); | ||
| 547 | goto end; | ||
| 548 | } | ||
| 549 | setup_engine(bio_err, *argv, 0); | ||
| 550 | /* | ||
| 551 | * j will be increased again further down. We just | ||
| 552 | * don't want speed to confuse an engine with an | ||
| 553 | * algorithm, especially when none is given (which | ||
| 554 | * means all of them should be run) | ||
| 555 | */ | ||
| 556 | j--; | ||
| 557 | } | ||
| 558 | #endif | ||
| 559 | else if ((argc > 0) && (strcmp(*argv, "-multi") == 0)) { | 541 | else if ((argc > 0) && (strcmp(*argv, "-multi") == 0)) { |
| 560 | argc--; | 542 | argc--; |
| 561 | argv++; | 543 | argv++; |
| @@ -933,9 +915,6 @@ speed_main(int argc, char **argv) | |||
| 933 | BIO_printf(bio_err, "\n"); | 915 | BIO_printf(bio_err, "\n"); |
| 934 | BIO_printf(bio_err, "Available options:\n"); | 916 | BIO_printf(bio_err, "Available options:\n"); |
| 935 | BIO_printf(bio_err, "-elapsed measure time in real time instead of CPU user time.\n"); | 917 | BIO_printf(bio_err, "-elapsed measure time in real time instead of CPU user time.\n"); |
| 936 | #ifndef OPENSSL_NO_ENGINE | ||
| 937 | BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n"); | ||
| 938 | #endif | ||
| 939 | BIO_printf(bio_err, "-evp e use EVP e.\n"); | 918 | BIO_printf(bio_err, "-evp e use EVP e.\n"); |
| 940 | BIO_printf(bio_err, "-decrypt time decryption instead of encryption (only EVP).\n"); | 919 | BIO_printf(bio_err, "-decrypt time decryption instead of encryption (only EVP).\n"); |
| 941 | BIO_printf(bio_err, "-mr produce machine readable output.\n"); | 920 | BIO_printf(bio_err, "-mr produce machine readable output.\n"); |
diff --git a/src/usr.bin/openssl/spkac.c b/src/usr.bin/openssl/spkac.c index b5ce764eae..b635b5e3b2 100644 --- a/src/usr.bin/openssl/spkac.c +++ b/src/usr.bin/openssl/spkac.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: spkac.c,v 1.4 2015/08/19 18:25:31 deraadt Exp $ */ | 1 | /* $OpenBSD: spkac.c,v 1.5 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. Based on an original idea by Massimiliano Pala | 3 | * project 1999. Based on an original idea by Massimiliano Pala |
| 4 | * (madwolf@openca.org). | 4 | * (madwolf@openca.org). |
| @@ -75,9 +75,6 @@ | |||
| 75 | 75 | ||
| 76 | static struct { | 76 | static struct { |
| 77 | char *challenge; | 77 | char *challenge; |
| 78 | #ifndef OPENSSL_NO_ENGINE | ||
| 79 | char *engine; | ||
| 80 | #endif | ||
| 81 | char *infile; | 78 | char *infile; |
| 82 | char *keyfile; | 79 | char *keyfile; |
| 83 | int noout; | 80 | int noout; |
| @@ -97,15 +94,6 @@ static struct option spkac_options[] = { | |||
| 97 | .type = OPTION_ARG, | 94 | .type = OPTION_ARG, |
| 98 | .opt.arg = &spkac_config.challenge, | 95 | .opt.arg = &spkac_config.challenge, |
| 99 | }, | 96 | }, |
| 100 | #ifndef OPENSSL_NO_ENGINE | ||
| 101 | { | ||
| 102 | .name = "engine", | ||
| 103 | .argname = "id", | ||
| 104 | .desc = "Use the engine specified by the given identifier", | ||
| 105 | .type = OPTION_ARG, | ||
| 106 | .opt.arg = &spkac_config.engine, | ||
| 107 | }, | ||
| 108 | #endif | ||
| 109 | { | 97 | { |
| 110 | .name = "in", | 98 | .name = "in", |
| 111 | .argname = "file", | 99 | .argname = "file", |
| @@ -174,7 +162,7 @@ static void | |||
| 174 | spkac_usage(void) | 162 | spkac_usage(void) |
| 175 | { | 163 | { |
| 176 | fprintf(stderr, | 164 | fprintf(stderr, |
| 177 | "usage: spkac [-challenge string] [-engine id] [-in file] " | 165 | "usage: spkac [-challenge string] [-in file] " |
| 178 | "[-key file] [-noout]\n" | 166 | "[-key file] [-noout]\n" |
| 179 | " [-out file] [-passin src] [-pubkey] [-spkac name] " | 167 | " [-out file] [-passin src] [-pubkey] [-spkac name] " |
| 180 | "[-spksect section]\n" | 168 | "[-spksect section]\n" |
| @@ -185,7 +173,6 @@ spkac_usage(void) | |||
| 185 | int | 173 | int |
| 186 | spkac_main(int argc, char **argv) | 174 | spkac_main(int argc, char **argv) |
| 187 | { | 175 | { |
| 188 | ENGINE *e = NULL; | ||
| 189 | int i, ret = 1; | 176 | int i, ret = 1; |
| 190 | BIO *in = NULL, *out = NULL; | 177 | BIO *in = NULL, *out = NULL; |
| 191 | char *passin = NULL; | 178 | char *passin = NULL; |
| @@ -207,14 +194,11 @@ spkac_main(int argc, char **argv) | |||
| 207 | BIO_printf(bio_err, "Error getting password\n"); | 194 | BIO_printf(bio_err, "Error getting password\n"); |
| 208 | goto end; | 195 | goto end; |
| 209 | } | 196 | } |
| 210 | #ifndef OPENSSL_NO_ENGINE | ||
| 211 | e = setup_engine(bio_err, spkac_config.engine, 0); | ||
| 212 | #endif | ||
| 213 | 197 | ||
| 214 | if (spkac_config.keyfile) { | 198 | if (spkac_config.keyfile) { |
| 215 | pkey = load_key(bio_err, | 199 | pkey = load_key(bio_err, |
| 216 | strcmp(spkac_config.keyfile, "-") ? spkac_config.keyfile | 200 | strcmp(spkac_config.keyfile, "-") ? spkac_config.keyfile |
| 217 | : NULL, FORMAT_PEM, 1, passin, e, "private key"); | 201 | : NULL, FORMAT_PEM, 1, passin, "private key"); |
| 218 | if (!pkey) { | 202 | if (!pkey) { |
| 219 | goto end; | 203 | goto end; |
| 220 | } | 204 | } |
diff --git a/src/usr.bin/openssl/ts.c b/src/usr.bin/openssl/ts.c index ae7dfff615..e958d0aaff 100644 --- a/src/usr.bin/openssl/ts.c +++ b/src/usr.bin/openssl/ts.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ts.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: ts.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL | 2 | /* Written by Zoltan Glozik (zglozik@stones.com) for the OpenSSL |
| 3 | * project 2002. | 3 | * project 2002. |
| 4 | */ | 4 | */ |
| @@ -92,13 +92,13 @@ static int create_digest(BIO * input, char *digest, | |||
| 92 | static ASN1_INTEGER *create_nonce(int bits); | 92 | static ASN1_INTEGER *create_nonce(int bits); |
| 93 | 93 | ||
| 94 | /* Reply related functions. */ | 94 | /* Reply related functions. */ |
| 95 | static int reply_command(CONF * conf, char *section, char *engine, | 95 | static int reply_command(CONF * conf, char *section, |
| 96 | char *queryfile, char *passin, char *inkey, | 96 | char *queryfile, char *passin, char *inkey, |
| 97 | char *signer, char *chain, const char *policy, | 97 | char *signer, char *chain, const char *policy, |
| 98 | char *in, int token_in, char *out, int token_out, | 98 | char *in, int token_in, char *out, int token_out, |
| 99 | int text); | 99 | int text); |
| 100 | static TS_RESP *read_PKCS7(BIO * in_bio); | 100 | static TS_RESP *read_PKCS7(BIO * in_bio); |
| 101 | static TS_RESP *create_response(CONF * conf, const char *section, char *engine, | 101 | static TS_RESP *create_response(CONF * conf, const char *section, |
| 102 | char *queryfile, char *passin, char *inkey, | 102 | char *queryfile, char *passin, char *inkey, |
| 103 | char *signer, char *chain, const char *policy); | 103 | char *signer, char *chain, const char *policy); |
| 104 | static ASN1_INTEGER *serial_cb(TS_RESP_CTX * ctx, void *data); | 104 | static ASN1_INTEGER *serial_cb(TS_RESP_CTX * ctx, void *data); |
| @@ -144,7 +144,6 @@ ts_main(int argc, char **argv) | |||
| 144 | char *ca_path = NULL; | 144 | char *ca_path = NULL; |
| 145 | char *ca_file = NULL; | 145 | char *ca_file = NULL; |
| 146 | char *untrusted = NULL; | 146 | char *untrusted = NULL; |
| 147 | char *engine = NULL; | ||
| 148 | /* Input is ContentInfo instead of TimeStampResp. */ | 147 | /* Input is ContentInfo instead of TimeStampResp. */ |
| 149 | int token_in = 0; | 148 | int token_in = 0; |
| 150 | /* Output is ContentInfo instead of TimeStampResp. */ | 149 | /* Output is ContentInfo instead of TimeStampResp. */ |
| @@ -233,10 +232,6 @@ ts_main(int argc, char **argv) | |||
| 233 | if (argc-- < 1) | 232 | if (argc-- < 1) |
| 234 | goto usage; | 233 | goto usage; |
| 235 | untrusted = *++argv; | 234 | untrusted = *++argv; |
| 236 | } else if (strcmp(*argv, "-engine") == 0) { | ||
| 237 | if (argc-- < 1) | ||
| 238 | goto usage; | ||
| 239 | engine = *++argv; | ||
| 240 | } else if ((md = EVP_get_digestbyname(*argv + 1)) != NULL) { | 235 | } else if ((md = EVP_get_digestbyname(*argv + 1)) != NULL) { |
| 241 | /* empty. */ | 236 | /* empty. */ |
| 242 | } else | 237 | } else |
| @@ -282,7 +277,7 @@ ts_main(int argc, char **argv) | |||
| 282 | goto usage; | 277 | goto usage; |
| 283 | } | 278 | } |
| 284 | 279 | ||
| 285 | ret = !reply_command(conf, section, engine, queryfile, | 280 | ret = !reply_command(conf, section, queryfile, |
| 286 | password, inkey, signer, chain, policy, | 281 | password, inkey, signer, chain, policy, |
| 287 | in, token_in, out, token_out, text); | 282 | in, token_in, out, token_out, text); |
| 288 | break; | 283 | break; |
| @@ -312,7 +307,7 @@ usage: | |||
| 312 | "[-signer tsa_cert.pem] [-inkey private_key.pem] " | 307 | "[-signer tsa_cert.pem] [-inkey private_key.pem] " |
| 313 | "[-chain certs_file.pem] [-policy object_id] " | 308 | "[-chain certs_file.pem] [-policy object_id] " |
| 314 | "[-in response.tsr] [-token_in] " | 309 | "[-in response.tsr] [-token_in] " |
| 315 | "[-out response.tsr] [-token_out] [-text] [-engine id]\n"); | 310 | "[-out response.tsr] [-token_out] [-text]\n"); |
| 316 | BIO_printf(bio_err, "or\n" | 311 | BIO_printf(bio_err, "or\n" |
| 317 | "ts -verify [-data file_to_hash] [-digest digest_bytes] " | 312 | "ts -verify [-data file_to_hash] [-digest digest_bytes] " |
| 318 | "[-queryfile request.tsq] " | 313 | "[-queryfile request.tsq] " |
| @@ -615,7 +610,7 @@ err: | |||
| 615 | */ | 610 | */ |
| 616 | 611 | ||
| 617 | static int | 612 | static int |
| 618 | reply_command(CONF * conf, char *section, char *engine, char *queryfile, | 613 | reply_command(CONF * conf, char *section, char *queryfile, |
| 619 | char *passin, char *inkey, char *signer, char *chain, const char *policy, | 614 | char *passin, char *inkey, char *signer, char *chain, const char *policy, |
| 620 | char *in, int token_in, char *out, int token_out, int text) | 615 | char *in, int token_in, char *out, int token_out, int text) |
| 621 | { | 616 | { |
| @@ -642,7 +637,7 @@ reply_command(CONF * conf, char *section, char *engine, char *queryfile, | |||
| 642 | response = d2i_TS_RESP_bio(in_bio, NULL); | 637 | response = d2i_TS_RESP_bio(in_bio, NULL); |
| 643 | } | 638 | } |
| 644 | } else { | 639 | } else { |
| 645 | response = create_response(conf, section, engine, queryfile, | 640 | response = create_response(conf, section, queryfile, |
| 646 | passin, inkey, signer, chain, | 641 | passin, inkey, signer, chain, |
| 647 | policy); | 642 | policy); |
| 648 | if (response) | 643 | if (response) |
| @@ -740,7 +735,7 @@ end: | |||
| 740 | } | 735 | } |
| 741 | 736 | ||
| 742 | static TS_RESP * | 737 | static TS_RESP * |
| 743 | create_response(CONF * conf, const char *section, char *engine, | 738 | create_response(CONF * conf, const char *section, |
| 744 | char *queryfile, char *passin, char *inkey, | 739 | char *queryfile, char *passin, char *inkey, |
| 745 | char *signer, char *chain, const char *policy) | 740 | char *signer, char *chain, const char *policy) |
| 746 | { | 741 | { |
| @@ -763,11 +758,6 @@ create_response(CONF * conf, const char *section, char *engine, | |||
| 763 | /* Setting serial number provider callback. */ | 758 | /* Setting serial number provider callback. */ |
| 764 | if (!TS_CONF_set_serial(conf, section, serial_cb, resp_ctx)) | 759 | if (!TS_CONF_set_serial(conf, section, serial_cb, resp_ctx)) |
| 765 | goto end; | 760 | goto end; |
| 766 | #ifndef OPENSSL_NO_ENGINE | ||
| 767 | /* Setting default OpenSSL engine. */ | ||
| 768 | if (!TS_CONF_set_crypto_device(conf, section, engine)) | ||
| 769 | goto end; | ||
| 770 | #endif | ||
| 771 | 761 | ||
| 772 | /* Setting TSA signer certificate. */ | 762 | /* Setting TSA signer certificate. */ |
| 773 | if (!TS_CONF_set_signer_cert(conf, section, signer, resp_ctx)) | 763 | if (!TS_CONF_set_signer_cert(conf, section, signer, resp_ctx)) |
diff --git a/src/usr.bin/openssl/verify.c b/src/usr.bin/openssl/verify.c index ec27275d79..62ca63f01b 100644 --- a/src/usr.bin/openssl/verify.c +++ b/src/usr.bin/openssl/verify.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: verify.c,v 1.3 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: verify.c,v 1.4 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -70,13 +70,12 @@ | |||
| 70 | 70 | ||
| 71 | static int cb(int ok, X509_STORE_CTX * ctx); | 71 | static int cb(int ok, X509_STORE_CTX * ctx); |
| 72 | static int check(X509_STORE * ctx, char *file, STACK_OF(X509) * uchain, | 72 | static int check(X509_STORE * ctx, char *file, STACK_OF(X509) * uchain, |
| 73 | STACK_OF(X509) * tchain, STACK_OF(X509_CRL) * crls, ENGINE * e); | 73 | STACK_OF(X509) * tchain, STACK_OF(X509_CRL) * crls); |
| 74 | static int v_verbose = 0, vflags = 0; | 74 | static int v_verbose = 0, vflags = 0; |
| 75 | 75 | ||
| 76 | int | 76 | int |
| 77 | verify_main(int argc, char **argv) | 77 | verify_main(int argc, char **argv) |
| 78 | { | 78 | { |
| 79 | ENGINE *e = NULL; | ||
| 80 | int i, ret = 1, badarg = 0; | 79 | int i, ret = 1, badarg = 0; |
| 81 | char *CApath = NULL, *CAfile = NULL; | 80 | char *CApath = NULL, *CAfile = NULL; |
| 82 | char *untfile = NULL, *trustfile = NULL, *crlfile = NULL; | 81 | char *untfile = NULL, *trustfile = NULL, *crlfile = NULL; |
| @@ -85,9 +84,6 @@ verify_main(int argc, char **argv) | |||
| 85 | X509_STORE *cert_ctx = NULL; | 84 | X509_STORE *cert_ctx = NULL; |
| 86 | X509_LOOKUP *lookup = NULL; | 85 | X509_LOOKUP *lookup = NULL; |
| 87 | X509_VERIFY_PARAM *vpm = NULL; | 86 | X509_VERIFY_PARAM *vpm = NULL; |
| 88 | #ifndef OPENSSL_NO_ENGINE | ||
| 89 | char *engine = NULL; | ||
| 90 | #endif | ||
| 91 | 87 | ||
| 92 | cert_ctx = X509_STORE_new(); | 88 | cert_ctx = X509_STORE_new(); |
| 93 | if (cert_ctx == NULL) | 89 | if (cert_ctx == NULL) |
| @@ -124,13 +120,6 @@ verify_main(int argc, char **argv) | |||
| 124 | goto end; | 120 | goto end; |
| 125 | crlfile = *(++argv); | 121 | crlfile = *(++argv); |
| 126 | } | 122 | } |
| 127 | #ifndef OPENSSL_NO_ENGINE | ||
| 128 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 129 | if (--argc < 1) | ||
| 130 | goto end; | ||
| 131 | engine = *(++argv); | ||
| 132 | } | ||
| 133 | #endif | ||
| 134 | else if (strcmp(*argv, "-help") == 0) | 123 | else if (strcmp(*argv, "-help") == 0) |
| 135 | goto end; | 124 | goto end; |
| 136 | else if (strcmp(*argv, "-verbose") == 0) | 125 | else if (strcmp(*argv, "-verbose") == 0) |
| @@ -145,10 +134,6 @@ verify_main(int argc, char **argv) | |||
| 145 | break; | 134 | break; |
| 146 | } | 135 | } |
| 147 | 136 | ||
| 148 | #ifndef OPENSSL_NO_ENGINE | ||
| 149 | e = setup_engine(bio_err, engine, 0); | ||
| 150 | #endif | ||
| 151 | |||
| 152 | if (vpm) | 137 | if (vpm) |
| 153 | X509_STORE_set1_param(cert_ctx, vpm); | 138 | X509_STORE_set1_param(cert_ctx, vpm); |
| 154 | 139 | ||
| @@ -182,30 +167,30 @@ verify_main(int argc, char **argv) | |||
| 182 | 167 | ||
| 183 | if (untfile) { | 168 | if (untfile) { |
| 184 | untrusted = load_certs(bio_err, untfile, FORMAT_PEM, | 169 | untrusted = load_certs(bio_err, untfile, FORMAT_PEM, |
| 185 | NULL, e, "untrusted certificates"); | 170 | NULL, "untrusted certificates"); |
| 186 | if (!untrusted) | 171 | if (!untrusted) |
| 187 | goto end; | 172 | goto end; |
| 188 | } | 173 | } |
| 189 | if (trustfile) { | 174 | if (trustfile) { |
| 190 | trusted = load_certs(bio_err, trustfile, FORMAT_PEM, | 175 | trusted = load_certs(bio_err, trustfile, FORMAT_PEM, |
| 191 | NULL, e, "trusted certificates"); | 176 | NULL, "trusted certificates"); |
| 192 | if (!trusted) | 177 | if (!trusted) |
| 193 | goto end; | 178 | goto end; |
| 194 | } | 179 | } |
| 195 | if (crlfile) { | 180 | if (crlfile) { |
| 196 | crls = load_crls(bio_err, crlfile, FORMAT_PEM, | 181 | crls = load_crls(bio_err, crlfile, FORMAT_PEM, |
| 197 | NULL, e, "other CRLs"); | 182 | NULL, "other CRLs"); |
| 198 | if (!crls) | 183 | if (!crls) |
| 199 | goto end; | 184 | goto end; |
| 200 | } | 185 | } |
| 201 | ret = 0; | 186 | ret = 0; |
| 202 | if (argc < 1) { | 187 | if (argc < 1) { |
| 203 | if (1 != check(cert_ctx, NULL, untrusted, trusted, crls, e)) | 188 | if (1 != check(cert_ctx, NULL, untrusted, trusted, crls)) |
| 204 | ret = -1; | 189 | ret = -1; |
| 205 | } else { | 190 | } else { |
| 206 | for (i = 0; i < argc; i++) | 191 | for (i = 0; i < argc; i++) |
| 207 | if (1 != check(cert_ctx, argv[i], untrusted, trusted, | 192 | if (1 != check(cert_ctx, argv[i], untrusted, trusted, |
| 208 | crls, e)) | 193 | crls)) |
| 209 | ret = -1; | 194 | ret = -1; |
| 210 | } | 195 | } |
| 211 | 196 | ||
| @@ -213,9 +198,6 @@ end: | |||
| 213 | if (ret == 1) { | 198 | if (ret == 1) { |
| 214 | BIO_printf(bio_err, "usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-crl_check]"); | 199 | BIO_printf(bio_err, "usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-crl_check]"); |
| 215 | BIO_printf(bio_err, " [-attime timestamp]"); | 200 | BIO_printf(bio_err, " [-attime timestamp]"); |
| 216 | #ifndef OPENSSL_NO_ENGINE | ||
| 217 | BIO_printf(bio_err, " [-engine e]"); | ||
| 218 | #endif | ||
| 219 | BIO_printf(bio_err, " cert1 cert2 ...\n"); | 201 | BIO_printf(bio_err, " cert1 cert2 ...\n"); |
| 220 | 202 | ||
| 221 | BIO_printf(bio_err, "recognized usages:\n"); | 203 | BIO_printf(bio_err, "recognized usages:\n"); |
| @@ -240,13 +222,13 @@ end: | |||
| 240 | 222 | ||
| 241 | static int | 223 | static int |
| 242 | check(X509_STORE * ctx, char *file, STACK_OF(X509) * uchain, | 224 | check(X509_STORE * ctx, char *file, STACK_OF(X509) * uchain, |
| 243 | STACK_OF(X509) * tchain, STACK_OF(X509_CRL) * crls, ENGINE * e) | 225 | STACK_OF(X509) * tchain, STACK_OF(X509_CRL) * crls) |
| 244 | { | 226 | { |
| 245 | X509 *x = NULL; | 227 | X509 *x = NULL; |
| 246 | int i = 0, ret = 0; | 228 | int i = 0, ret = 0; |
| 247 | X509_STORE_CTX *csc; | 229 | X509_STORE_CTX *csc; |
| 248 | 230 | ||
| 249 | x = load_cert(bio_err, file, FORMAT_PEM, NULL, e, "certificate file"); | 231 | x = load_cert(bio_err, file, FORMAT_PEM, NULL, "certificate file"); |
| 250 | if (x == NULL) | 232 | if (x == NULL) |
| 251 | goto end; | 233 | goto end; |
| 252 | fprintf(stdout, "%s: ", (file == NULL) ? "stdin" : file); | 234 | fprintf(stdout, "%s: ", (file == NULL) ? "stdin" : file); |
diff --git a/src/usr.bin/openssl/x509.c b/src/usr.bin/openssl/x509.c index 0e5594372b..a8812f7e74 100644 --- a/src/usr.bin/openssl/x509.c +++ b/src/usr.bin/openssl/x509.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509.c,v 1.5 2015/08/22 16:36:05 jsing Exp $ */ | 1 | /* $OpenBSD: x509.c,v 1.6 2015/09/11 14:30:23 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -140,9 +140,6 @@ static const char *x509_usage[] = { | |||
| 140 | " -extensions - section from config file with X509V3 extensions to add\n", | 140 | " -extensions - section from config file with X509V3 extensions to add\n", |
| 141 | " -clrext - delete extensions before signing and input certificate\n", | 141 | " -clrext - delete extensions before signing and input certificate\n", |
| 142 | " -nameopt arg - various certificate name options\n", | 142 | " -nameopt arg - various certificate name options\n", |
| 143 | #ifndef OPENSSL_NO_ENGINE | ||
| 144 | " -engine e - use engine e, possibly a hardware device.\n", | ||
| 145 | #endif | ||
| 146 | " -certopt arg - various certificate text options\n", | 143 | " -certopt arg - various certificate text options\n", |
| 147 | NULL | 144 | NULL |
| 148 | }; | 145 | }; |
| @@ -160,7 +157,6 @@ static int reqfile = 0; | |||
| 160 | int | 157 | int |
| 161 | x509_main(int argc, char **argv) | 158 | x509_main(int argc, char **argv) |
| 162 | { | 159 | { |
| 163 | ENGINE *e = NULL; | ||
| 164 | int ret = 1; | 160 | int ret = 1; |
| 165 | X509_REQ *req = NULL; | 161 | X509_REQ *req = NULL; |
| 166 | X509 *x = NULL, *xca = NULL; | 162 | X509 *x = NULL, *xca = NULL; |
| @@ -200,9 +196,6 @@ x509_main(int argc, char **argv) | |||
| 200 | char *extsect = NULL, *extfile = NULL, *passin = NULL, *passargin = NULL; | 196 | char *extsect = NULL, *extfile = NULL, *passin = NULL, *passargin = NULL; |
| 201 | int checkend = 0, checkoffset = 0; | 197 | int checkend = 0, checkoffset = 0; |
| 202 | unsigned long nmflag = 0, certflag = 0; | 198 | unsigned long nmflag = 0, certflag = 0; |
| 203 | #ifndef OPENSSL_NO_ENGINE | ||
| 204 | char *engine = NULL; | ||
| 205 | #endif | ||
| 206 | const char *errstr = NULL; | 199 | const char *errstr = NULL; |
| 207 | 200 | ||
| 208 | reqfile = 0; | 201 | reqfile = 0; |
| @@ -345,13 +338,6 @@ x509_main(int argc, char **argv) | |||
| 345 | if (!set_name_ex(&nmflag, *(++argv))) | 338 | if (!set_name_ex(&nmflag, *(++argv))) |
| 346 | goto bad; | 339 | goto bad; |
| 347 | } | 340 | } |
| 348 | #ifndef OPENSSL_NO_ENGINE | ||
| 349 | else if (strcmp(*argv, "-engine") == 0) { | ||
| 350 | if (--argc < 1) | ||
| 351 | goto bad; | ||
| 352 | engine = *(++argv); | ||
| 353 | } | ||
| 354 | #endif | ||
| 355 | else if (strcmp(*argv, "-C") == 0) | 341 | else if (strcmp(*argv, "-C") == 0) |
| 356 | C = ++num; | 342 | C = ++num; |
| 357 | else if (strcmp(*argv, "-email") == 0) | 343 | else if (strcmp(*argv, "-email") == 0) |
| @@ -441,9 +427,6 @@ bad: | |||
| 441 | BIO_printf(bio_err, "%s", *pp); | 427 | BIO_printf(bio_err, "%s", *pp); |
| 442 | goto end; | 428 | goto end; |
| 443 | } | 429 | } |
| 444 | #ifndef OPENSSL_NO_ENGINE | ||
| 445 | e = setup_engine(bio_err, engine, 0); | ||
| 446 | #endif | ||
| 447 | 430 | ||
| 448 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { | 431 | if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { |
| 449 | BIO_printf(bio_err, "Error getting password\n"); | 432 | BIO_printf(bio_err, "Error getting password\n"); |
| @@ -575,12 +558,12 @@ bad: | |||
| 575 | X509_set_pubkey(x, pkey); | 558 | X509_set_pubkey(x, pkey); |
| 576 | EVP_PKEY_free(pkey); | 559 | EVP_PKEY_free(pkey); |
| 577 | } else | 560 | } else |
| 578 | x = load_cert(bio_err, infile, informat, NULL, e, "Certificate"); | 561 | x = load_cert(bio_err, infile, informat, NULL, "Certificate"); |
| 579 | 562 | ||
| 580 | if (x == NULL) | 563 | if (x == NULL) |
| 581 | goto end; | 564 | goto end; |
| 582 | if (CA_flag) { | 565 | if (CA_flag) { |
| 583 | xca = load_cert(bio_err, CAfile, CAformat, NULL, e, "CA Certificate"); | 566 | xca = load_cert(bio_err, CAfile, CAformat, NULL, "CA Certificate"); |
| 584 | if (xca == NULL) | 567 | if (xca == NULL) |
| 585 | goto end; | 568 | goto end; |
| 586 | } | 569 | } |
| @@ -813,7 +796,7 @@ bad: | |||
| 813 | if (Upkey == NULL) { | 796 | if (Upkey == NULL) { |
| 814 | Upkey = load_key(bio_err, | 797 | Upkey = load_key(bio_err, |
| 815 | keyfile, keyformat, 0, | 798 | keyfile, keyformat, 0, |
| 816 | passin, e, "Private key"); | 799 | passin, "Private key"); |
| 817 | if (Upkey == NULL) | 800 | if (Upkey == NULL) |
| 818 | goto end; | 801 | goto end; |
| 819 | } | 802 | } |
| @@ -825,8 +808,7 @@ bad: | |||
| 825 | if (CAkeyfile != NULL) { | 808 | if (CAkeyfile != NULL) { |
| 826 | CApkey = load_key(bio_err, | 809 | CApkey = load_key(bio_err, |
| 827 | CAkeyfile, CAkeyformat, | 810 | CAkeyfile, CAkeyformat, |
| 828 | 0, passin, e, | 811 | 0, passin, "CA Private Key"); |
| 829 | "CA Private Key"); | ||
| 830 | if (CApkey == NULL) | 812 | if (CApkey == NULL) |
| 831 | goto end; | 813 | goto end; |
| 832 | } | 814 | } |
| @@ -845,7 +827,7 @@ bad: | |||
| 845 | } else { | 827 | } else { |
| 846 | pk = load_key(bio_err, | 828 | pk = load_key(bio_err, |
| 847 | keyfile, keyformat, 0, | 829 | keyfile, keyformat, 0, |
| 848 | passin, e, "request key"); | 830 | passin, "request key"); |
| 849 | if (pk == NULL) | 831 | if (pk == NULL) |
| 850 | goto end; | 832 | goto end; |
| 851 | } | 833 | } |
