DES encryption on Windows - "EVP_CIPHER_fetch() failed"

Hello there.

I have been implementing an agent and manager, both of which I am attempting to use DES priv protocol (as a device I intend to poll only supports DES). However, whenever I attempt to use DES for either issuing or receiving ‘get’ requests, the requests fail and show the debug message “EVP_CIPHER_fetch() failed.”. Also, the priv password I am using is 8 characters as I’ve read this is required for DES.
I have also tested using AES to test a different priv protocol, but that seems to work just fine with the same security details (engineId, securityName, passwords, etc.) which makes me wonder why DES specifically doesn’t want to work (especially since DES is the only option for my use).
I have also attempted the same on Linux, which works fine regardless of whether I’m using DES or AES.
I have also ensured that all of my environment variables are set correctly for OpenSSL (path, OPENSSL_CONF, etc.) and I am including all the required ‘include’ files and linking to ‘libcrypto.lib’.

Any suggestions would be much appreciated as I’ve been struggling with this issue for the past few days and nothing I try seems to help…

Thanks in advance!


did you already double check that your Openssl library contains the DES algorithm and the (runtime) configuration allows to use it? As DES is no longer a “secure” algorithm it might be disabled. You could check with openssl list -cipher-algorithms or openssl list -disabled. If using DLLs: Does the executable find and use a wrong Openssl DLL at runtime?

There is no need to use a password with exactly 8 characters, as the SNMPv3 specification contains a password-to-key algorithm that produces valid keys for passwords with any length.

Kind regards,