forked from iqlusioninc/yubihsm.rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
76 lines (70 loc) · 2.58 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[package]
name = "yubihsm"
version = "0.42.1"
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.
"""
license = "Apache-2.0 OR MIT"
authors = ["Tony Arcieri <tony@iqlusion.io>"]
documentation = "https://docs.rs/yubihsm"
repository = "https://github.com/iqlusioninc/yubihsm.rs"
readme = "README.md"
categories = ["cryptography", "hardware-support"]
keywords = ["ecdsa", "ed25519", "hmac", "hsm", "yubikey"]
edition = "2021"
rust-version = "1.67"
[dependencies]
aes = { version = "0.8", features = ["zeroize"] }
bitflags = "2"
cmac = "0.7"
cbc = "0.1"
ccm = { version = "0.5", features = ["std"] }
ecdsa = { version = "0.16", default-features = false, features = ["pkcs8"] }
ed25519 = "2"
log = "0.4"
num-traits = "0.2"
p256 = { version = "0.13", default-features = false, features = ["ecdsa"] }
p384 = { version = "0.13", default-features = false, features = ["ecdsa"] }
serde = { version = "1", features = ["serde_derive"] }
rand_core = { version = "0.6", features = ["std"] }
rsa = "0.9.6"
signature = { version = "2", features = ["derive"] }
sha2 = { version = "0.10", features = ["oid"] }
spki = { version = "0.7.3", default-features = false }
subtle = "2"
thiserror = "1"
time = { version = "0.3", features = ["serde"] }
uuid = { version = "1", default-features = false }
zeroize = { version = "1", features = ["zeroize_derive"] }
# optional dependencies
digest = { version = "0.10", optional = true, default-features = false }
ed25519-dalek = { version = "2", optional = true, features = ["rand_core"] }
hmac = { version = "0.12", optional = true }
k256 = { version = "0.13", optional = true, features = ["ecdsa", "sha256"] }
pbkdf2 = { version = "0.12", optional = true, default-features = false, features = ["hmac"] }
serde_json = { version = "1", optional = true }
rusb = { version = "0.9", optional = true }
tiny_http = { version = "0.12", optional = true }
[dev-dependencies]
ed25519-dalek = "2"
once_cell = "1"
p256 = { version = "0.13", features = ["ecdsa"] }
x509-cert = { version = "0.2.4", features = ["builder"] }
[features]
default = ["http", "passwords", "setup"]
http-server = ["tiny_http"]
http = []
mockhsm = ["digest", "ecdsa/arithmetic", "ed25519-dalek", "p256/ecdsa", "secp256k1"]
passwords = ["hmac", "pbkdf2"]
secp256k1 = ["k256"]
setup = ["passwords", "serde_json", "uuid/serde"]
untested = []
usb = ["rusb"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[example]]
name = "connector_http_server"
required-features = ["http-server", "usb"]