[package]
name = "sequoia-openpgp"
description = "OpenPGP data types and associated machinery"
version = "1.21.2"
authors = [
"Igor Matuszewski <igor@sequoia-pgp.org>",
"Justus Winter <justus@sequoia-pgp.org>",
"Kai Michaelis <kai@sequoia-pgp.org>",
"Neal H. Walfield <neal@sequoia-pgp.org>",
"Nora Widdecke <nora@sequoia-pgp.org>",
"Wiktor Kwapisiewicz <wiktor@sequoia-pgp.org>",
]
build = "build.rs"
documentation = "https://docs.rs/sequoia-openpgp"
autobenches = false
homepage = "https://sequoia-pgp.org/"
repository = "https://gitlab.com/sequoia-pgp/sequoia"
readme = "README.md"
keywords = ["cryptography", "openpgp", "pgp", "encryption", "signing"]
categories = ["cryptography", "authentication", "email"]
license = "LGPL-2.0-or-later"
edition = "2021"
rust-version = "1.67"
[badges]
gitlab = { repository = "sequoia-pgp/sequoia" }
maintenance = { status = "actively-developed" }
[dependencies]
anyhow = "1.0.18"
buffered-reader = { path = "../buffered-reader", version = "1.3.0", default-features = false }
base64 = ">= 0.21, < 0.23"
bzip2 = { version = "0.4", optional = true }
dyn-clone = "1"
flate2 = { version = "1.0.1", optional = true }
idna = ">= 0.5, < 2"
lalrpop-util = "0.20"
lazy_static = "1.4.0"
libc = "0.2.66"
memsec = { version = ">=0.5, <0.8", default-features = false }
nettle = { version = "7.3", optional = true }
once_cell = "1"
regex = "1"
regex-syntax = "0.8"
sha1collisiondetection = { version = "0.3.1", default-features = false, features = ["std"] }
thiserror = "1.0.2"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
openssl = { version = "0.10.55", optional = true }
openssl-sys = { version = "0.9.90", optional = true }
botan = { version = "0.10.6", optional = true }
aes = { version = "0.8", optional = true, features = ["zeroize"] }
aes-gcm = { version = "0.10", optional = true, features = ["std"] }
block-padding = { version = "0.3", optional = true }
blowfish = { version = "0.9", optional = true, features = ["zeroize"] }
camellia = { version = "0.1", optional = true, features = ["zeroize"] }
cast5 = { version = "0.11", optional = true, features = ["zeroize"] }
cipher = { version = "0.4", optional = true, features = ["std", "zeroize"] }
cfb-mode = { version = "0.8", optional = true }
des = { version = "0.8", optional = true, features = ["zeroize"] }
digest = { version = "0.10", optional = true }
dsa = { version = "0.6", optional = true }
eax = { version = "0.5", optional = true }
ecb = { version = "0.1", optional = true }
ecdsa = { version = "0.16", optional = true, features = ["hazmat", "arithmetic"] }
ed25519 = { version = "2", default-features = false, features = ["std"], optional = true }
ed25519-dalek = { version = "2", features = ["rand_core", "zeroize"], optional = true }
idea = { version = "0.5", optional = true, features = ["zeroize"] }
md-5 = { version = "0.10", features = ["oid"], optional = true }
num-bigint-dig = { version = "0.8", default-features = false, optional = true }
p256 = { version = "0.13", optional = true, features = ["ecdh", "ecdsa"] }
p384 = { version = "0.13", optional = true, features = ["ecdh", "ecdsa"] }
p521 = { version = "0.13", optional = true, features = ["ecdh", "ecdsa"] }
rand = { version = "0.8", optional = true, default-features = false }
rand_core = { version = "0.6", optional = true }
ripemd = { version = "0.1", features = ["oid"], optional = true }
rsa = { version = "0.9.0", optional = true }
sha2 = { version = "0.10", features = ["oid"], optional = true }
twofish = { version = "0.7", optional = true, features = ["zeroize"] }
typenum = { version = "1.12.0", optional = true }
x25519-dalek = { version = "2", optional = true, default-features = false, features = ["static_secrets", "zeroize"] }
[target.'cfg(windows)'.dependencies]
win-crypto-ng = { version = "0.5.1", features = ["rand", "block-cipher"], optional = true }
winapi = { version = "0.3.8", default-features = false, features = ["bcrypt"], optional = true }
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
chrono = { version = "0.4.10", default-features = false, features = ["std", "wasmbind", "clock"] }
getrandom = { version = "0.2", features = ["js"] }
[build-dependencies]
lalrpop = { version = "0.20", default-features = false }
[dev-dependencies]
quickcheck = { version = "1", default-features = false }
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"] }
rpassword = "7.0"
criterion = { version = "0.5", features = ["html_reports"] }
[features]
default = ["compression", "crypto-nettle"]
crypto-nettle = ["dep:nettle"]
crypto-rust = [
"dep:aes", "dep:block-padding", "dep:blowfish", "dep:camellia",
"dep:cast5", "dep:cfb-mode", "dep:cipher", "dep:des", "dep:digest",
"dep:eax", "dep:ecb", "dep:ed25519", "dep:ed25519-dalek", "dep:idea",
"dep:md-5", "dep:num-bigint-dig", "dep:ripemd", "dep:rsa", "dep:sha2",
"sha1collisiondetection/digest-trait", "sha1collisiondetection/oid",
"dep:twofish", "dep:typenum", "dep:x25519-dalek", "dep:p256",
"dep:p384", "dep:p521",
"dep:rand", "rand?/getrandom", "dep:rand_core", "rand_core?/getrandom",
"dep:ecdsa", "dep:aes-gcm", "dep:dsa"
]
crypto-cng = [
"dep:cipher", "dep:eax", "dep:winapi", "dep:win-crypto-ng",
"dep:ed25519", "dep:ed25519-dalek",
"dep:num-bigint-dig", "dep:aes-gcm", "dep:rand_core"
]
crypto-openssl = ["dep:openssl", "dep:openssl-sys"]
crypto-botan = ["dep:botan", "botan?/botan3"]
crypto-botan2 = ["dep:botan"]
crypto-fuzzing = []
__implicit-crypto-backend-for-tests = []
allow-experimental-crypto = []
allow-variable-time-crypto = []
compression = ["compression-deflate", "compression-bzip2"]
compression-deflate = ["dep:flate2", "buffered-reader/compression-deflate"]
compression-bzip2 = ["dep:bzip2", "buffered-reader/compression-bzip2"]
[lib]
bench = false
[[example]]
name = "pad"
required-features = ["compression-deflate"]
[[bench]]
name = "run_benchmarks"
harness = false
[[example]]
name = "secret-leak-detector"
path = "tests/secret-leak-detector/detector.rs"