@@ -19,12 +19,13 @@ For security issues, please see [SECURITY.md](SECURITY.md).
1919## ✨ Features
2020
2121- 🔒 ** Authenticated Encryption (AEAD)** : AES-GCM, ChaCha20-Poly1305
22- - � ** Streaming Encryption** : Process large files chunk-by-chunk with STREAM construction
23- - � 🔑 ** Key Derivation** : PBKDF2, Argon2, HKDF
24- - ✍️ ** Digital Signatures** : Ed25519, (optional: RSA-PSS)
25- - 🤝 ** Key Exchange** : X25519 (Elliptic Curve Diffie-Hellman)
22+ - 📦 ** Streaming Encryption** : Process large files chunk-by-chunk with STREAM construction
23+ - 🔑 ** Key Derivation** : PBKDF2, Argon2, HKDF
24+ - ✍️ ** Digital Signatures** : Ed25519, ECDSA (P-256, P-384), (optional: RSA-PSS)
25+ - 🤝 ** Key Exchange** : X25519, P-256, P-384 (Elliptic Curve Diffie-Hellman)
2626- 🔐 ** Message Authentication** : HMAC (SHA-256, SHA-512)
27- - #️⃣ ** Hashing** : SHA-256, SHA-512, (optional: SHA-3, BLAKE2)
27+ - #️⃣ ** Hashing** : SHA-256, SHA-384, SHA-512, (optional: SHA-3, BLAKE2)
28+ - 🌐 ** TLS Support** : rustls CryptoProvider for reqwest, hyper-rustls, tokio-rustls
2829- 🔒 ** Optional RSA Support** : RSA-OAEP encryption & RSA-PSS signatures (⚠️ opt-in only, not recommended)
2930- 🎲 ** Secure Random** : Cryptographically secure RNG wrapper
3031- 🧹 ** Memory Safety** : Automatic zeroization of sensitive data
@@ -266,8 +267,36 @@ cargo audit
266267- ` rsa-support ` : RSA encryption/signatures (⚠️ ** NOT enabled by default** - opt-in only, has known vulnerability RUSTSEC-2023-0071)
267268- ` serde-support ` : Serialization for keys and ciphertexts
268269- ` zero-copy ` : ` bytes ` crate integration for high-performance scenarios
270+ - ` tls ` : TLS CryptoProvider for rustls (includes P-256, P-384, SHA-384)
271+ - ` rustls-provider ` : Alias for ` tls ` feature
269272- ` wasm ` : WebAssembly support (⚠️ ** Temporarily unavailable in v0.3.3** - see CHANGELOG for details)
270273
274+ ### TLS Support (New in v0.4.0)
275+
276+ Use crabgraph as the TLS crypto backend for reqwest, hyper-rustls, and other rustls-based libraries:
277+
278+ ``` toml
279+ [dependencies ]
280+ crabgraph = { version = " 0.4.0-pre" , features = [" tls" ] }
281+ ```
282+
283+ ``` rust
284+ use crabgraph :: tls;
285+
286+ fn main () {
287+ // Install crabgraph as the default TLS provider (call once at startup)
288+ tls :: install_default ();
289+
290+ // Now all rustls-based libraries will use crabgraph
291+ // let client = reqwest::Client::new();
292+ }
293+ ```
294+
295+ ** Supported Cipher Suites:**
296+ - TLS 1.3: AES-256-GCM, AES-128-GCM, ChaCha20-Poly1305
297+ - TLS 1.2: ECDHE-ECDSA/RSA with AES-GCM and ChaCha20-Poly1305
298+ - Key Exchange: X25519, P-256, P-384
299+
271300### Enabling RSA Support
272301
273302RSA is ** not included by default** due to security concerns. To use RSA:
0 commit comments