rustls-libssl is a partial reimplementation of the OpenSSL 3 libssl ABI. It is written in rust and uses rustls. It does not replace libcrypto: this is still required.
This project is experimental. We have aimed for the subset of libssl used by:
- curl on Ubuntu 22.04 LTS
- nginx on Ubuntu 22.04 LTS and 24.04 LTS
- nginx on Fedora 40
We have a compatibility matrix and known issues.
Ubuntu/Debian users:
$ wget https://github.com/rustls/rustls-openssl-compat/releases/latest/download/rustls-libssl_amd64.deb
$ sudo dpkg -i rustls-libssl_amd64.deb
or Fedora/Redhat users:
$ wget https://github.com/rustls/rustls-openssl-compat/releases/latest/download/rustls-libssl.x86_64.rpm
$ sudo yum localinstall -y rustls-libssl.x86_64.rpm
Using curl:
$ with-rustls-libssl curl https://google.com/
with-rustls-libssl
just sets LD_LIBRARY_PATH
and executes the given process.
Using nginx:
$ sudo rustls-libssl-nginx enable
$ sudo systemctl daemon-reload
$ sudo service nginx restart
rustls-libssl-nginx enable
installs a systemd drop-in in /etc/systemd/system/nginx.service.d/
.
rustls-libssl-nginx disable
undoes that.
The detailed list of changes in each release can be found at https://github.com/rustls/rustls-openssl-compat/releases.
rustls-libssl is distributed under the Apache-2.0 license. See LICENSE.