| [workspace] |
| members = [ |
| "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/crypto_provider", |
| "crypto/crypto_provider_openssl", |
| "crypto/crypto_provider_rustcrypto", |
| "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" } |
| 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 = {version = "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 = "1.0.1", default-features = false } |
| ed25519 = "1.5.3" |
| 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-pre.1", features = ["u64_backend"], default-features = false } |
| subtle = { version = "2.4.1", default-features = false } |
| rand_chacha = { version = "0.3.1", default-features = false } |
| p256 = { version = "0.12.0", default-features = false } |
| sec1 = "0.3.0" |
| # AOSP's protobuf is only at 2.27.1 (http://cs/android-internal/external/rust/crates/protobuf/METADATA) |
| protobuf = "2.27.1" |
| protoc-rust = "2.27.1" |
| jni = "0.21.1" |
| spin = "0.9.4" |
| 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.45" |
| cfg-if = "1.0.0" |
| blake2 = "0.10.4" |
| hdrhistogram = "7.5.0" |
| regex = "1.7.0" |
| xts-mode = "0.5.1" |
| |
| [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" |