Compilation option to use a specific ssl client auth engine automatically.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 4 Jun 2008 22:34:38 +0000 (22:34 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 4 Jun 2008 22:34:38 +0000 (22:34 +0000)
ssl/ssl_lib.c

index ebff8e23e64c32dd1df0036ba313566d611d37e5..afd8845d4e8138f7c7fe92b85deb97121c0883c4 100644 (file)
@@ -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);