On Mon, Oct 13, 2014, Fredrik Jansson wrote:

> Hi!
> 
> I have a device where I cannot access the client certificate's private
> key directly, but have access to verification and signature functions.
> 
> The certificate, in DER format, is accessible.
> 
> I need to use client certificates in my TLS connection and found the
> SSL_CTX_set_client_cert_cb function. I can convert the encoded cert to
> a X509 structure and return that, but I cannot provide it with a
> EVP_PKEY object.
> 
> Is there any way I can instruct any of the SSL_CTX, SSL or EVP_PKEY
> objects to call a signature function (that I provide) during the
> handshake?
> 

An EVP_PKEY structure doesn't have to contain the private key components it
can contain just the public components. Private key operations can be
redirected to a function which performs the necessary operation.

How you do that depends on the signing function you have available. Typically
you'll write a *_METHOD for the key type and an ENGINE to contain it.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to