aboutsummaryrefslogtreecommitdiff
path: root/nearby/Cargo.toml
blob: 1d64014d5779ebbed24a762c2eca2f622a8d854f (plain)
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[workspace]
members = [
    "connections/ukey2/lock_adapter",
    "connections/ukey2/ukey2",
    "connections/ukey2/ukey2_connections",
    "connections/ukey2/ukey2_c_ffi",
    "connections/ukey2/ukey2_jni",
    "connections/ukey2/ukey2_proto",
    "connections/ukey2/ukey2_shell",
    "crypto/bssl-crypto",
    "crypto/crypto_provider",
    "crypto/crypto_provider_openssl",
    "crypto/crypto_provider_rustcrypto",
    "crypto/crypto_provider_stubs",
    "crypto/crypto_provider_default",
    "crypto/rand_core_05_adapter",
    "presence/array_view",
    "presence/ldt",
    "presence/ldt_np_adv",
    "presence/ldt_tbc",
    "presence/np_hkdf",
    "presence/rand_ext",
    "presence/test_helper",
    "presence/xts_aes",
]

# TODO: remove ldt_np_adv_ffi once support for no_std + alloc no longer requires nightly
# TODO: remove boringssl once we figure out a better plan for integrating the build system
exclude = ["presence/ldt_np_adv_ffi", "crypto/crypto_provider_boringssl"]

[workspace.dependencies]
array_ref = { path = "presence/array_ref" }
array_view = { path = "presence/array_view" }
crypto_provider = { path = "crypto/crypto_provider" }
crypto_provider_openssl = { path = "crypto/crypto_provider_openssl" }
crypto_provider_rustcrypto = { path = "crypto/crypto_provider_rustcrypto" }
crypto_provider_stubs = { path = "crypto/crypto_provider_stubs" }
crypto_provider_default = {path = "crypto/crypto_provider_default" }
crypto_provider_test = { path = "crypto/crypto_provider_test" }
lock_adapter = { path = "connections/ukey2/lock_adapter" }
rand_core_05_adapter = { path = "crypto/rand_core_05_adapter" }
rand_ext = { path = "presence/rand_ext" }
test_helper = { path = "presence/test_helper" }
ukey2_proto = { path = "connections/ukey2/ukey2_proto" }
np_hkdf = { path = "presence/np_hkdf" }
xts_aes = { path = "presence/xts_aes" }
ldt = { path = "presence/ldt" }
ldt_np_adv = { path = "presence/ldt_np_adv" }
ldt_tbc = { path = "presence/ldt_tbc" }

# RustCrypto crates
rand = { version = "0.8.5", default-features = false }
rand_core = "0.6.4"
rand_pcg = "0.3.1"
sha2 = { version = "0.10.2", default-features = false }
aes = "0.8.2"
cbc = { version = "0.1.2", features = ["alloc", "block-padding"] }
ctr = "0.9.1"
hkdf = "0.12.3"
hmac = "0.12.1"
ed25519-dalek = { version = "2.0.0-rc.2", default-features = false }
ed25519 = "2.2.0"
aes-gcm = "0.10.1"
hex = "0.4.3"
serde_json = { version = "1.0.91", features = ["alloc"], default-features = false }
base64 = "0.21.0"
x25519-dalek = { version = "2.0.0-rc.2", default-features = false }
subtle = { version = "2.4.1", default-features = false }
rand_chacha = { version = "0.3.1", default-features = false }
p256 = { version = "0.13.0", default-features = false }
sec1 = "0.7.1"
protobuf = "3.2.0"
protobuf-codegen = "3.2.0"
jni = "0.21.1"
spin = "0.9.8"
anyhow = "1.0.64"
log = "0.4.17"
env_logger = "0.10.0"
criterion = { version = "0.4.0", features = ["html_reports"] }
clap = { version = "4.0.25", features = ["derive"] }
lazy_static = { version = "1.4.0", features = ["spin_no_std"] }
hex-literal = "0.3.4"
openssl = "0.10.48"
cfg-if = "1.0.0"
blake2 = "0.10.4"
hdrhistogram = "7.5.0"
regex = "1.7.0"
xts-mode = "0.5.1"
rstest = "0.16.0"
rstest_reuse = "0.5.0"
wycheproof = "0.4.0"

[workspace.package]
version = "0.1.0"
edition = "2021"
publish = false

[profile.test]
# speed up test execution
opt-level = 3

[profile.bench]
# Since xts, ldt, etc are in separate crates, use LTO to allow cross-crate inlining.
# fat vs thin: thin compiles a lot faster, and doesn't seem any slower.
lto = "thin"