Files
authenticator-rs/Cargo.toml
2023-06-20 14:19:14 -07:00

81 lines
2.3 KiB
TOML

[package]
name = "authenticator"
version = "0.4.0-alpha.18"
authors = ["J.C. Jones <jc@mozilla.com>", "Tim Taubert <ttaubert@mozilla.com>", "Kyle Machulis <kyle@nonpolynomial.com>"]
keywords = ["ctap2", "u2f", "fido", "webauthn"]
categories = ["cryptography", "hardware-support", "os"]
repository = "https://github.com/mozilla/authenticator-rs/"
license = "MPL-2.0"
description = "Library for interacting with CTAP1/2 security keys for Web Authentication. Used by Firefox."
edition = "2018"
[badges]
travis-ci = { repository = "mozilla/authenticator-rs", branch = "master" }
maintenance = { status = "actively-developed" }
[features]
default = ["crypto_nss"]
binding-recompile = ["bindgen"]
webdriver = ["bytes", "warp", "tokio"]
# Crypto backends
# NOTE: These are mutually exclusive, but cargo does not support that.
# Selecting more than one will result in a compilation error!
# Default: NSS
crypto_dummy = []
crypto_openssl = ["openssl", "openssl-sys"]
crypto_nss = ["nss-gk-api", "pkcs11-bindings"]
gecko = ["nss-gk-api/gecko"]
[target.'cfg(target_os = "linux")'.dependencies]
libudev = "^0.2"
[target.'cfg(target_os = "freebsd")'.dependencies]
devd-rs = "0.3"
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.9"
[target.'cfg(target_os = "windows")'.dependencies]
memoffset = "0.8"
[target.'cfg(target_os = "windows")'.dependencies.winapi]
version = "^0.3"
features = [
"handleapi",
"hidclass",
"hidpi",
"hidusage",
"setupapi",
]
[build-dependencies]
bindgen = { version = "^0.58.1", optional = true }
[dependencies]
rand = "0.8"
log = "0.4"
libc = "0.2"
runloop = "0.1.0"
bitflags = "1.0"
tokio = { version = "1.17", optional = true, features = ["macros", "rt-multi-thread"] }
warp = { version = "0.3.2", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
serde_cbor = "0.11"
serde_json = "1.0"
bytes = { version = "0.5", optional = true, features = ["serde"] }
base64 = "^0.13"
sha2 = "^0.10.0"
cfg-if = "1.0"
# Crypto backends
openssl-sys = { version = "0.9", optional = true}
openssl = { version = "0.10", optional = true}
nss-gk-api = { version = "0.3.0", optional = true }
pkcs11-bindings = { version = "0.1.4", optional = true }
[dev-dependencies]
env_logger = "^0.6"
getopts = "^0.2"
assert_matches = "1.2"
rpassword = "5.0"