rvault/Cargo.toml
C0ffeeCode 6e811c85c2
Sealing: Encryption of Secrets (#1)
This adds support for encrypting and decrypting secrets.
It implements the APIs required for unsealing.
The APIs are not complete or compliant.

Reviewed-on: #1

Squashed commit of the following:

commit d77237aefe
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Wed Apr 2 18:59:33 2025 +0200

    Refactor: Secret struct and feature-gates
    - Shamir and its dependencies behind a default feature
    - Secret has its own struct

commit 6eb02c8412
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Wed Apr 2 08:28:28 2025 +0200

    Feat (sealing): Shamir Secret Sharing scheme

commit 5de9e1d74e
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Thu Mar 27 22:13:57 2025 +0100

    Fix (sealing): Simple sealing with random nonce

commit 88ed714e22
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Thu Mar 27 17:13:48 2025 +0100

    Feat (sealing): Simple Password sealing
    Password is generated on first startup.
    The password given to the user is not same as the one used to encrypt secrets

commit 4d342e8b99
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Wed Mar 26 21:51:27 2025 +0100

    Feat (kv2): Support Sealing

commit 1accd45648
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Wed Mar 26 21:49:59 2025 +0100

    WIP feat (sealing): Implement basic sealing functionality
    Currently, the key is just stored plainly in the database

commit 7949d64649
Author: C0ffeeCode <ritters_werth@outlook.com>
Date:   Wed Mar 26 21:39:07 2025 +0100

    Chore: Rename `DatabaseDriver` to `DbPool`
    and add a custom serde serializer `serialize_reject_none` as a utility
2025-04-02 22:42:20 +02:00

49 lines
1.2 KiB
TOML

[package]
name = "rvault-server"
version = "0.1.0"
edition = "2024"
[features]
default = ["shamir"]
# default = ["insecure-dev-sealing"]
insecure-dev-sealing = []
shamir = ["vsss-rs", "p256"]
[dependencies]
log = "0.4.27"
env_logger = "0.11.7"
zeroize = { version = "1.8.1", features = ["zeroize_derive"] }
time = { version = "0.3.41", features = ["serde", "formatting"]}
tokio = { version = "1.44.1", features = ["full"] }
tower = { version = "0.5.2", features = [] }
axum = "0.8.3"
serde = "1.0.219"
serde_json = "1.0.140"
dotenvy = "0.15.7"
base64 = "0.22.1"
# utoipa = { version = "4.2.0", features = ["axum_extras"] }
sqlx = { version = "0.8.3", features = [
"sqlite",
# "postgres",
# "any",
"macros",
"runtime-tokio",
"tls-rustls",
"time"
] }
aes-gcm-siv = "0.11.1"
vsss-rs = { version = "5.1.0", optional = true, default-features = false, features = ["zeroize", "std"] }
p256 = { version = "0.13.2", optional = true, default-features = false, features = ["std", "ecdsa"] }
[lints]
workspace = true
[workspace.lints.clippy]
uninlined_format_args = "warn"
correctness = "warn"
suspicious = "warn"
complexity = "warn"
perf = "warn"
style = "warn"