thread callback funcs are missing.

openssl FAQ says..

Multi-threaded applications must provide two callback functions to OpenSSL
by calling CRYPTO_set_locking_callback() and CRYPTO_set_id_callback(), for
all versions of OpenSSL up to and including 0.9.8[abc...].

As of version 1.0.0, CRYPTO_set_id_callback() and associated APIs are
deprecated by CRYPTO_THREADID_set_callback() and friends. This is described
in the threads(3) manpage

detailed info can be found in doc/crypto/threads.pod.




On Sat, Aug 30, 2014 at 5:30 PM, Ralf <r...@ramses-pyramidenbau.de> wrote:

> Hi there,
>
> I have some problems with concurrent access to a EVP_PKEY*.
>
> My intention:
> My application uses one EVP_PKEY* from several threads at the same time
> in order to generate several md-signatures at once.
> I had a deeper look into openssl's sources and actually it should be
> locked.
>
> Here's a absolutely minimal reconstruction of my problem: [1]
>
> You have a 50% chance, that this application will segfault. Additionally
> it seems to be a Heisenbug as it does not segfault when being debugged
> In my case, I always used ECDSA private keys.
> (This application actually makes no sense, but it's the minimal
> reconstruction of my problem)
>
> Why does it segfault? What am I doing wrong?
> My quick 'n dirty fix was to serialize access to the EVP_PKEY* but this
> makes my application damn slow.... And there's no EVP_PKEY_dup()
> function...
>
> [1] http://pastebin.com/4zPaUEp7
>
> Thanks in advance!
>   Ralf
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
>

Reply via email to