[package] name = "keepass-ng" description = "KeePass .kdbx database file parser with ehancements" edition = "2021" homepage = "https://github.com/ssrlive/keepass-ng" repository = "https://github.com/ssrlive/keepass-ng" documentation = "https://docs.rs/keepass-ng" version = "0.9.0" authors = [ "Stefan Seemayer ", "ssrlive", "Anssi Piirainen ", ] license = "MIT" readme = "README.md" include = ["src/", "README.md", "LICENSE"] [features] utilities = ["clap", "rpassword", "serialization", "totp"] serialization = ["serde", "serde_json", "chrono/serde"] totp = ["totp-lite", "url", "base32"] save_kdbx4 = [] challenge_response = ["sha1", "dep:challenge_response"] # default = ["utilities", "save_kdbx4", "challenge_response"] default = [] [dependencies] aes = "0.8" as-any = "0.3" base32 = { version = "0.5", optional = true } base64 = "0.22" block-modes = "0.9" byteorder = "1" cbc = "0.1" chacha20 = "0.9" challenge_response = { version = "0.5", optional = true } chrono = { version = "0.4", default-features = false, features = [ "serde", "clock", "std", ] } cipher = { version = "0.4", features = ["std"] } clap = { version = "4", optional = true, features = ["derive"] } erased-serde = "0.4" flate2 = "1" getrandom = { version = "0.2", features = ["std"] } hex = { version = "0.4" } hex-literal = "0.4" hmac = "0.12" rpassword = { version = "7", optional = true } rust-argon2 = "2" salsa20 = "0.10" secstr = "0.5" serde = { version = "1", optional = true, features = ["derive"] } serde_json = { version = "1", optional = true } sha1 = { version = "0.10", optional = true } sha2 = "0.10" thiserror = "1" totp-lite = { version = "2", optional = true } twofish = "0.7" url = { version = "2", optional = true } uuid = { version = "1", features = ["v4", "serde"] } xml-rs = "0.8" zeroize = { version = "1", features = ["zeroize_derive"] } [dev-dependencies] rustfmt = "0.10.0" [[bin]] # parse a KeePass database and output as a JSON document name = "kp-dump-json" required-features = ["utilities"] [[bin]] # decrypt a KeePass database and output the inner XML document name = "kp-dump-xml" required-features = ["utilities"] [[bin]] # Purge the history items in the Database entries name = "kp-purge-history" required-features = ["utilities", "save_kdbx4"] [[bin]] # decrypt a KeePass database and show the contained data name = "kp-show-db" required-features = ["utilities"] [[bin]] # decrypt a KeePass database and show the TOTP value for an entry name = "kp-show-otp" required-features = ["utilities"] [[bin]] # get the version of a KeePass database file name = "kp-get-version" required-features = ["utilities"] [[bin]] # parse and write a KeePass database (to check if all fields are kept) name = "kp-rewrite" required-features = ["utilities", "save_kdbx4"] [[bin]] name = "kp-yk-add" required-features = ["utilities", "save_kdbx4", "challenge_response"] [[bin]] name = "kp-yk-remove" required-features = ["utilities", "save_kdbx4", "challenge_response"] [[bin]] name = "kp-yk-recover" required-features = ["utilities", "save_kdbx4", "challenge_response"]