mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-08 22:33:22 +00:00
9ddf6a011d
* feat(kms): implement key management service with local and vault backends Signed-off-by: junxiang Mu <1948535941@qq.com> * feat(kms): enhance security with zeroize for sensitive data and improve key management Signed-off-by: junxiang Mu <1948535941@qq.com> * remove Hashi word Signed-off-by: junxiang Mu <1948535941@qq.com> * refactor: remove unused request structs from kms handlers Signed-off-by: junxiang Mu <1948535941@qq.com> --------- Signed-off-by: junxiang Mu <1948535941@qq.com>
76 lines
2.2 KiB
TOML
76 lines
2.2 KiB
TOML
# Copyright 2024 RustFS Team
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
[package]
|
|
name = "rustfs-kms"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
homepage.workspace = true
|
|
description = "Key Management Service for RustFS, providing secure key generation, storage, and object encryption capabilities."
|
|
keywords = ["kms", "encryption", "key-management", "rustfs", "security"]
|
|
categories = ["cryptography", "web-programming", "authentication"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
# Core dependencies
|
|
async-trait = { workspace = true }
|
|
tokio = { workspace = true, features = ["full"] }
|
|
futures = { workspace = true }
|
|
bytes = { workspace = true }
|
|
uuid = { workspace = true, features = ["serde"] }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
tracing = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
|
|
# Cryptography
|
|
aes-gcm = { workspace = true }
|
|
chacha20poly1305 = { workspace = true }
|
|
rand = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
base64 = { workspace = true }
|
|
zeroize = { workspace = true, features = ["derive"] }
|
|
|
|
# Configuration and storage
|
|
url = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
|
|
# Caching
|
|
moka = { workspace = true, features = ["future"] }
|
|
|
|
# Additional dependencies
|
|
md5 = { workspace = true }
|
|
|
|
# HTTP client for Vault
|
|
reqwest = { workspace = true }
|
|
vaultrs = { version = "0.7.2" }
|
|
|
|
# Internal dependencies
|
|
rustfs-crypto = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio-test = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
test-case = { workspace = true }
|
|
|
|
[features]
|
|
default = [] |