diff --git a/Cargo.lock b/Cargo.lock index 0a786b90..de5f34d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,7 +76,7 @@ dependencies = [ "derive_more 2.1.1", "encoding_rs", "flate2", - "foldhash", + "foldhash 0.1.5", "futures-core", "h2 0.3.27", "http 0.2.12", @@ -244,7 +244,7 @@ dependencies = [ "cookie", "derive_more 2.1.1", "encoding_rs", - "foldhash", + "foldhash 0.1.5", "futures-core", "futures-util", "impl-more", @@ -290,7 +290,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common 0.1.7", + "crypto-common", "generic-array", ] @@ -301,18 +301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher 0.4.4", - "cpufeatures", -] - -[[package]] -name = "aes" -version = "0.9.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9e1c818b25efb32214df89b0ec22f01aa397aaeb718d1022bf0635a3bfd1a8" -dependencies = [ - "cfg-if", - "cipher 0.5.0-rc.5", + "cipher", "cpufeatures", ] @@ -323,8 +312,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", - "aes 0.8.4", - "cipher 0.4.4", + "aes", + "cipher", "ctr", "ghash", "subtle", @@ -338,52 +327,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d" dependencies = [ "aead", - "aes 0.8.4", - "cipher 0.4.4", + "aes", + "cipher", "ctr", "polyval", "subtle", "zeroize", ] -[[package]] -name = "aes-keywrap" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b6f24a1f796bc46415a1d0d18dc0a8203ccba088acf5def3291c4f61225522" -dependencies = [ - "aes 0.9.0-rc.2", - "byteorder", -] - -[[package]] -name = "agnostic-lite" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2460d4e5c7f8d33d33655d874c80ac888bf215794769bb7dcaa67d1a56fafb56" -dependencies = [ - "async-io", - "atomic-time", - "feature-extension-for-smol", - "feature-extension-for-wasm-bindgen-futures", - "futures-util", - "paste", - "pin-project", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.16", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.12" @@ -467,15 +418,6 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "arc-swap" version = "1.7.1" @@ -494,12 +436,6 @@ dependencies = [ "password-hash", ] -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - [[package]] name = "arrayvec" version = "0.7.6" @@ -560,101 +496,6 @@ dependencies = [ "wait-timeout", ] -[[package]] -name = "async-channel" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-executor" -version = "1.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "pin-project-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" -dependencies = [ - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-lock" -version = "3.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", -] - [[package]] name = "async-recursion" version = "1.1.1" @@ -666,36 +507,6 @@ dependencies = [ "syn", ] -[[package]] -name = "async-signal" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-sqlite" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e56a86b242350ea4ff78866f8253182dd49dddb1decd4e596b918098ed250fd2" -dependencies = [ - "crossbeam-channel", - "futures-channel", - "futures-util", - "rusqlite", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -718,12 +529,6 @@ dependencies = [ "syn", ] -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - [[package]] name = "async-trait" version = "0.1.89" @@ -735,25 +540,6 @@ dependencies = [ "syn", ] -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", -] - -[[package]] -name = "atomic-time" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9622f5c6fb50377516c70f65159e70b25465409760c6bd6d4e581318bf704e83" -dependencies = [ - "once_cell", - "portable-atomic", -] - [[package]] name = "atomic-waker" version = "1.1.2" @@ -766,28 +552,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" -[[package]] -name = "aws-lc-rs" -version = "1.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88aab2464f1f25453baa7a07c84c5b7684e274054ba06817f382357f77a288" -dependencies = [ - "aws-lc-sys", - "zeroize", -] - -[[package]] -name = "aws-lc-sys" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45afffdee1e7c9126814751f88dddc747f41d91da16c9551a0f1e8a11e788a1" -dependencies = [ - "cc", - "cmake", - "dunce", - "fs_extra", -] - [[package]] name = "axum" version = "0.7.9" @@ -880,29 +644,11 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "binstring" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0669d5a35b64fdb5ab7fb19cae13148b6b5cbdf4b8247faf54ece47f699c8cef" - [[package]] name = "bitflags" version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -dependencies = [ - "serde_core", -] [[package]] name = "blake2" @@ -913,17 +659,6 @@ dependencies = [ "digest", ] -[[package]] -name = "blake2b_simd" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -933,28 +668,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blocking" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - [[package]] name = "brotli" version = "8.0.2" @@ -987,6 +700,15 @@ dependencies = [ "serde", ] +[[package]] +name = "btoi" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad" +dependencies = [ + "num-traits", +] + [[package]] name = "bumpalo" version = "3.19.1" @@ -1020,15 +742,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher 0.4.4", -] - [[package]] name = "cc" version = "1.2.50" @@ -1047,12 +760,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chacha20" version = "0.9.1" @@ -1060,7 +767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -1072,7 +779,7 @@ checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", - "cipher 0.4.4", + "cipher", "poly1305", "zeroize", ] @@ -1124,21 +831,11 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common 0.1.7", - "inout 0.1.4", + "crypto-common", + "inout", "zeroize", ] -[[package]] -name = "cipher" -version = "0.5.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b557bad79bc426785757001b5d732f323ae965363983d758295c1a1935496880" -dependencies = [ - "crypto-common 0.2.0-rc.11", - "inout 0.2.2", -] - [[package]] name = "clap" version = "4.5.53" @@ -1177,43 +874,6 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" -[[package]] -name = "cloudproof_findex" -version = "5.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a25dad7ff37557df4cb27a20d80727d75dfa2ddcbed14f02761e8bfb1f595741" -dependencies = [ - "async-trait", - "cosmian_crypto_core 9.6.0", - "cosmian_findex 5.0.3", - "redis 0.23.3", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", -] - -[[package]] -name = "cmake" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" -dependencies = [ - "cc", -] - -[[package]] -name = "coarsetime" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58eb270476aa4fc7843849f8a35063e8743b4dbcdf6dd0f8ea0886980c204c2" -dependencies = [ - "libc", - "wasix", - "wasm-bindgen", -] - [[package]] name = "combine" version = "4.6.7" @@ -1228,15 +888,6 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "console" version = "0.15.11" @@ -1255,9 +906,6 @@ name = "const-oid" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -dependencies = [ - "arbitrary", -] [[package]] name = "const-random" @@ -1279,12 +927,6 @@ dependencies = [ "tiny-keccak", ] -[[package]] -name = "constant_time_eq" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" - [[package]] name = "convert_case" version = "0.4.0" @@ -1342,7 +984,7 @@ dependencies = [ "base64 0.22.1", "clap", "cosmian_config_utils 0.2.0", - "cosmian_findex 8.0.0", + "cosmian_findex", "cosmian_findex_cli", "cosmian_kms_cli", "cosmian_logger 0.6.0", @@ -1403,7 +1045,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f12eb7e96555b6b8841966fa264e7a6dfe5e39ad0733317c088c52259e99993c" dependencies = [ - "cosmian_crypto_core 10.3.0", + "cosmian_crypto_core", "ml-kem", "serde", "serde_json", @@ -1411,42 +1053,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "cosmian_crypto_core" -version = "9.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1af2d1b2b48bf77eb8719f4d66c6ef80cfecbd1f82f8c6ed70945cea1323a0" -dependencies = [ - "aead", - "aes-gcm", - "blake2", - "chacha20", - "chacha20poly1305", - "crypto_box", - "curve25519-dalek", - "digest", - "ed25519-dalek", - "elliptic-curve", - "getrandom 0.2.16", - "leb128", - "p192", - "p224", - "p256", - "p384", - "pkcs8", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "rsa", - "sha1", - "sha2", - "sha3", - "signature", - "tiny-keccak", - "uuid", - "x509-cert", - "zeroize", -] - [[package]] name = "cosmian_crypto_core" version = "10.3.0" @@ -1474,42 +1080,27 @@ dependencies = [ [[package]] name = "cosmian_findex" -version = "5.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb51a6ded995165d6343c3b74d6f25191a02cbd6a2148a1403c0583a04e9e94" -dependencies = [ - "async-trait", - "base64 0.21.7", - "cosmian_crypto_core 9.6.0", - "never", - "rand 0.8.5", - "tiny-keccak", - "zeroize", -] - -[[package]] -name = "cosmian_findex" -version = "8.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0b68f0bc9f2fdcdd01cbe32e2061c0a7c670a39b66d4178f394fa108ffbcfe5" +checksum = "d65dc3cc50a14e772350b8ed87da19830856ce7d90e6f6f37870ffb8c0f923c2" dependencies = [ - "aes 0.8.4", - "agnostic-lite", - "cosmian_crypto_core 10.3.0", + "aes", + "cosmian_crypto_core", "cosmian_sse_memories", "criterion", + "tokio", "xts-mode", ] [[package]] name = "cosmian_findex_cli" -version = "0.4.11" +version = "0.4.12" dependencies = [ "assert_cmd", "base64 0.22.1", "clap", "cosmian_config_utils 0.2.0", - "cosmian_findex 8.0.0", + "cosmian_findex", "cosmian_findex_client", "cosmian_findex_structs", "cosmian_kms_cli", @@ -1527,10 +1118,10 @@ dependencies = [ [[package]] name = "cosmian_findex_client" -version = "0.4.11" +version = "0.4.12" dependencies = [ "base64 0.22.1", - "cosmian_findex 8.0.0", + "cosmian_findex", "cosmian_findex_structs", "cosmian_http_client", "cosmian_kms_cli", @@ -1547,7 +1138,7 @@ dependencies = [ [[package]] name = "cosmian_findex_server" -version = "0.4.11" +version = "0.4.12" dependencies = [ "actix-cors", "actix-identity", @@ -1555,25 +1146,25 @@ dependencies = [ "actix-tls", "actix-web", "alcoholic_jwt", - "async-sqlite", "async-trait", "chrono", "clap", - "cosmian_crypto_core 10.3.0", - "cosmian_findex 8.0.0", + "cosmian_crypto_core", "cosmian_findex_structs", "cosmian_logger 0.6.0", "cosmian_sse_memories", "dotenvy", "futures", "openssl", - "redis 0.32.7", + "redis", "reqwest", + "rusqlite", "serde", "serde_json", "tempfile", "thiserror 2.0.18", "tokio", + "tokio-rusqlite", "toml 0.9.10+spec-1.1.0", "tracing", "url", @@ -1583,11 +1174,11 @@ dependencies = [ [[package]] name = "cosmian_findex_structs" -version = "0.4.11" +version = "0.4.12" dependencies = [ "base64 0.22.1", - "cosmian_crypto_core 10.3.0", - "cosmian_findex 8.0.0", + "cosmian_crypto_core", + "cosmian_findex", "cosmian_sse_memories", "thiserror 2.0.18", "tracing", @@ -1596,28 +1187,26 @@ dependencies = [ [[package]] name = "cosmian_http_client" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2e7a15e017fe822624c88ddb306907126734e9a9f495a76f3455aa97eb463b" +checksum = "44b2705be438091a343f880385c80d46ecafda93f47c95801f7cf42a54a98588" dependencies = [ "actix-web", "derive_more 2.1.1", "oauth2", "reqwest", - "rustls", "serde", "serde_json", "thiserror 2.0.18", "tokio", "tracing", "url", - "webpki-roots", "x509-cert", ] [[package]] name = "cosmian_kmip" -version = "5.14.1" +version = "5.15.0" dependencies = [ "base64 0.22.1", "bitflags", @@ -1643,7 +1232,7 @@ dependencies = [ [[package]] name = "cosmian_kms_access" -version = "5.14.1" +version = "5.15.0" dependencies = [ "cosmian_kmip", "serde", @@ -1651,14 +1240,14 @@ dependencies = [ [[package]] name = "cosmian_kms_base_hsm" -version = "5.14.1" +version = "5.15.0" dependencies = [ "async-trait", "cosmian_kms_interfaces", "cosmian_logger 0.5.5", "futures", "libloading", - "lru", + "lru 0.16.3", "pkcs11-sys", "rand 0.9.2", "thiserror 2.0.18", @@ -1668,7 +1257,7 @@ dependencies = [ [[package]] name = "cosmian_kms_cli" -version = "5.14.1" +version = "5.15.0" dependencies = [ "base64 0.22.1", "clap", @@ -1679,7 +1268,7 @@ dependencies = [ "cosmian_logger 0.5.5", "der", "hex", - "jwt-simple", + "jsonwebtoken", "leb128", "num-format", "pem", @@ -1699,9 +1288,9 @@ dependencies = [ [[package]] name = "cosmian_kms_client" -version = "5.14.1" +version = "5.15.0" dependencies = [ - "cosmian_crypto_core 10.3.0", + "cosmian_crypto_core", "cosmian_http_client", "cosmian_kms_client_utils", "cosmian_logger 0.5.5", @@ -1715,7 +1304,7 @@ dependencies = [ [[package]] name = "cosmian_kms_client_utils" -version = "5.14.1" +version = "5.15.0" dependencies = [ "base64 0.22.1", "clap", @@ -1734,16 +1323,17 @@ dependencies = [ [[package]] name = "cosmian_kms_crypto" -version = "5.14.1" +version = "5.15.0" dependencies = [ "aes-gcm-siv", "argon2", "base64 0.22.1", "cosmian_cover_crypt", - "cosmian_crypto_core 10.3.0", + "cosmian_crypto_core", "cosmian_kmip", "cosmian_logger 0.5.5", "hex", + "k256", "num-bigint-dig", "openssl", "p256", @@ -1759,7 +1349,7 @@ dependencies = [ [[package]] name = "cosmian_kms_interfaces" -version = "5.14.1" +version = "5.15.0" dependencies = [ "async-trait", "cosmian_kmip", @@ -1772,7 +1362,7 @@ dependencies = [ [[package]] name = "cosmian_kms_server" -version = "5.14.1" +version = "5.15.0" dependencies = [ "actix-cors", "actix-files", @@ -1797,7 +1387,6 @@ dependencies = [ "hex", "jsonwebtoken", "num-bigint-dig", - "openidconnect", "openssl", "opentelemetry 0.27.1", "opentelemetry-otlp 0.27.0", @@ -1825,32 +1414,33 @@ dependencies = [ [[package]] name = "cosmian_kms_server_database" -version = "5.14.1" +version = "5.15.0" dependencies = [ "async-trait", - "cloudproof_findex", - "cosmian_findex 8.0.0", + "cosmian_findex", "cosmian_kmip", "cosmian_kms_crypto", "cosmian_kms_interfaces", "cosmian_logger 0.5.5", "cosmian_sse_memories", - "lru", - "num-bigint-dig", + "deadpool-postgres", + "lru 0.16.3", + "mysql_async", "num_cpus", + "openssl", + "postgres-openssl", "rawsql", - "redis 0.23.3", - "redis 0.32.7", + "redis", + "rusqlite", "serde", "serde_json", - "sqlx", "strum", "thiserror 2.0.18", "tokio", + "tokio-postgres", + "tokio-rusqlite", "url", "uuid", - "version-compare", - "zeroize", ] [[package]] @@ -1914,17 +1504,16 @@ dependencies = [ name = "cosmian_pkcs11_module" version = "1.7.1" dependencies = [ - "bincode", "const-oid", "cosmian_logger 0.6.0", "hex", "log", "once_cell", + "openssl", "p256", "pkcs1", "pkcs11-sys", "rand 0.9.2", - "rsa", "serial_test", "strum_macros 0.26.4", "thiserror 2.0.18", @@ -1934,13 +1523,12 @@ dependencies = [ [[package]] name = "cosmian_sse_memories" -version = "8.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21de5515e966a676e8d85097960e9c69c134eafdb6044b381d7ffff60c6b8c1" +checksum = "48c34c748901cac5415742e6eef7a79024b924ab9ea28d030baf455784b9cc62" dependencies = [ - "agnostic-lite", - "cosmian_crypto_core 10.3.0", - "redis 0.32.7", + "cosmian_crypto_core", + "redis", "tokio", ] @@ -1953,21 +1541,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - [[package]] name = "crc32fast" version = "1.5.0" @@ -2061,7 +1634,7 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypt2pay_pkcs11_loader" -version = "5.14.1" +version = "5.15.0" dependencies = [ "cosmian_kms_base_hsm", ] @@ -2089,15 +1662,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-common" -version = "0.2.0-rc.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d2bcc93d5cde6659e8649fc412894417ebc14dee54cfc6ee439c683a4a58342" -dependencies = [ - "hybrid-array 0.4.5", -] - [[package]] name = "crypto_box" version = "0.9.1" @@ -2120,7 +1684,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1" dependencies = [ "aead", - "cipher 0.4.4", + "cipher", "generic-array", "poly1305", "salsa20", @@ -2149,19 +1713,13 @@ dependencies = [ "memchr", ] -[[package]] -name = "ct-codecs" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b10589d1a5e400d61f9f38f12f884cfd080ff345de8f17efda36fe0e4a02aa8" - [[package]] name = "ctr" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] @@ -2193,9 +1751,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.21.3" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -2203,9 +1761,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.3" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", @@ -2217,9 +1775,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.21.3" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", @@ -2232,13 +1790,47 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +[[package]] +name = "deadpool" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be2b1d1d6ec8d846f05e137292d0b89133caf95ef33695424c09568bdd39b1b" +dependencies = [ + "deadpool-runtime", + "lazy_static", + "num_cpus", + "tokio", +] + +[[package]] +name = "deadpool-postgres" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d697d376cbfa018c23eb4caab1fd1883dd9c906a8c034e8d9a3cb06a7e0bef9" +dependencies = [ + "async-trait", + "deadpool", + "getrandom 0.2.16", + "tokio", + "tokio-postgres", + "tracing", +] + +[[package]] +name = "deadpool-runtime" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" +dependencies = [ + "tokio", +] + [[package]] name = "der" version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "arbitrary", "const-oid", "der_derive", "flagset", @@ -2281,17 +1873,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "derive_more" version = "0.99.20" @@ -2356,7 +1937,7 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "const-oid", - "crypto-common 0.1.7", + "crypto-common", "subtle", ] @@ -2386,18 +1967,6 @@ version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - [[package]] name = "ecdsa" version = "0.16.9" @@ -2422,16 +1991,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519-compact" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ce99a9e19c84beb4cc35ece85374335ccc398240712114c85038319ed709bd" -dependencies = [ - "ct-codecs", - "getrandom 0.3.4", -] - [[package]] name = "ed25519-dalek" version = "2.2.0" @@ -2451,9 +2010,6 @@ name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -dependencies = [ - "serde", -] [[package]] name = "elliptic-curve" @@ -2467,7 +2023,6 @@ dependencies = [ "ff", "generic-array", "group", - "hkdf", "pem-rfc7468", "pkcs8", "rand_core 0.6.4", @@ -2519,25 +2074,10 @@ dependencies = [ ] [[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" +name = "fallible-iterator" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener", - "pin-project-lite", -] +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fallible-iterator" @@ -2557,29 +2097,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "feature-extension-for-smol" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680af37225fbd411cf212f49aff82d8d00c5a882d68a9d35d725370387f163ce" -dependencies = [ - "async-io", - "futures-channel", - "futures-util", - "smol", -] - -[[package]] -name = "feature-extension-for-wasm-bindgen-futures" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c72525d3b1e0d516efba1ea6bf303774580ebe57c4b55cab5fc4c1d9c86bb2" -dependencies = [ - "futures-channel", - "futures-timer", - "wasm-bindgen-futures", -] - [[package]] name = "ff" version = "0.13.1" @@ -2615,6 +2132,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", + "libz-sys", "miniz_oxide", ] @@ -2627,17 +2145,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "flume" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" -dependencies = [ - "futures-core", - "futures-sink", - "spin", -] - [[package]] name = "fnv" version = "1.0.7" @@ -2650,6 +2157,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -2674,12 +2187,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - [[package]] name = "futures" version = "0.3.31" @@ -2722,36 +2229,12 @@ dependencies = [ "futures-util", ] -[[package]] -name = "futures-intrusive" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" -dependencies = [ - "futures-core", - "lock_api", - "parking_lot", -] - [[package]] name = "futures-io" version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -2775,16 +2258,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper", -] - [[package]] name = "futures-util" version = "0.3.31" @@ -2844,7 +2317,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -2855,11 +2328,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi", "wasip2", - "wasm-bindgen", ] [[package]] @@ -2878,18 +2349,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "group" version = "0.13.0" @@ -2961,9 +2420,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash 0.8.12", -] [[package]] name = "hashbrown" @@ -2973,7 +2429,7 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", ] [[package]] @@ -2981,14 +2437,10 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ - "hashbrown 0.14.5", + "allocator-api2", + "equivalent", + "foldhash 0.2.0", ] [[package]] @@ -3013,52 +2465,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "hmac-sha1-compact" -version = "1.1.6" +name = "hex" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1a4e188bd5d537801721276d1771f1cea235cd94961ddb2828eb76e16688356" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] -name = "hmac-sha256" -version = "1.1.12" +name = "hkdf" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "digest", + "hmac", ] [[package]] -name = "hmac-sha512" -version = "1.1.7" +name = "hmac" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89e8d20b3799fa526152a5301a771eaaad80857f83e01b23216ceaafb2d9280" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ "digest", ] @@ -3143,15 +2571,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "hybrid-array" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" -dependencies = [ - "typenum", -] - [[package]] name = "hyper" version = "1.8.1" @@ -3189,7 +2608,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", ] [[package]] @@ -3393,7 +2811,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde", ] [[package]] @@ -3404,8 +2821,6 @@ checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", "hashbrown 0.16.1", - "serde", - "serde_core", ] [[package]] @@ -3414,19 +2829,9 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "block-padding", "generic-array", ] -[[package]] -name = "inout" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" -dependencies = [ - "hybrid-array 0.4.5", -] - [[package]] name = "ipnet" version = "2.11.0" @@ -3461,15 +2866,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.16" @@ -3511,32 +2907,6 @@ dependencies = [ "simple_asn1", ] -[[package]] -name = "jwt-simple" -version = "0.12.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3991f54af4b009bb6efe01aa5a4fcce9ca52f3de7a104a3f6b6e2ad36c852c48" -dependencies = [ - "anyhow", - "binstring", - "blake2b_simd", - "coarsetime", - "ct-codecs", - "ed25519-compact", - "hmac-sha1-compact", - "hmac-sha256", - "hmac-sha512", - "k256", - "p256", - "p384", - "rand 0.8.5", - "serde", - "serde_json", - "superboring", - "thiserror 2.0.18", - "zeroize", -] - [[package]] name = "k256" version = "0.13.4" @@ -3570,9 +2940,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "keyed_priority_queue" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d" +dependencies = [ + "indexmap 2.12.1", +] + [[package]] name = "kmip-derive" -version = "5.14.1" +version = "5.15.0" dependencies = [ "quote", "syn", @@ -3623,20 +3002,30 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ "bitflags", "libc", - "redox_syscall 0.6.0", ] [[package]] name = "libsqlite3-sys" -version = "0.30.1" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" dependencies = [ "cc", "pkg-config", @@ -3689,18 +3078,21 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" -version = "0.12.5" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" dependencies = [ "hashbrown 0.15.5", ] [[package]] -name = "lru-slab" -version = "0.1.2" +name = "lru" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +dependencies = [ + "hashbrown 0.16.1", +] [[package]] name = "matchers" @@ -3773,7 +3165,7 @@ checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.61.2", ] @@ -3783,13 +3175,88 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97befee0c869cb56f3118f49d0f9bb68c9e3f380dec23c1100aedc4ec3ba239a" dependencies = [ - "hybrid-array 0.2.3", + "hybrid-array", "kem", "rand_core 0.6.4", "sha3", "zeroize", ] +[[package]] +name = "mysql-common-derive" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66f62cad7623a9cb6f8f64037f0c4f69c8db8e82914334a83c9788201c2c1bfa" +dependencies = [ + "darling", + "heck", + "num-bigint", + "proc-macro-crate", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn", + "termcolor", + "thiserror 2.0.18", +] + +[[package]] +name = "mysql_async" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "277ce2f2459b2af4cc6d0a0b7892381f80800832f57c533f03e2845f4ea331ea" +dependencies = [ + "bytes", + "crossbeam-queue", + "flate2", + "futures-core", + "futures-sink", + "futures-util", + "keyed_priority_queue", + "lru 0.14.0", + "mysql_common", + "native-tls", + "pem", + "percent-encoding", + "rand 0.9.2", + "serde", + "serde_json", + "socket2 0.5.10", + "thiserror 2.0.18", + "tokio", + "tokio-native-tls", + "tokio-util", + "twox-hash", + "url", +] + +[[package]] +name = "mysql_common" +version = "0.35.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb9f371618ce723f095c61fbcdc36e8936956d2b62832f9c7648689b338e052" +dependencies = [ + "base64 0.22.1", + "bitflags", + "btoi", + "byteorder", + "bytes", + "crc32fast", + "flate2", + "getrandom 0.3.4", + "mysql-common-derive", + "num-bigint", + "num-traits", + "regex", + "saturating", + "serde", + "serde_json", + "sha1", + "sha2", + "thiserror 2.0.18", + "uuid", +] + [[package]] name = "native-tls" version = "0.2.14" @@ -3807,12 +3274,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "never" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96aba5aa877601bb3f6dd6a63a969e1f82e60646e81e71b14496995e9853c91" - [[package]] name = "nom" version = "7.1.3" @@ -3908,7 +3369,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -3977,37 +3437,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "openidconnect" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c6709ba2ea764bbed26bce1adf3c10517113ddea6f2d4196e4851757ef2b2" -dependencies = [ - "base64 0.21.7", - "chrono", - "dyn-clone", - "ed25519-dalek", - "hmac", - "http 1.4.0", - "itertools 0.10.5", - "log", - "oauth2", - "p256", - "p384", - "rand 0.8.5", - "rsa", - "serde", - "serde-value", - "serde_json", - "serde_path_to_error", - "serde_plain", - "serde_with", - "sha2", - "subtle", - "thiserror 1.0.69", - "url", -] - [[package]] name = "openssl" version = "0.10.75" @@ -4214,15 +3643,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-multimap" version = "0.7.3" @@ -4233,30 +3653,6 @@ dependencies = [ "hashbrown 0.14.5", ] -[[package]] -name = "p192" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0533bc6c238f2669aab8db75ae52879dc74e88d6bd3685bd4022a00fa85cd2" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sec1", -] - -[[package]] -name = "p224" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c06436d66652bc2f01ade021592c80a2aad401570a18aa18b82e440d2b9aa1" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - [[package]] name = "p256" version = "0.13.2" @@ -4269,24 +3665,6 @@ dependencies = [ "sha2", ] -[[package]] -name = "p384" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - [[package]] name = "parking_lot" version = "0.12.5" @@ -4305,7 +3683,7 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.18", + "redox_syscall", "smallvec", "windows-link", ] @@ -4321,22 +3699,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] - [[package]] name = "pem" version = "3.0.6" @@ -4362,6 +3724,25 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_shared", + "serde", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.10" @@ -4394,17 +3775,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - [[package]] name = "pkcs1" version = "0.7.5" @@ -4412,7 +3782,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ "der", - "pkcs8", "spki", ] @@ -4422,21 +3791,6 @@ version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f9274ee0f6bf35f62117a120fa66885f3839bd5b54f6a2a9783694e3fa90cb3" -[[package]] -name = "pkcs5" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" -dependencies = [ - "aes 0.8.4", - "cbc", - "der", - "pbkdf2", - "scrypt", - "sha2", - "spki", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -4444,8 +3798,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", - "pkcs5", - "rand_core 0.6.4", "spki", ] @@ -4478,23 +3830,9 @@ checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" name = "plotters-svg" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "polling" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "windows-sys 0.61.2", +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", ] [[package]] @@ -4521,10 +3859,48 @@ dependencies = [ ] [[package]] -name = "portable-atomic" -version = "1.12.0" +name = "postgres-openssl" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f86f073ad570f76e9e278ce6f05775fc723eed7daa6b4f9c2aa078080a564a0" +dependencies = [ + "openssl", + "tokio", + "tokio-openssl", + "tokio-postgres", +] + +[[package]] +name = "postgres-protocol" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee9dd5fe15055d2b6806f4736aa0c9637217074e224bbec46d4041b91bb9491" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes", + "fallible-iterator 0.2.0", + "hmac", + "md-5", + "memchr", + "rand 0.9.2", + "sha2", + "stringprep", +] + +[[package]] +name = "postgres-types" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f59e70c4aef1e55797c2e8fd94a4f2a973fc972cfde0e0b05f683667b0cd39dd" +checksum = "54b858f82211e84682fecd373f68e1ceae642d8d751a1ebd13f33de6257b3e20" +dependencies = [ + "bytes", + "fallible-iterator 0.2.0", + "postgres-protocol", + "serde_core", + "serde_json", + "uuid", +] [[package]] name = "potential_utf" @@ -4589,6 +3965,37 @@ dependencies = [ "elliptic-curve", ] +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit 0.23.10+spec-1.0.0", +] + +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "proc-macro2" version = "1.0.103" @@ -4615,7 +4022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.10.5", "proc-macro2", "quote", "syn", @@ -4623,7 +4030,7 @@ dependencies = [ [[package]] name = "proteccio_pkcs11_loader" -version = "5.14.1" +version = "5.15.0" dependencies = [ "cosmian_kms_base_hsm", ] @@ -4638,61 +4045,6 @@ dependencies = [ "serde", ] -[[package]] -name = "quinn" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" -dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls", - "socket2 0.6.1", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" -dependencies = [ - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.2", - "ring", - "rustc-hash", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2 0.6.1", - "tracing", - "windows-sys 0.60.2", -] - [[package]] name = "quote" version = "1.0.42" @@ -4793,38 +4145,13 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "redis" -version = "0.23.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f49cdc0bb3f412bf8e7d1bd90fe1d9eb10bc5c399ba90973c14662a27b3f8ba" -dependencies = [ - "ahash 0.7.8", - "arc-swap", - "async-trait", - "bytes", - "combine", - "futures", - "futures-util", - "itoa", - "percent-encoding", - "pin-project-lite", - "ryu", - "sha1_smol", - "socket2 0.4.10", - "tokio", - "tokio-retry", - "tokio-util", - "url", -] - [[package]] name = "redis" version = "0.32.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "014cc767fefab6a3e798ca45112bccad9c6e0e218fbd49720042716c73cfef44" dependencies = [ - "ahash 0.8.12", + "ahash", "arc-swap", "backon", "bytes", @@ -4853,35 +4180,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "redox_syscall" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "regex" version = "1.12.2" @@ -4943,8 +4241,6 @@ dependencies = [ "native-tls", "percent-encoding", "pin-project-lite", - "quinn", - "rustls", "rustls-pki-types", "serde", "serde_json", @@ -4952,7 +4248,6 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-native-tls", - "tokio-rustls", "tower 0.5.2", "tower-http", "tower-service", @@ -4960,7 +4255,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", ] [[package]] @@ -4987,38 +4281,18 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rsa" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "sha2", - "signature", - "spki", - "subtle", - "zeroize", -] - [[package]] name = "rusqlite" -version = "0.32.1" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e" +checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" dependencies = [ "bitflags", - "fallible-iterator", + "fallible-iterator 0.3.0", "fallible-streaming-iterator", - "hashlink 0.9.1", + "hashlink", "libsqlite3-sys", + "serde_json", "smallvec", ] @@ -5032,12 +4306,6 @@ dependencies = [ "ordered-multimap", ] -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - [[package]] name = "rustc_version" version = "0.4.1" @@ -5075,10 +4343,7 @@ version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ - "aws-lc-rs", - "log", "once_cell", - "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -5091,7 +4356,6 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282" dependencies = [ - "web-time", "zeroize", ] @@ -5101,7 +4365,6 @@ version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ - "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -5125,7 +4388,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] @@ -5137,6 +4400,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "saturating" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece8e78b2f38ec51c51f5d475df0a7187ba5111b2a28bdc761ee05b075d40a71" + [[package]] name = "scc" version = "2.4.0" @@ -5155,47 +4424,12 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scrypt" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" -dependencies = [ - "pbkdf2", - "salsa20", - "sha2", -] - [[package]] name = "sdd" version = "3.0.10" @@ -5245,12 +4479,6 @@ version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - [[package]] name = "serde" version = "1.0.228" @@ -5261,16 +4489,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -5316,15 +4534,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "serde_plain" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50" -dependencies = [ - "serde", -] - [[package]] name = "serde_spanned" version = "0.6.9" @@ -5355,37 +4564,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.12.1", - "schemars 0.9.0", - "schemars 1.2.0", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "serial_test" version = "3.2.0" @@ -5507,6 +4685,12 @@ dependencies = [ "time", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.11" @@ -5516,44 +4700,14 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -dependencies = [ - "serde", -] - -[[package]] -name = "smartcardhsm_pkcs11_loader" -version = "5.14.1" -dependencies = [ - "cosmian_kms_base_hsm", -] - -[[package]] -name = "smol" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" -dependencies = [ - "async-channel", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", - "blocking", - "futures-lite", -] +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +name = "smartcardhsm_pkcs11_loader" +version = "5.15.0" dependencies = [ - "libc", - "winapi", + "cosmian_kms_base_hsm", ] [[package]] @@ -5578,7 +4732,7 @@ dependencies = [ [[package]] name = "softhsm2_pkcs11_loader" -version = "5.14.1" +version = "5.15.0" dependencies = [ "cosmian_kms_base_hsm", ] @@ -5588,9 +4742,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spki" @@ -5598,200 +4749,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "arbitrary", "base64ct", "der", ] -[[package]] -name = "sqlx" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" -dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -] - -[[package]] -name = "sqlx-core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" -dependencies = [ - "base64 0.22.1", - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashbrown 0.15.5", - "hashlink 0.10.0", - "indexmap 2.12.1", - "log", - "memchr", - "native-tls", - "once_cell", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "thiserror 2.0.18", - "tokio", - "tokio-stream", - "tracing", - "url", -] - -[[package]] -name = "sqlx-macros" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" -dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn", -] - -[[package]] -name = "sqlx-macros-core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" -dependencies = [ - "dotenvy", - "either", - "heck", - "hex", - "once_cell", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", - "syn", - "tokio", - "url", -] - -[[package]] -name = "sqlx-mysql" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" -dependencies = [ - "atoi", - "base64 0.22.1", - "bitflags", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "percent-encoding", - "rand 0.8.5", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.18", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-postgres" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" -dependencies = [ - "atoi", - "base64 0.22.1", - "bitflags", - "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "rand 0.8.5", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror 2.0.18", - "tracing", - "whoami", -] - -[[package]] -name = "sqlx-sqlite" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" -dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "serde_urlencoded", - "sqlx-core", - "thiserror 2.0.18", - "tracing", - "url", -] - [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -5855,21 +4816,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "superboring" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d8c985e81c88f5694d5dfc232691b2aa34f3e1f66e860db9cd1ddf2bb6dc64" -dependencies = [ - "aes-gcm", - "aes-keywrap", - "getrandom 0.2.16", - "hmac-sha256", - "hmac-sha512", - "rand 0.8.5", - "rsa", -] - [[package]] name = "syn" version = "2.0.111" @@ -5946,6 +4892,15 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + [[package]] name = "termtree" version = "0.5.1" @@ -5966,7 +4921,7 @@ dependencies = [ [[package]] name = "test_kms_server" -version = "5.14.1" +version = "5.15.0" dependencies = [ "actix-server", "cosmian_kms_client", @@ -6174,13 +5129,39 @@ dependencies = [ ] [[package]] -name = "tokio-retry" -version = "0.3.0" +name = "tokio-postgres" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +checksum = "dcea47c8f71744367793f16c2db1f11cb859d28f436bdb4ca9193eb1f787ee42" dependencies = [ - "pin-project", - "rand 0.8.5", + "async-trait", + "byteorder", + "bytes", + "fallible-iterator 0.2.0", + "futures-channel", + "futures-util", + "log", + "parking_lot", + "percent-encoding", + "phf", + "pin-project-lite", + "postgres-protocol", + "postgres-types", + "rand 0.9.2", + "socket2 0.6.1", + "tokio", + "tokio-util", + "whoami", +] + +[[package]] +name = "tokio-rusqlite" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "302563ae4a2127f3d2c105f4f2f0bd7cae3609371755600ebc148e0ccd8510d6" +dependencies = [ + "crossbeam-channel", + "rusqlite", "tokio", ] @@ -6227,7 +5208,7 @@ dependencies = [ "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", - "toml_edit", + "toml_edit 0.22.27", ] [[package]] @@ -6277,6 +5258,18 @@ dependencies = [ "winnow", ] +[[package]] +name = "toml_edit" +version = "0.23.10+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" +dependencies = [ + "indexmap 2.12.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow", +] + [[package]] name = "toml_parser" version = "1.0.6+spec-1.1.0" @@ -6499,6 +5492,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "twox-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" + [[package]] name = "typenum" version = "1.19.0" @@ -6562,7 +5561,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common 0.1.7", + "crypto-common", "subtle", ] @@ -6592,7 +5591,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utimaco_pkcs11_loader" -version = "5.14.1" +version = "5.15.0" dependencies = [ "cosmian_kms_base_hsm", ] @@ -6636,12 +5635,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - [[package]] name = "version_check" version = "0.9.5" @@ -6682,6 +5675,15 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +[[package]] +name = "wasi" +version = "0.14.7+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" +dependencies = [ + "wasip2", +] + [[package]] name = "wasip2" version = "1.0.1+wasi-0.2.4" @@ -6693,17 +5695,11 @@ dependencies = [ [[package]] name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasix" -version = "0.13.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1757e0d1f8456693c7e5c6c629bdb54884e032aa0bb53c155f6a39f94440d332" +checksum = "66fe902b4a6b8028a753d5424909b764ccf79b7a209eac9bf97e59cda9f71a42" dependencies = [ - "wasi", + "wasi 0.14.7+wasi-0.2.4", ] [[package]] @@ -6784,56 +5780,26 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki-roots" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "whoami" -version = "1.6.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +checksum = "ace4d5c7b5ab3d99629156d4e0997edbe98a4beb6d5ba99e2cae830207a81983" dependencies = [ "libredox", "wasite", + "web-sys", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-core" version = "0.62.2" @@ -7162,11 +6128,8 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" dependencies = [ - "arbitrary", "const-oid", "der", - "sha1", - "signature", "spki", "tls_codec", ] @@ -7196,7 +6159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cbddb7545ca0b9ffa7bdc653e8743303e1712687a6918ced25f2cdbed42520" dependencies = [ "byteorder", - "cipher 0.4.4", + "cipher", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 6a187ca6..335e18b6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,9 +49,9 @@ cosmian_config_utils = "0.2" cosmian_crypto_core = { version = "10.2", default-features = false, features = [ "ser", ] } -cosmian_findex_cli = { path = "findex-server/crate/cli", version = "0.4.11" } -cosmian_kms_cli = { path = "kms/crate/cli", version = "5.14.1" } -test_kms_server = { path = "kms/crate/test_kms_server", version = "5.14.1" } +cosmian_findex_cli = { path = "findex-server/crate/cli", version = "0.4.12" } +cosmian_kms_cli = { path = "kms/crate/cli", version = "5.15.0" } +test_kms_server = { path = "kms/crate/test_kms_server", version = "5.15.0" } cosmian_logger = "0.6" der = { version = "0.7", default-features = false } hex = { version = "0.4", default-features = false } @@ -92,4 +92,3 @@ libloading = "0.8" # Findex deps cosmian_findex = "8.0" cosmian_sse_memories = "8.0" -async-sqlite = { version = "=0.4" } diff --git a/crate/pkcs11/module/Cargo.toml b/crate/pkcs11/module/Cargo.toml index eec5745b..e25a535a 100644 --- a/crate/pkcs11/module/Cargo.toml +++ b/crate/pkcs11/module/Cargo.toml @@ -15,11 +15,11 @@ doctest = false non-fips = [] [dependencies] -bincode = "1.3.3" const-oid = "0.9.6" hex = { workspace = true, features = ["std"] } log = { workspace = true, default-features = false } once_cell = "1.21.3" +openssl = { workspace = true } p256 = { version = "0.13.2", default-features = false, features = [ "arithmetic", "pkcs8", @@ -28,7 +28,6 @@ p256 = { version = "0.13.2", default-features = false, features = [ pkcs1 = "0.7.5" pkcs11-sys = { workspace = true } rand = { workspace = true } -rsa = "0.9" strum_macros = "0.26.4" thiserror = { workspace = true } cosmian_logger = { workspace = true } diff --git a/crate/pkcs11/module/src/core/object.rs b/crate/pkcs11/module/src/core/object.rs index fd210b22..c54723a3 100644 --- a/crate/pkcs11/module/src/core/object.rs +++ b/crate/pkcs11/module/src/core/object.rs @@ -21,13 +21,12 @@ use std::sync::Arc; use cosmian_logger::debug; use log::error; +use openssl::pkey::PKey; use p256::{elliptic_curve::sec1::ToEncodedPoint, pkcs8::der::Encode}; -use pkcs1::EncodeRsaPrivateKey; use pkcs11_sys::{ CK_CERTIFICATE_CATEGORY_UNSPECIFIED, CK_PROFILE_ID, CKC_X_509, CKO_CERTIFICATE, CKO_DATA, CKO_PRIVATE_KEY, CKO_PROFILE, CKO_PUBLIC_KEY, }; -use rsa::{RsaPrivateKey, pkcs8::DecodePrivateKey, traits::PublicKeyParts}; use crate::{ ModuleError, ModuleResult, @@ -164,21 +163,33 @@ impl Object { AttributeType::Label => Some(Attribute::Label("Private Key".to_owned())), AttributeType::Modulus => { let der_bytes = private_key.pkcs8_der_bytes()?; - let sk = RsaPrivateKey::from_pkcs8_der(der_bytes.as_ref()).map_err(|e| { - error!("Failed to fetch the PKCS1 DER bytes: {e:?}"); - ModuleError::Cryptography("Failed to fetch the PKCS1 DER bytes".to_owned()) + let pkey = PKey::private_key_from_der(der_bytes.as_ref()).map_err(|e| { + error!("Failed to parse RSA private key from PKCS#8 DER: {e:?}"); + ModuleError::Cryptography( + "Failed to parse RSA private key from PKCS#8 DER".to_owned(), + ) })?; - Some(Attribute::Modulus(sk.n().to_bytes_be())) + let rsa = pkey.rsa().map_err(|e| { + error!("Failed to extract RSA key parameters: {e:?}"); + ModuleError::Cryptography("Failed to extract RSA key parameters".to_owned()) + })?; + Some(Attribute::Modulus(rsa.n().to_vec())) } AttributeType::NeverExtractable => Some(Attribute::NeverExtractable(true)), AttributeType::Private => Some(Attribute::Private(true)), AttributeType::PublicExponent => { let der_bytes = private_key.pkcs8_der_bytes()?; - let sk = RsaPrivateKey::from_pkcs8_der(der_bytes.as_ref()).map_err(|e| { - error!("Failed to fetch the PKCS1 DER bytes: {e:?}"); - ModuleError::Cryptography("Failed to fetch the PKCS1 DER bytes".to_owned()) + let pkey = PKey::private_key_from_der(der_bytes.as_ref()).map_err(|e| { + error!("Failed to parse RSA private key from PKCS#8 DER: {e:?}"); + ModuleError::Cryptography( + "Failed to parse RSA private key from PKCS#8 DER".to_owned(), + ) + })?; + let rsa = pkey.rsa().map_err(|e| { + error!("Failed to extract RSA key parameters: {e:?}"); + ModuleError::Cryptography("Failed to extract RSA key parameters".to_owned()) })?; - Some(Attribute::PublicExponent(sk.e().to_bytes_be())) + Some(Attribute::PublicExponent(rsa.e().to_vec())) } AttributeType::Sensitive => Some(Attribute::Sensitive(true)), AttributeType::Sign => Some(Attribute::Sign(true)), @@ -188,16 +199,20 @@ impl Object { AttributeType::Value => match private_key.algorithm() { KeyAlgorithm::Rsa => { let der_bytes = private_key.pkcs8_der_bytes()?; - RsaPrivateKey::from_pkcs8_der(der_bytes.as_ref()) - .map(|sk| sk.to_pkcs1_der()) - .map_err(|e| { - error!("Failed to fetch the PKCS1 DER bytes: {e:?}"); - ModuleError::Cryptography( - "Failed to fetch the PKCS1 DER bytes".to_owned(), - ) - })? - .map(|sd| Attribute::Value(sd.to_bytes().to_vec())) - .ok() + let pkey = PKey::private_key_from_der(der_bytes.as_ref()).map_err(|e| { + error!("Failed to parse RSA private key from PKCS#8 DER: {e:?}"); + ModuleError::Cryptography( + "Failed to parse RSA private key from PKCS#8 DER".to_owned(), + ) + })?; + let rsa = pkey.rsa().map_err(|e| { + error!("Failed to extract RSA key parameters: {e:?}"); + ModuleError::Cryptography( + "Failed to extract RSA key parameters".to_owned(), + ) + })?; + + rsa.private_key_to_der().map(Attribute::Value).ok() } KeyAlgorithm::EccP256 | KeyAlgorithm::Secp224k1 diff --git a/crate/pkcs11/module/src/error/mod.rs b/crate/pkcs11/module/src/error/mod.rs index c00975c7..d14b66c7 100644 --- a/crate/pkcs11/module/src/error/mod.rs +++ b/crate/pkcs11/module/src/error/mod.rs @@ -93,8 +93,6 @@ pub enum ModuleError { #[error(transparent)] Backend(#[from] Box), #[error(transparent)] - Bincode(#[from] Box), - #[error(transparent)] Pkcs1DerError(#[from] pkcs1::der::Error), #[error(transparent)] ReadGuardError(#[from] PoisonError>), @@ -139,7 +137,6 @@ impl From for CK_RV { ModuleError::Backend(_) | ModuleError::AlgorithmNotSupported(_) | ModuleError::Default(_) - | ModuleError::Bincode(_) | ModuleError::FromUtf8(_) | ModuleError::FromVecWithNul(_) | ModuleError::NullPtr(_) diff --git a/deny.toml b/deny.toml index 87682b77..03404387 100644 --- a/deny.toml +++ b/deny.toml @@ -70,9 +70,6 @@ feature-depth = 1 # A list of advisory IDs to ignore. Note that ignored advisories will still # output a note when they are encountered. ignore = [ - { id = "RUSTSEC-2023-0071", reason = "rsa: Marvin Attack: potential key recovery through timing side channels" }, - { id = "RUSTSEC-2024-0436", reason = "A transitive dependency (`paste`) is not maintained anymore; tracked upstream (agnostic-lite) for replacement." }, - { id = "RUSTSEC-2025-0141", reason = "bincode is used transitively (via cosmian_pkcs11_module); advisory is informational (unmaintained) and there is no safe upgrade available." }, #{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" }, #"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish #{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" }, @@ -103,9 +100,6 @@ allow = [ "BSL-1.0", "BUSL-1.1", "Unicode-3.0", - "OpenSSL", - "CDLA-Permissive-2.0", - "AGPL-3.0-or-later" ] # The confidence threshold for detecting a license from license text. # The higher the value, the more closely the license text must be to the diff --git a/documentation/docs/cli/main_commands.md b/documentation/docs/cli/main_commands.md index 54a9c634..2e5bb87e 100644 --- a/documentation/docs/cli/main_commands.md +++ b/documentation/docs/cli/main_commands.md @@ -609,6 +609,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -1386,6 +1388,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -1587,10 +1591,6 @@ Possible values: `"nist-p192", "nist-p224", "nist-p256", "nist-p384", "nist-p52 `--tag [-t] ` Tag to use to retrieve the key when no key id is specified. To specify multiple tags, use the option multiple times -`--signature-algorithm [-s] ` The signature algorithm - -Possible values: `"ecdsa-with-sha256", "ecdsa-with-sha384", "ecdsa-with-sha512"` [default: `"ecdsa-with-sha256"`] - `--output-file [-o] ` The signature output file path `--digested ` Treat input as already-digested data (pre-hash) @@ -1618,10 +1618,6 @@ Verify an ECDSA signature for a given data file `--tag [-t] ` Tag to use to retrieve the key when no key id is specified. To specify multiple tags, use the option multiple times -`--signature-algorithm [-s] ` The signature algorithm - -Possible values: `"ecdsa-with-sha256", "ecdsa-with-sha384", "ecdsa-with-sha512"` [default: `"ecdsa-with-sha256"`] - `--output-file [-o] ` Optional output file path `--digested ` Treat data input as already-digested (pre-hash) @@ -2275,6 +2271,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -2496,10 +2494,6 @@ Digital signature supported is RSASSA-PSS `--tag [-t] ` Tag to use to retrieve the key when no key id is specified. To specify multiple tags, use the option multiple times -`--signature-algorithm [-s] ` The signature algorithm - -Possible values: `"rsassapss"` [default: `"rsassapss"`] - `--output-file [-o] ` The signature output file path `--digested ` Treat input as already-digested data (pre-hash) @@ -2527,10 +2521,6 @@ Verify an RSASSA-PSS signature for a given data file `--tag [-t] ` Tag to use to retrieve the key when no key id is specified. To specify multiple tags, use the option multiple times -`--signature-algorithm [-s] ` The signature algorithm - -Possible values: `"rsassapss"` [default: `"rsassapss"`] - `--output-file [-o] ` Optional output file path `--digested ` Treat data input as already-digested (pre-hash) @@ -2635,6 +2625,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -2837,6 +2829,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -3133,6 +3127,8 @@ The possible wrapping algorithms are - `rsa-aes-key-wrap` (CKM-RSA-AES-KEY-WRP) - `rsa-pkcs-v15` (CKM-RSA v1.5) +Possible values: `"aes-key-wrap-padding", "nist-key-wrap", "aes-gcm", "rsa-pkcs-v15-sha1", "rsa-pkcs-v15", "rsa-oaep-sha1", "rsa-oaep", "rsa-aes-key-wrap-sha1", "rsa-aes-key-wrap"` + `--authenticated-additional-data [-d] ` Authenticated encryption additional data Only available for AES GCM wrapping @@ -3294,7 +3290,7 @@ Possible values: `"chacha20-poly1305", "aes-gcm", "aes-cbc", "aes-xts", "aes-gc `--key-encryption-algorithm [-e] ` The optional key encryption algorithm used to encrypt the data encryption key. -Possible values: `"chacha20-poly1305", "aes-gcm", "aes-xts", "aes-gcm-siv", "rfc5649"` +Possible values: `"chacha20-poly1305", "aes-gcm", "aes-xts", "aes-gcm-siv", "rfc3394", "rfc5649"` `--tag [-t] ` Tag to use to retrieve the key when no key id is specified. To specify multiple tags, use the option multiple times @@ -3329,7 +3325,7 @@ Possible values: `"chacha20-poly1305", "aes-gcm", "aes-cbc", "aes-xts", "aes-gc `--key-encryption-algorithm [-e] ` The optional key encryption algorithm used to decrypt the data encryption key. -Possible values: `"chacha20-poly1305", "aes-gcm", "aes-xts", "aes-gcm-siv", "rfc5649"` +Possible values: `"chacha20-poly1305", "aes-gcm", "aes-xts", "aes-gcm-siv", "rfc3394", "rfc5649"` `--output-file [-o] ` The encrypted output file path diff --git a/documentation/docs/index.md b/documentation/docs/index.md index dd1da0b8..5e21a51c 100644 --- a/documentation/docs/index.md +++ b/documentation/docs/index.md @@ -38,6 +38,7 @@ By leveraging Cosmian CLI, users can seamlessly integrate advanced cryptographic | CLI version | KMS version | Findex server version | | ----------- | ---------------- | --------------------- | +| 1.8.0 | 5.15.0 | 0.4.12 | | 1.7.1 | 5.14.1 | 0.4.11 | | 1.7.0 | 5.14.0 | 0.4.10 | | 1.6.0 | 5.13.* | 0.4.* | diff --git a/findex-server b/findex-server index 20d54f62..a837d2ab 160000 --- a/findex-server +++ b/findex-server @@ -1 +1 @@ -Subproject commit 20d54f627fa9080a9f8f953c5bf15ca289e9e4ee +Subproject commit a837d2ab85c4cf787592f18e8617086fe594b14c diff --git a/kms b/kms index 66263a34..3ea3fc84 160000 --- a/kms +++ b/kms @@ -1 +1 @@ -Subproject commit 66263a3470feab18a532a9376112c7e0151515dd +Subproject commit 3ea3fc849de6f21231118602440657ed90917c38