yubihsm 0.28.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.28.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/develop/"
readme        = "README.md"
categories    = ["cryptography", "hardware-support"]
keywords      = ["ecdsa", "ed25519", "hmac", "hsm", "yubikey"]
edition       = "2018"

[badges]
circle-ci = { repository = "tendermint/yubihsm-rs", branch = "develop" }

[dependencies]
aes = "0.3"
bitflags = "1"
block-modes = "0.3"
chrono = { version = "0.4", features=["serde"], optional = true }
cmac = "0.2"
getrandom = "0.1"
harp = { version = "0.1", optional = true }
hmac = { version = "0.7", optional = true }
log = "0.4"
pbkdf2 = { version = "0.3", optional = true, default-features = false }
serde = { version = "1", features = ["serde_derive"] }
serde_json = { version = "1", optional = true }
ring = { version = "0.16", optional = true, default-features = false }
rusb = { version = "0.5", optional = true }
secp256k1 = { version = "0.15", optional = true }
sha2 = { version = "0.8", optional = true }
signatory = { version = "0.15", features = ["digest", "ecdsa", "ed25519"] }
signature = { version = "1.0.0-pre.0", features = ["derive-preview"] }
subtle = "2"
tiny_http = { version = "0.6", optional = true }
uuid = { version = "0.7", default-features = false }
zeroize = { version = "1.0.0-pre", features = ["zeroize_derive"] }

[dev-dependencies]
criterion = "0.2"
lazy_static = "1"
ring = { version = "0.16", default-features = false }
signatory-ring = "0.15"
signatory-secp256k1 = "0.15"

[features]
default = ["http", "passwords", "setup"]
http-server = ["tiny_http"]
http = ["harp"]
mockhsm = ["passwords", "ring"]
passwords = ["hmac", "pbkdf2", "sha2"]
setup = ["chrono", "passwords", "serde_json", "uuid/serde"]
usb = ["rusb"]
yolocrypto = ["sha2"]

[package.metadata.docs.rs]
all-features = true

[[bench]]
name = "ed25519"
harness = false

[[example]]
name = "connector_http_server"
required-features = ["http-server", "usb"]