diff options
-rw-r--r-- | ssl/ssl_lib.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ebff8e23e6..afd8845d4e 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1599,6 +1599,22 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) ret->wbuf_freelist->len = 0; ret->wbuf_freelist->head = NULL; #endif +#ifndef OPENSSL_NO_ENGINE + ret->client_cert_engine = NULL; +#ifdef OPENSSL_SSL_CLIENT_ENGINE_AUTO +#define eng_strx(x) #x +#define eng_str(x) eng_strx(x) + /* Use specific client engine automatically... ignore errors */ + { + ENGINE *eng; + eng = ENGINE_by_id(eng_str(OPENSSL_SSL_CLIENT_ENGINE_AUTO)); +fprintf(stderr, "Engine is %p\n", eng); + if (!eng || !SSL_CTX_set_client_cert_engine(ret, eng)) + ERR_clear_error(); + } +#endif +#endif + return(ret); err: SSLerr(SSL_F_SSL_CTX_NEW,ERR_R_MALLOC_FAILURE); |