[package]
edition = "2021"
rust-version = "1.85"
name = "sequoia-openpgp"
version = "2.2.0"
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"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OpenPGP data types and associated machinery"
homepage = "https://sequoia-pgp.org/"
documentation = "https://docs.rs/sequoia-openpgp"
readme = "README.md"
keywords = [
"cryptography",
"openpgp",
"pgp",
"encryption",
"signing",
]
categories = [
"cryptography",
"authentication",
"email",
]
license = "LGPL-2.0-or-later"
repository = "https://gitlab.com/sequoia-pgp/sequoia"
[badges.gitlab]
repository = "sequoia-pgp/sequoia"
[badges.maintenance]
status = "actively-developed"
[features]
__implicit-crypto-backend-for-tests = []
allow-experimental-crypto = []
allow-variable-time-crypto = []
compression = [
"compression-deflate",
"compression-bzip2",
]
compression-bzip2 = [
"dep:bzip2",
"buffered-reader/compression-bzip2",
]
compression-deflate = [
"dep:flate2",
"buffered-reader/compression-deflate",
]
crypto-botan = [
"dep:botan",
"botan?/botan3",
]
crypto-botan2 = ["dep:botan"]
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",
"dep:hkdf",
"dep:sha2",
"dep:ocb3",
]
crypto-fuzzing = []
crypto-nettle = ["dep:nettle"]
crypto-openssl = [
"dep:openssl",
"dep:openssl-sys",
]
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",
"dep:sha3",
"dep:cbc",
"sha1collisiondetection/digest-trait",
"sha1collisiondetection/oid",
"dep:twofish",
"dep:typenum",
"dep:x25519-dalek",
"dep:ocb3",
"dep:p256",
"dep:p384",
"dep:p521",
"dep:rand",
"rand?/os_rng",
"dep:rand_core",
"rand_core?/getrandom",
"dep:ecdsa",
"dep:aes-gcm",
"dep:dsa",
"dep:hkdf",
]
default = [
"compression",
"crypto-nettle",
]
[lib]
name = "sequoia_openpgp"
path = "src/lib.rs"
bench = false
[[example]]
name = "decrypt-with"
path = "examples/decrypt-with.rs"
[[example]]
name = "encrypt-for"
path = "examples/encrypt-for.rs"
[[example]]
name = "generate-encrypt-decrypt"
path = "examples/generate-encrypt-decrypt.rs"
[[example]]
name = "generate-group-key"
path = "examples/generate-group-key.rs"
[[example]]
name = "generate-sign-verify"
path = "examples/generate-sign-verify.rs"
[[example]]
name = "notarize"
path = "examples/notarize.rs"
[[example]]
name = "pad"
path = "examples/pad.rs"
required-features = ["compression-deflate"]
[[example]]
name = "reply-encrypted"
path = "examples/reply-encrypted.rs"
[[example]]
name = "secret-leak-detector"
path = "tests/secret-leak-detector/detector.rs"
[[example]]
name = "sign"
path = "examples/sign.rs"
[[example]]
name = "sign-detached"
path = "examples/sign-detached.rs"
[[example]]
name = "statistics"
path = "examples/statistics.rs"
[[example]]
name = "supported-algorithms"
path = "examples/supported-algorithms.rs"
[[example]]
name = "web-of-trust"
path = "examples/web-of-trust.rs"
[[example]]
name = "wrap-literal"
path = "examples/wrap-literal.rs"
[[test]]
name = "for-each-artifact"
path = "tests/for-each-artifact.rs"
[[test]]
name = "secret-leak-detector"
path = "tests/secret-leak-detector.rs"
[[bench]]
name = "run_benchmarks"
path = "benches/run_benchmarks.rs"
harness = false
[dependencies.aes]
version = "0.8"
features = ["zeroize"]
optional = true
[dependencies.aes-gcm]
version = "0.10"
features = ["std"]
optional = true
[dependencies.anyhow]
version = "1.0.18"
[dependencies.argon2]
version = "0.5"
[dependencies.base64]
version = ">= 0.21, < 0.23"
[dependencies.block-padding]
version = "0.3"
optional = true
[dependencies.blowfish]
version = "0.9"
features = ["zeroize"]
optional = true
[dependencies.botan]
version = ">= 0.10.6, < 0.12"
optional = true
[dependencies.buffered-reader]
version = "1.3.0"
default-features = false
[dependencies.bzip2]
version = ">= 0.4, < 0.7"
optional = true
[dependencies.camellia]
version = "0.1"
features = ["zeroize"]
optional = true
[dependencies.cast5]
version = "0.11"
features = ["zeroize"]
optional = true
[dependencies.cbc]
version = "0.1"
optional = true
[dependencies.cfb-mode]
version = "0.8"
optional = true
[dependencies.cipher]
version = "0.4"
features = [
"std",
"zeroize",
]
optional = true
[dependencies.des]
version = "0.8"
features = ["zeroize"]
optional = true
[dependencies.digest]
version = "0.10"
optional = true
[dependencies.dsa]
version = "0.6"
optional = true
[dependencies.dyn-clone]
version = "1"
[dependencies.eax]
version = "0.5"
optional = true
[dependencies.ecb]
version = "0.1"
optional = true
[dependencies.ecdsa]
version = "0.16"
features = [
"hazmat",
"arithmetic",
]
optional = true
[dependencies.ed25519]
version = "2"
features = ["std"]
optional = true
default-features = false
[dependencies.ed25519-dalek]
version = "2"
features = [
"rand_core",
"zeroize",
]
optional = true
[dependencies.flate2]
version = "1.0.1"
optional = true
[dependencies.hkdf]
version = "0.12"
optional = true
[dependencies.idea]
version = "0.5"
features = ["zeroize"]
optional = true
[dependencies.idna]
version = ">= 1.0.3, < 2"
[dependencies.lalrpop-util]
version = ">=0.20, <0.23"
[dependencies.libc]
version = "0.2.66"
[dependencies.md-5]
version = "0.10"
features = ["oid"]
optional = true
[dependencies.memsec]
version = ">=0.5, <0.8"
default-features = false
[dependencies.nettle]
version = "7.3"
optional = true
[dependencies.num-bigint-dig]
version = "0.8"
optional = true
default-features = false
[dependencies.ocb3]
version = "0.1"
optional = true
default-features = false
[dependencies.openssl]
version = "0.10.55"
optional = true
[dependencies.openssl-sys]
version = "0.9.90"
optional = true
[dependencies.p256]
version = "0.13"
features = [
"ecdh",
"ecdsa",
]
optional = true
[dependencies.p384]
version = "0.13"
features = [
"ecdh",
"ecdsa",
]
optional = true
[dependencies.p521]
version = "0.13"
features = [
"ecdh",
"ecdsa",
]
optional = true
[dependencies.rand]
version = "0.9"
optional = true
default-features = false
[dependencies.rand_core]
version = "0.6"
optional = true
[dependencies.regex]
version = "1"
[dependencies.regex-syntax]
version = "0.8"
[dependencies.ripemd]
version = "0.1"
features = ["oid"]
optional = true
[dependencies.rsa]
version = "0.9.0"
optional = true
[dependencies.sha1collisiondetection]
version = "0.3.1"
features = ["std"]
default-features = false
[dependencies.sha2]
version = "0.10"
features = ["oid"]
optional = true
[dependencies.sha3]
version = "0.10"
features = ["oid"]
optional = true
[dependencies.thiserror]
version = ">=1, <3"
[dependencies.twofish]
version = "0.7"
features = ["zeroize"]
optional = true
[dependencies.typenum]
version = "1.12.0"
optional = true
[dependencies.x25519-dalek]
version = "2"
features = [
"static_secrets",
"zeroize",
]
optional = true
default-features = false
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.quickcheck]
version = "1"
default-features = false
[dev-dependencies.rand]
version = "0.9"
features = [
"std",
"std_rng",
"thread_rng",
]
default-features = false
[dev-dependencies.rpassword]
version = "7.0"
[build-dependencies.lalrpop]
version = ">=0.20, <0.23"
default-features = false
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.chrono]
version = "0.4.10"
features = [
"std",
"wasmbind",
"clock",
]
default-features = false
[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target."cfg(windows)".dependencies.win-crypto-ng]
version = "0.5.1"
features = [
"rand",
"block-cipher",
]
optional = true
[target."cfg(windows)".dependencies.winapi]
version = "0.3.8"
features = ["bcrypt"]
optional = true
default-features = false
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
'cfg(osslconf, values("OPENSSL_NO_BF"))',
'cfg(osslconf, values("OPENSSL_NO_CAMELLIA"))',
'cfg(osslconf, values("OPENSSL_NO_CAST"))',
'cfg(osslconf, values("OPENSSL_NO_IDEA"))',
'cfg(osslconf, values("OPENSSL_NO_OCB"))',
]