I think that checking for NULL from EVP_get_ciphername() works in 1.1.1 but that changed for 3.0.0 Is there anything better/cleaner than actually calling EVP_CipherInit() or such? I'm curious. What does it mean to have a non-NULL cipher that doesn't work? I'm using default Engines and Providers. Is that something like we have allocated a slot in the name space but this engine doesn't support it? Should there be something like EVP_get_ciphername that takes the engine parameter? -- These are my opinions. I hate spam.