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

Reply via email to