rustls-ffi
brew install rustls-ffi
v0.15.3
Apache-2.0 OR MIT OR ISC
FFI bindings for Rustls, a memory-safe TLS library written in Rust, enabling use from C, C++, Python and other languages.
Why you might care
Use this as a drop-in replacement for OpenSSL's TLS functionality when you need memory safety guarantees and modern cryptography without the C complexity. Rustls eliminates entire classes of buffer-overflow and use-after-free bugs. It's particularly valuable in polyglot codebases where you want Rust's safety properties accessible from legacy C/C++ or scripting languages.
2.0k
30-day installs · #963
6.5k
90-day · #978
24.0k
365-day · #984
168
★ GitHub stars · updated 15d ago
Build dependencies
GitHub topics
cryptography
ffi
rust
ssl
tls
Links
- https://github.com/rustls/rustls-ffi
- GitHub: rustls/rustls-ffi
- Brew formula source: Formula/r/rustls-ffi.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"OpenSSL",
"LibreSSL",
"GnuTLS",
"BoringSSL"
],
"build_dependencies": [
"cargo-c",
"pkgconf",
"rust"
],
"categories": [
"library",
"binding",
"crypto",
"ssl-tls"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "FFI bindings for the rustls TLS library",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:41:13+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "rustls-ffi",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-05T08:59:46Z",
"github_readme_excerpt": "# Rustls FFI bindings - use Rustls from any language\n\n[](https://github.com/rustls/rustls-ffi/actions/workflows/test.yaml)\n\nThis crate contains FFI bindings for the [rustls](https://docs.rs/rustls) TLS\nlibrary, so you can use the library in any language that supports FFI (C, C++,\nPython, etc). It also contains demo C programs that use those bindings to run an\nHTTPS server, and to make an HTTPS request.\n\nRustls is a modern TLS library written in Rust, meaning it is less likely to\nhave memory safety vulnerabilities than equivalent TLS libraries written in\nmemory unsafe languages.\n\nIf you are using rustls-ffi to replace OpenSSL, note that OpenSSL provides\n[cryptographic primitives](https://www.openssl.org/docs/man3.0/man7/crypto.html)\nin addition to a TLS library. Rustls-ffi only provides the TLS library. If you\nuse the cryptographic primitives from OpenSSL you may need to find another library\nto provide the cryptographic primitives.\n\n[](https://repology.org/project/rustls-ffi/versions)\n\n# Build rustls-ffi\n\nTo build rustls-ffi as a static or shared library you\u0027ll need to [install the\nRust toolchain](https://rustup.rs/) (version 1.73 or above) as well as \n[cargo-c].\n\nThe [cargo-c] tool can be installed from \n[your package manager](https://github.com/lu-zero/cargo-c?tab=readme-ov-file#availability)\nor using Cargo with `cargo install cargo-c`.\n\nIf you plan to build the `client` and `server` [C examples](#example-applications) \nyou will also need `cmake` and a C compiler (`gcc` and `clang` should both work, \nas well as MSVC on Windows).\n\n[cargo-c]: https://github.com/lu-zero/cargo-c\n\n## Building and Installing\n\n```bash\ngit clone https://github.com/rustls/rustls-ffi\ncd rustls-ffi\nsudo cargo capi install --release\n```\n\nIf you receive a message like \"error: no such command capi\" you need to install\n[cargo-c]",
"github_repo": "rustls/rustls-ffi",
"github_stars": 168,
"github_topics": [
"cryptography",
"ffi",
"rust",
"ssl",
"tls"
],
"homepage": "https://github.com/rustls/rustls-ffi",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 2050,
"installs_365d": 23953,
"installs_90d": 6505,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0 OR MIT OR ISC",
"llm_generated_at": "2026-06-20T23:48:07+00:00",
"llm_model": "claude-haiku-4-5",
"name": "rustls-ffi",
"oldnames": [],
"one_liner": "FFI bindings for Rustls, a memory-safe TLS library written in Rust, enabling use from C, C++, Python and other languages.",
"optional_dependencies": [],
"rank_30d": 963,
"rank_365d": 984,
"rank_90d": 978,
"raw_hash": "e570da2df9a8dc7d",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/r/rustls-ffi.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.15.3",
"versioned_formulae": [],
"why_use_this": "Use this as a drop-in replacement for OpenSSL\u0027s TLS functionality when you need memory safety guarantees and modern cryptography without the C complexity. Rustls eliminates entire classes of buffer-overflow and use-after-free bugs. It\u0027s particularly valuable in polyglot codebases where you want Rust\u0027s safety properties accessible from legacy C/C++ or scripting languages."
}