Haskell bindings for the Rustls TLS library via rustls-ffi.
See the haddocks for documentation.
Also see:
- http-client-rustls: Make HTTPS requests using http-client and Rustls.
When developing this library, just drop into a Nix shell.
If you want to depend on this library in another package, you have to make sure to include rustls-ffi as a native dependency. You can do so by depending on the github:amesgen/hs-rustls?dir=nix-rustls
flake, and then using the nix-rustls.packages.${system}.default
output.
Make sure to have Cargo installed. Then, clone and install rustls-ffi:
git clone https://github.com/rustls/rustls-ffi -b v0.14.0
cd rustls-ffi
make DESTDIR=/path/to/some/dir install
Then, in a cabal.project.local
, add these lines:
extra-include-dirs: /path/to/some/dir/include
extra-lib-dirs: /path/to/some/dir/lib
With this, Cabal should be able to find the rustls-ffi native library.
Note: This process might become less manual if sth like haskell/cabal#7906 lands in Cabal.
When running the tests in this repo, you have to have minica and miniserve installed.