In the branches 1.0.0, 1.0.1 and 1.0.2 of OpenSSL, some command line commands which accepts cipher argument (at least enc, cms and smime) delays engine initialization until all the command-line options are parsed.
Thus, if user specifies cipher, which is available only from engine, such as -gost89, these commands report "Unknown cipher" if appropriate engine is not specified in the configuration file. I.e. it is not possible to run openssl enc -engine gost -gost89 -e or openssl cms -engine gost -encrypt -gost89 while openssl dgst -engine gost -md_gost94 works just fine. Also, it is not possible to get list of ciphers including engine-provided ones, using openssl enc -engine gost -help, because help is printed inside option-parsing loop before engine is initialized. Problem is already fixed in the master branch, where option parsing is completely reworked. FIX is quite trivial for the branches mentioned above too. Just move call of setup_engine up into the option parsing loop. This would also minimize need of #ifndef OPENSSL_NO_ENGINE conditional, because all engine initialization would go into one place _______________________________________________ openssl-bugs-mod mailing list openssl-bugs-...@openssl.org https://mta.openssl.org/mailman/listinfo/openssl-bugs-mod _______________________________________________ openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev