xref: /aosp_15_r20/external/curl/docs/RUSTLS.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
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