MCPcopy Index your code
hub / github.com/cloudflare/boring

github.com/cloudflare/boring @v5.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.1.0 ↗ · + Follow
1,512 symbols 5,299 edges 80 files 224 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

boring

crates.io

BoringSSL is Google's fork of OpenSSL for Chrome/Chromium and Android.

This crate provides safe bindings for the Rust programming language and TLS adapters for tokio and hyper built on top of it.

It supports FIPS-compatible builds of BoringSSL, as well as Post-Quantum crypto and Raw Public Key extensions.

Documentation

Upgrading from boring v4

  • First update to boring 4.21 and ensure it builds without any deprecation warnings.
  • pq-experimental Cargo feature is no longer needed. Post-quantum crypto is enabled by default.
  • fips-precompiled Cargo feature has been merged into fips. Set BORING_BSSL_FIPS_PATH env var to use a precompiled library.
  • fips-compat Cargo feature has been renamed to legacy-compat-deprecated (4cb7e260a85b7)
  • SslCurve and SslCurveNid have been removed. Curve names are more stable and portable identifiers. Use curve_name() and set_curves_list().
  • Ssl::new_from_ref -> Ssl::new().
  • X509Builder::append_extension2 -> X509Builder::append_extension.
  • X509Store is now cheaply cloneable, but immutable. SslContextBuilder.cert_store_mut() can't be used after .set_cert_store(). If you need .cert_store_mut(), either don't overwrite the default store, or use .set_cert_store_builder().
  • X509StoreBuilder::add_cert takes a reference.
  • hyper 0.x support has been removed. Use hyper 1.x.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed under the terms of both the Apache License, Version 2.0 and the MIT license without any additional terms or conditions.

Accolades

The project is based on a fork of rust-openssl.

Extension points exported contracts — how you extend this code

Stackable (Interface)
Trait implemented by types which can be placed in a stack. It should not be implemented for any type outside of this cr [9 …
boring/src/stack.rs
SslContextBuilderExt (Interface)
Extensions to [`SslContextBuilder`]. This trait provides additional methods to use async callbacks with boring. [1 implementers]
tokio-boring/src/async_callbacks.rs
PrivateKeyMethod (Interface)
Describes private key hooks. This is used to off-load signing operations to a custom, potentially asynchronous, backend. [2 …
boring/src/ssl/mod.rs
Sealed (Interface)
(no doc) [1 implementers]
tokio-boring/src/async_callbacks.rs
CertificateCompressor (Interface)
Describes certificate compression algorithm. Implementation MUST implement transformation at least in one direction. [1 …
boring/src/ssl/mod.rs
AsyncPrivateKeyMethod (Interface)
Describes async private key hooks. This is used to off-load signing operations to a custom, potentially asynchronous, ba [1 …
boring/src/ssl/async_callbacks.rs
HasParams (Interface)
(no doc) [2 implementers]
boring/src/pkey.rs

Core symbols most depended-on inside this repo

new
called by 395
boring/src/ssl/bio.rs
as_ptr
called by 381
boring/src/bio.rs
as_ptr
called by 249
boring/src/ssl/mod.rs
cvt
called by 196
boring/src/lib.rs
as_ptr
called by 151
boring/src/x509/mod.rs
len
called by 149
boring/src/sign.rs
cvt_p
called by 82
boring/src/lib.rs
init
called by 71
boring-sys/src/lib.rs

Shape

Method 903
Function 446
Class 136
Enum 16
Interface 11

Languages

Rust100%

Modules by API surface

boring/src/ssl/mod.rs242 symbols
boring/src/x509/mod.rs97 symbols
boring/src/bn.rs72 symbols
boring/src/ssl/test/mod.rs67 symbols
boring/src/symm.rs65 symbols
boring/src/hash.rs50 symbols
boring/src/pkey.rs46 symbols
boring/src/ec.rs46 symbols
boring/src/x509/extension.rs43 symbols
boring/src/rsa.rs43 symbols
boring/src/ssl/callbacks.rs34 symbols
boring/src/asn1.rs32 symbols

For agents

$ claude mcp add boring \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact