Hello,
I'm working on development of OpenSSL ENGINE that integrates post-quantum algorithms (new NIDs). During integration I need to modify OpenSSL code to add custom function, but would prefer not to need add anything to OpenSSL code (so engine can be dynmicaly loaded by any modern OpenSSL). So, In three cases, namely when the code is in callbacks for keygen, encryption and ctrl (called by EVP_PKEY_CTX_ctrl, EVP_PKEY_encrypt and EVP_PKEY_keygen) I need to get NID of the scheme. The problem is that, those functions are called with EVP_PKEY_CTX object provided as an argument. The NID is stored in the EVP_PKEY_CTX->pmeth->pkey_id. I think (AFAIK) there is no API which would return that value. I've added a simple function that returns pkey_id from the ctx, but that means that I need to change OpenSSL code. Is there any way to get NID without changing OpenSSL? Kind regards, Kris