[OpenWrt-Devel] openssl: Add engine configuration to openssl.cnf
diff mbox series

Message ID 20191001135034.14546-1-cotequeiroz@gmail.com
State Accepted, archived
Delegated to: Christian Lamparter
Headers show
  • [OpenWrt-Devel] openssl: Add engine configuration to openssl.cnf
Related show

Commit Message

Eneas U de Queiroz Oct. 1, 2019, 1:50 p.m. UTC
This adds engine configuration sections to openssl.cnf, with a commented
list of engines.  To enable an engine, all you have to do is uncomment
the engine line.

It also adds some useful comments to the devcrypto engine configuration
section.  Other engines currently don't have configuration commands.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This should be cherry-picked to 19.07.
Run-tested on WRT3200ACM without engines, and with devcrypto & afalg.

diff mbox series

diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile
index 28625bad05..eb267f31f0 100644
--- a/package/libs/openssl/Makefile
+++ b/package/libs/openssl/Makefile
@@ -11,7 +11,7 @@  PKG_NAME:=openssl
diff --git a/package/libs/openssl/patches/150-openssl.cnf-add-engines-conf.patch b/package/libs/openssl/patches/150-openssl.cnf-add-engines-conf.patch
new file mode 100644
index 0000000000..5cfe7866a2
--- /dev/null
+++ b/package/libs/openssl/patches/150-openssl.cnf-add-engines-conf.patch
@@ -0,0 +1,56 @@ 
+--- a/apps/openssl.cnf
++++ b/apps/openssl.cnf
+@@ -22,6 +22,53 @@ oid_section		= new_oids
+ # (Alternatively, use a configuration file that has only
+ # X.509v3 extensions in its main [= default] section.)
++# To enable an engine, install the package, and uncomment it here:
++default_algorithms = ALL
++# Leave this alone and configure algorithms with CIPERS/DIGESTS below
++default_algorithms = ALL
++# Configuration commands:
++# Run 'openssl engine -t -c -vv -pre DUMP_INFO devcrypto' to see a
++# list of supported algorithms, along with their driver, whether they
++# are hw accelerated or not, and the engine's configuration commands.
++# USE_SOFTDRIVERS: specifies whether to use software (not accelerated)
++# drivers (0=use only accelerated drivers, 1=allow all drivers, 2=use
++# if acceleration can't be determined) [default=2]
++# CIPHERS: either ALL, NONE, or a comma-separated list of ciphers to
++# enable [default=ALL]
++# It is recommended to disable the ECB ciphers; in most cases, it will
++# only be used for PRNG, in small blocks, where performance is poor,
++# and there may be problems with apps forking with open crypto
++# contexts, leading to failures.  The CBC ciphers work well:
++# DIGESTS: either ALL, NONE, or a comma-separated list of digests to
++# enable [default=NONE]
++# It is strongly recommended not to enable digests; their performance
++# is poor, and there are many cases in which they will not work,
++# especially when calling fork with open crypto contexts.  Openssh,
++# for example, does this, and you may not be able to login.
++default_algorithms = ALL
+ [ new_oids ]
+ # We can add new OIDs in here for use by 'ca', 'req' and 'ts'.