1*6236dae4SAndroid Build Coastguard Worker<!-- 2*6236dae4SAndroid Build Coastguard WorkerCopyright (C) Daniel Stenberg, <[email protected]>, et al. 3*6236dae4SAndroid Build Coastguard Worker 4*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl 5*6236dae4SAndroid Build Coastguard Worker--> 6*6236dae4SAndroid Build Coastguard Worker 7*6236dae4SAndroid Build Coastguard Worker# Rustls 8*6236dae4SAndroid Build Coastguard Worker 9*6236dae4SAndroid Build Coastguard Worker[Rustls is a TLS backend written in Rust](https://docs.rs/rustls/). Curl can 10*6236dae4SAndroid Build Coastguard Workerbe built to use it as an alternative to OpenSSL or other TLS backends. We use 11*6236dae4SAndroid Build Coastguard Workerthe [rustls-ffi C bindings](https://github.com/rustls/rustls-ffi/). This 12*6236dae4SAndroid Build Coastguard Workerversion of curl depends on version v0.14.0 of rustls-ffi. 13*6236dae4SAndroid Build Coastguard Worker 14*6236dae4SAndroid Build Coastguard Worker# Building with Rustls 15*6236dae4SAndroid Build Coastguard Worker 16*6236dae4SAndroid Build Coastguard WorkerFirst, [install Rust](https://rustup.rs/). 17*6236dae4SAndroid Build Coastguard Worker 18*6236dae4SAndroid Build Coastguard WorkerNext, check out, build, and install the appropriate version of rustls-ffi: 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard Worker % git clone https://github.com/rustls/rustls-ffi -b v0.14.0 21*6236dae4SAndroid Build Coastguard Worker % cd rustls-ffi 22*6236dae4SAndroid Build Coastguard Worker % make 23*6236dae4SAndroid Build Coastguard Worker % make DESTDIR=${HOME}/rustls-ffi-built/ install 24*6236dae4SAndroid Build Coastguard Worker 25*6236dae4SAndroid Build Coastguard WorkerNow configure and build curl with Rustls: 26*6236dae4SAndroid Build Coastguard Worker 27*6236dae4SAndroid Build Coastguard Worker % git clone https://github.com/curl/curl 28*6236dae4SAndroid Build Coastguard Worker % cd curl 29*6236dae4SAndroid Build Coastguard Worker % autoreconf -fi 30*6236dae4SAndroid Build Coastguard Worker % ./configure --with-rustls=${HOME}/rustls-ffi-built 31*6236dae4SAndroid Build Coastguard Worker % make 32*6236dae4SAndroid Build Coastguard Worker 33*6236dae4SAndroid Build Coastguard WorkerSee the [rustls-ffi README] for more information on cryptography providers and 34*6236dae4SAndroid Build Coastguard Workertheir build/platform requirements. 35*6236dae4SAndroid Build Coastguard Worker 36*6236dae4SAndroid Build Coastguard Worker[rustls-ffi README]: https://github.com/rustls/rustls-ffi/blob/main/README.md#cryptography-provide 37