wolfcrypt-ring-compat 1.16.5

wolfcrypt-ring-compat is a cryptographic library using wolfSSL for its cryptographic operations. This library strives to be API-compatible with the popular Rust library named ring.
docs.rs failed to build wolfcrypt-ring-compat-1.16.5
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

wolfcrypt-ring-compat

API-compatible replacement for the ring crate, backed by wolfCrypt instead of BoringSSL.

Why

ring is widely used by rustls, AWS SDKs, and other foundational Rust crates, but it is not FIPS 140-3 certifiable. wolfcrypt-ring-compat gives you the same API with a FIPS-validatable backend:

  • Drop-in replacement — no application code changes; swap the Cargo dependency and the ring API keeps working
  • FIPS 140-3 — wolfCrypt is FIPS 140-3 validated; this is the migration path if your project uses ring's API and needs a FIPS-certifiable backend (contact wolfSSL)
  • Broad coverage — targets API parity with ring 0.17

Usage

# Before
ring = "0.17"

# After
wolfcrypt-ring-compat = { version = "1.16", features = ["ring-sig-verify"] }

Same API. No application code changes required.

Coverage

AES-GCM, ChaCha20-Poly1305, ECDH (P-256, P-384, X25519), SHA-{1,256,384,512}, HMAC, HKDF, PBKDF2, ECDSA, Ed25519, RSA PKCS#1v1.5 and PSS, SystemRandom. Targets API parity with ring 0.17.

How it works

wolfssl-src          Compiles wolfSSL/wolfCrypt C source via the cc crate
      │
wolfcrypt-sys        bindgen FFI + cargo cfg flags per compiled algorithm
      │
wolfcrypt-rs         Typed Rust wrapper
      │
wolfcrypt-ring-compat  ring-compatible API surface (this crate)

The crate exports lib.name = "ring" so that downstream crates that import ring symbols use the wolfCrypt implementation without source changes. Add a [patch.crates-io] entry in your workspace to redirect the ring dependency.

FIPS 140-3

wolfcrypt-ring-compat = { version = "1.16", features = ["fips"] }

ring is not FIPS 140-3 certifiable. wolfCrypt is. This is the migration path if you need ring's API with a FIPS-certifiable backend.

FIPS 140-3 validation requires a wolfSSL commercial FIPS license and the specific validated source tree. Contact wolfSSL for details. See the workspace README for full build instructions.

Copyright

Copyright (C) 2006-2026 wolfSSL Inc.

License

MIT — see LICENSE.

The MIT License applies to the Rust source code in this crate. The underlying wolfSSL/wolfCrypt C library is licensed under GPL-2.0-or-later with a commercial option available from wolfSSL Inc.