forked from latchset/kryoptic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
107 lines (88 loc) · 2.73 KB
/
Cargo.toml
File metadata and controls
107 lines (88 loc) · 2.73 KB
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
106
107
[workspace]
members = ["ossl", "cdylib", "tools"]
default-members = [".", "ossl", "cdylib"]
[workspace.package]
version = "1.2.0"
edition = "2021"
description = "A PKCS #11 software token written in Rust"
homepage = "https://github.com/latchset/kryoptic"
repository = "https://github.com/latchset/kryoptic"
license = "GPL-3.0-or-later"
[workspace.dependencies]
kryoptic = { version = "1.2.0", path = ".", default-features = false }
ossl = { version = "1.2.0", path = "ossl", default-features = false }
[package]
name = "kryoptic"
version.workspace = true
edition.workspace = true
description.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
exclude = [
".github/*",
"openssl/*",
]
[lib]
test = true
[build-dependencies]
bindgen = "0.71"
[dependencies]
ossl.workspace = true
asn1 = "0.21"
bimap = "0.6.3"
bitflags = "2.4.1"
constant_time_eq = "0.3.0"
data-encoding = "2.4.0"
hex = "0.4.3"
itertools = "0.14.0"
libc = "0.2.151"
log = { version = "0.4.27", default-features = false, features = ["std"], optional = true }
num-bigint = "0.4.4"
num-integer = "0.1.45"
num-traits = "0.2.17"
rusqlite = { version = "0.31.0", optional = true }
serde = { version = "1.0.180", features = ["derive"] }
serde_json = "1.0.104"
serial_test = "3.1.1"
simplelog = { version = "0.12.2", default-features = false, optional = true }
toml = { version = "0.8.19", default-features = false, features = ["display", "parse"] }
uuid = { version = "1.4.1", features = ["v4"] }
[dev-dependencies]
ossl = { version = "1.2.0", path = "ossl", default-features = false, features = ["dummy-integrity"] }
[features]
aes = []
ecc = []
ecdsa = ["ecc"]
ecdh = ["ecc"]
eddsa = ["ecc", "ossl/ossl320"]
ec_montgomery = ["ecc"]
ffdh = []
hash = []
hkdf = ["hmac"]
hmac = ["hash"]
no_sha1 = []
pbkdf2 = ["hmac"]
rsa = []
sp800_108 = []
sshkdf = []
tlskdf = []
simplekdf = []
# Databases
memorydb = ["aes", "hkdf", "pbkdf2"] # for encryption
sqlitedb = ["dep:rusqlite", "aes", "hkdf", "pbkdf2"]
nssdb = ["dep:rusqlite", "aes", "hmac", "pbkdf2"]
default = ["standard", "dynamic"]
ecc_min = ["ecdsa", "ecdh"]
ecc_all = ["ecc_min", "ec_montgomery", "eddsa"]
hash_all = ["hash", "hmac"]
kdf_all = ["hkdf", "pbkdf2", "sp800_108", "sshkdf", "tlskdf", "simplekdf"]
standard = ["sqlitedb", "ecc_all", "ffdh", "hash_all", "kdf_all", "rsa"]
fips = ["ossl/fips", "sqlitedb", "rusqlite/bundled", "aes", "ecc_all", "ffdh", "hash_all", "kdf_all", "rsa", "pqc"]
dynamic = ["ossl/dynamic"] # Builds against system libcrypto.so
log = ["dep:log", "dep:simplelog", "ossl/log"] # Enables error/info tracing
slow = [] # Enables slow tests
mlkem = ["ossl/ossl350"]
mldsa = ["hash", "ossl/ossl350"]
pqc = ["mlkem", "mldsa"]
minimal = ["sqlitedb", "aes", "ecc_min", "hash_all", "rsa"]