Crates.io | superboring |
lib.rs | superboring |
version | 0.1.4 |
source | src |
created_at | 2023-12-17 14:15:27.808854 |
updated_at | 2024-12-09 12:01:08.782316 |
description | A reimplementation of the 'boring' crate in pure Rust. |
homepage | https://github.com/jedisct1/rust-superboring |
repository | https://github.com/jedisct1/rust-superboring |
max_upload_size | |
id | 1072523 |
size | 227,791 |
A Boring(SSL)-compatible API abstraction for Rust cryptographic implementations.
Superboring hides the complexity, diversity and instability of cryptographic implementations written in Rust behind an emulation of the boring
API (Rust excellent wrappers for BoringSSL).
This allows applications written using the boring
API to be able to also use pure Rust implementations without having to maintain two code bases.
boring
?Here are valid reasons why using boring
may sometimes not be an option.
All of them are just features that haven't been implemented in the boring
crate yet, and that the boring
maintainers would probably love getting help with, rather than people finding workarounds.
While BoringSSL itself can be compiled to WebAssembly, the boring
crate currently doesn't support this.
OpenSSL and BoringSSL share a lot of symbols, which can cause collisions.
BoringSSL has the ability to prefix symbols in order to avoid this. But the boring
crate currently doesn't support this.
The real boring
crate supports static builds using musl
, so emulation is not required. Just use cargo-zigbuild
:
cargo zigbuild --target=x86_64-unknown-linux-musl
Superboring currently implements pretty much everything required to handle RSA signatures.