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
1 changed files with 2 additions and 3 deletions

View File

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