1
0
mirror of https://github.com/moparisthebest/curl synced 2025-01-08 12:28:06 -05:00

Client certificate ENG file type requires OpenSSL 0.9.7 or newer

This commit is contained in:
Yang Tse 2009-11-15 12:58:50 +00:00
parent 0e80f0e4c4
commit 3b8d7fddf7

View File

@ -364,7 +364,7 @@ int cert_stuff(struct connectdata *conn,
} }
break; break;
case SSL_FILETYPE_ENGINE: case SSL_FILETYPE_ENGINE:
#ifdef HAVE_OPENSSL_ENGINE_H #if defined(HAVE_OPENSSL_ENGINE_H) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME)
{ {
if(data->state.engine) { if(data->state.engine) {
const char *cmd_name = "LOAD_CERT_CTRL"; const char *cmd_name = "LOAD_CERT_CTRL";
@ -376,14 +376,13 @@ int cert_stuff(struct connectdata *conn,
params.cert_id = cert_file; params.cert_id = cert_file;
params.cert = NULL; params.cert = NULL;
#ifdef ENGINE_CTRL_GET_CMD_FROM_NAME
/* Does the engine supports LOAD_CERT_CTRL ? */ /* Does the engine supports LOAD_CERT_CTRL ? */
if (!ENGINE_ctrl(data->state.engine, ENGINE_CTRL_GET_CMD_FROM_NAME, if (!ENGINE_ctrl(data->state.engine, ENGINE_CTRL_GET_CMD_FROM_NAME,
0, (void *)cmd_name, NULL)) { 0, (void *)cmd_name, NULL)) {
failf(data, "ssl engine does not support loading certificates"); failf(data, "ssl engine does not support loading certificates");
return 0; return 0;
} }
#endif
/* Load the certificate from the engine */ /* Load the certificate from the engine */
if (!ENGINE_ctrl_cmd(data->state.engine, cmd_name, if (!ENGINE_ctrl_cmd(data->state.engine, cmd_name,
0, &params, NULL, 1)) { 0, &params, NULL, 1)) {