6 releases (3 breaking)
new 0.4.0 | Dec 20, 2024 |
---|---|
0.3.0 | Oct 28, 2024 |
0.2.0 | Apr 23, 2024 |
0.1.2 | Jan 10, 2024 |
#1294 in Cryptography
48 downloads per month
Used in 2 crates
(via symcrypt)
1MB
26K
SLoC
SymCrypt Rust/C FFI Bindings
symcrypt-sys provides Rust/C FFI bindings for the SymCrypt library.
This crate is supplementary to the symcrypt
crate.
The bindings are checked into this crate in order to have better control over the binding generation as well as the exposed APIs from SymCrypt. To speed up the common case build process, the binding generation has been separated to symcrypt-bindgen
Changelog
To view a detailed list of changes please see the releases page.
Usage
Recommended usage is to take advantage of the symcrypt
crate, which provides safe and rust idiomatic wrappers over the bindings.
However, If you want to access the bindings directly, you can add symcrypt-sys
as a dependency in your rust project.
You must also configure your system to pick up the SymCrypt lib on your machine, please see: INSTALL.md for more info.
In your Cargo.toml
symcrypt-sys = "0.4.0"
Then you can call the underlying SymCrypt code directly via the FFIs.
unsafe {
// SAFETY: FFI calls
symcrypt_sys::SymCryptSha384(
data.as_ptr(),
data.len() as symcrypt_sys::SIZE_T,
result.as_mut_ptr(),
);
}