Openssl 3 still supports loading engines and some engines still haven't migrated to using providers.
In such cases it is possible to continue using engines. They can be loaded using openssl's config file.
Previously I could load a private key(provided by custom engine) like so
OpenSSL::PKey.read("some private key")
But now even though engine is loaded the same command returns Could not parse PKey (OpenSSL::PKey::PKeyError).
Using OpenSSL::PKey.new_raw_private_key also did not help.
Locally installing ruby/openssl and reverting ossl_pkey_read_generic in ossl_pkey.c to the previous version(before openssl 3 support) did help, but this method is not viable for production.
Is it possible to provide some way to load such keys?
Openssl 3 still supports loading engines and some engines still haven't migrated to using providers.
In such cases it is possible to continue using engines. They can be loaded using openssl's config file.
Previously I could load a private key(provided by custom engine) like so
But now even though engine is loaded the same command returns
Could not parse PKey (OpenSSL::PKey::PKeyError).Using
OpenSSL::PKey.new_raw_private_keyalso did not help.Locally installing
ruby/openssland revertingossl_pkey_read_genericinossl_pkey.cto the previous version(before openssl 3 support) did help, but this method is not viable for production.Is it possible to provide some way to load such keys?