yubihsm 0.21.0

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.
Documentation
[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" # Also update html_root_url in lib.rs when bumping this
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