On Mon, Jun 28, 2010, Nacho lvarez wrote: > It's a custom engine. > load privkey is the pointer to function used as argument in the call: > ENGINE_set_load_privkey_function (e, load_private_key); > This function is called when OpenSSL try to get the command line "key" > argument. > In that function I assign the RSA private key (get it from hardware, only > modulus and public exponent) to the EVP with: > EVP_PKEY_assign_RSA (pk, rsa); > where pk is EVP_PKEY *pk; and rsa is RSA *rsa; > Everything goes well until the load_private_key function ends and returns > the EVP_PKEY. When that call ends, OpenSSL throws the error I said before. >
Hmm.... that's a bug. In apps/dgst.c there are calls to EVP_DigestVerifyInit() and EVP_DigestSignInit(). Try changing the "e" parameter to NULL in both cases. I've checked this against the CryptoAPI ENGINE and it seems to work OK now. 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