Hi All,
While writing the engine implementation for private key encryption and decryption, I need to get the private key from external source.
ENGINE_set_load_privkey_function(e, load_tpm_private_key)
Above API is success.
RSA structure is as below.
RSA_METHOD my_rsa_struct =
{
"MY RSA method",
NULL,
NULL,
MyRSAPrivEnc,
MyRSAPrivDec,
NULL,
NULL,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL
};
{
"MY RSA method",
NULL,
NULL,
MyRSAPrivEnc,
MyRSAPrivDec,
NULL,
NULL,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL
};
However, the routine
load_tpm_private_key does not get invoked during private key encryption and decryption.
Private key encryption and decryption gets routed to the above overloaded routines namely "
MyRSAPrivEnc
" and "
MyRSAPrivDec". But
load_tpm_private_key never gets invoked.
Is there a flag to force the same ? I have tried it using openssl 1.0.2 version. All other engine calls work as expected, but not this one.
I have also tried to debug in ENGINE_load_private_key in eng_pkey.c file. I dont see this function getting invoked. In this function, the private key callback set above gets invoked.
Please suggest if I am missing something here.
Thanks
Mahendra