forked from confidential-containers/guest-components
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
69 lines (60 loc) · 2.93 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
[package]
name = "ocicrypt-rs"
version = "0.1.0"
description = "the OCI image spec implementation of container image encryption"
repository = "https://github.com/containers/ocicrypt-rs"
readme = "README.md"
license = "Apache-2.0"
authors = ["The ocicrypt Authors"]
edition = "2021"
[dependencies]
anyhow.workspace = true
aes = { workspace = true, optional = true }
async-trait = { workspace = true, optional = true }
crypto = { path = "../attestation-agent/deps/crypto", default-features = false, optional = true }
base64.workspace = true
base64-serde = { workspace = true, optional = true }
cfg-if.workspace = true
ctr = { workspace = true, optional = true }
hmac = { workspace = true, optional = true }
josekit = { version = ">=0.7", optional = true }
kbc = { path = "../attestation-agent/kbc", default-features = false, optional = true }
lazy_static.workspace = true
openssl = { workspace = true, features = ["vendored"], optional = true }
pin-project-lite = { version = "0.2.14", optional = true }
protobuf = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
resource_uri = { path = "../attestation-agent/deps/resource_uri", optional = true }
ring = { workspace = true, optional = true}
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
sha2 = { workspace = true, optional = true }
tokio = { workspace = true, features = ["rt-multi-thread"], optional = true }
tonic = { workspace = true, optional = true }
ttrpc = { workspace = true, features = ["async"], optional = true }
zeroize = { workspace = true, optional = true }
[build-dependencies]
tonic-build = { workspace = true, optional = true }
ttrpc-codegen = { workspace = true, optional = true }
[dev-dependencies]
aes-gcm.workspace = true
ctrlc = { version = "3.4", features = ["termination"] }
openssl = { workspace = true, features = ["vendored"]}
tokio = { workspace = true, features = ["time", "signal"] }
[features]
default = ["block-cipher-openssl", "keywrap-jwe", "keywrap-keyprovider-cmd"]
async-io = ["tokio"]
block-cipher = []
# Use ring as pseudo random number generator
block-cipher-ring = ["aes", "base64-serde", "ctr", "hmac", "ring", "pin-project-lite", "sha2", "kbc?/rust-crypto", "block-cipher"]
# Use openssl as pseudo random number generator
block-cipher-openssl = ["aes", "base64-serde", "ctr", "hmac", "openssl", "pin-project-lite", "sha2", "kbc?/openssl", "block-cipher"]
keywrap-jwe = ["josekit"]
keywrap-keyprovider = []
keywrap-keyprovider-cmd = ["keywrap-keyprovider"]
keywrap-keyprovider-grpc = ["keywrap-keyprovider", "prost", "tonic", "tokio/net"]
keywrap-keyprovider-ttrpc = ["keywrap-keyprovider", "protobuf", "async-trait", "ttrpc", "tokio"]
# Use KBC to request KEK
keywrap-keyprovider-native = ["keywrap-keyprovider", "tokio/net", "tokio/sync", "crypto/rust-crypto", "zeroize", "kbc/cc_kbc", "kbc/rust-crypto", "kbc/sample_kbc", "kbc/sgx-attester", "resource_uri"]
gen-proto-grpc = ["tonic-build"]
gen-proto-ttrpc = ["ttrpc-codegen"]