This can only work with OpenSSL 1.1.1-dev(TLS 1.3 draft 18 or 19).
The same feature can be implemented by the configuration command Options:+PrioritizeChacha
on later version. (from 1.1.1-pre1 on)
This feature can be backported to OpenSSL 1.1.0 by applying https://github.com/Hardrain980/openssl-1.1.0-patch
The original version of patch is from CloudFlare, at https://github.com/cloudflare/sslconfig
With this patch, OpenSSL 1.1.1-dev can now prefer to use CHACHA20-POLY1305 ciphers(including TLS13-CHACHA20-POLY1305
for TLS 1.3) on devices without AES instruction sets.
How to use:
- use
git clone
or any downloading tool to haves3_lib.c
cloned to your system - backup and delete
{$OPENSSL_1.1.1_PATH}/ssl/s3_lic.c
- copy
s3_lib.c
in this repository to{$OPENSSL_1.1.1_PATH}/ssl/
- compile and install
- *.recompile your application depends on OpenSSL if it's linked to OpenSSL statically(NOT shared)