Note: this crate was formerly known as yubikey-piv
, but has been renamed in this release
Announcing v0.4.0 of the yubikey
crate: a Pure Rust cross-platform host-side driver for YubiKey devices with support for hardware-backed digital signatures and public-key decryption:
- crate: https://crates.io/crates/yubikey/
- docs: https://docs.rs/yubikey/
- repo: https://github.com/iqlusioninc/yubikey.rs/
The crate provides a host-side driver which works on Windows, Linux, and macOS.
Support is provided for the YubiKey's Personal Identity Verification (PIV) application, which supports RSA (1024/2048-bit) and ECC (NIST P-256/P-384) algorithms e.g, PKCS#1v1.5 for RSA and ECDSA for ECC keys.
The main functionality supported right now is producing ECDSA signatures backed by a PIV hardware key stored on a YubiKey. There is untested support for RSA signatures, as well as ECC/RSA decryption.
Functionality is also provided for PIN management as well as other forms of device management and status inquiries.
The yubikey-cli
crate provides a demonstration/example of the functionality, although it presently implements very little:
- crate: https://crates.io/crates/yubikey-cli
- install:
cargo install yubikey-cli
Enjoy!