# 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"] } 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 } # 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 = { workspace = true } [dev-dependencies] tempfile = { workspace = true } [features] default = []