[package]
name = "yubihsm"
description = """
Pure Rust client for YubiHSM2 devices with support for HTTP and
USB-based access to the device. Supports most HSM functionality
including ECDSA, Ed25519, HMAC, and RSA.
"""
version = "0.21.0"
license = "Apache-2.0 OR MIT"
authors = ["Tony Arcieri <tony@iqlusion.io>"]
documentation = "https://docs.rs/yubihsm"
homepage = "https://github.com/tendermint/yubihsm-rs"
repository = "https://github.com/tendermint/yubihsm-rs/tree/master/"
readme = "README.md"
categories = ["cryptography", "hardware-support"]
keywords = ["ecdsa", "ed25519", "hmac", "hsm", "yubikey"]
edition = "2018"
[badges]
circle-ci = { repository = "tendermint/yubihsm-rs" }
[dependencies]
aes = "0.3"
bitflags = "1"
block-modes = "0.2"
byteorder = "1.2"
chrono = { version = "0.4", features=["serde"], optional = true }
cmac = "0.2"
failure = "0.1"
failure_derive = "0.1"
gaunt = { version = "0.1", optional = true }
hmac = { version = "0.7", optional = true }
lazy_static = { version = "1", optional = true }
libusb = { version = "0.3", optional = true }
log = "0.4"
pbkdf2 = { version = "0.3", optional = true, default-features = false }
rand_os = "0.1"
serde = "1"
serde_derive = "1"
serde_json = { version = "1", optional = true }
ring = { version = "0.14", optional = true }
secp256k1 = { version = "0.12", optional = true }
sha2 = { version = "0.8", optional = true }
signatory = { version = "0.11", features = ["digest", "ecdsa", "ed25519"], optional = true }
subtle = "2"
untrusted = { version = "0.6", optional = true }
uuid = { version = "0.7", default-features = false }
zeroize = "0.4"
[dev-dependencies]
criterion = "0.2"
lazy_static = "1"
ring = "0.14"
signatory-ring = "0.11"
signatory-secp256k1 = "0.11"
untrusted = "0.6"
[features]
default = ["http", "passwords", "setup", "signatory"]
http = ["gaunt"]
mockhsm = ["passwords", "ring", "untrusted"]
nightly = ["subtle/nightly", "zeroize/nightly"]
passwords = ["hmac", "pbkdf2", "sha2"]
rsa = ["sha2"]
setup = ["chrono", "passwords", "serde_json", "uuid/serde"]
usb = ["lazy_static", "libusb"]
[package.metadata.docs.rs]
features = ["mockhsm", "rsa", "usb"]
[[bench]]
name = "ed25519"
harness = false