Cargo Features

[dependencies]
sequoia-openpgp = { version = "1.20.0", default-features = false, features = ["crypto-nettle", "crypto-rust", "crypto-cng", "crypto-openssl", "crypto-botan", "crypto-botan2", "crypto-fuzzing", "allow-experimental-crypto", "allow-variable-time-crypto", "compression", "compression-deflate", "compression-bzip2"] }
default = compression, crypto-nettle

These default features are set whenever sequoia-openpgp is added without default-features = false somewhere in the dependency tree.

crypto-nettle default

TODO(#333): Allow for/implement more backends

Enables nettle

crypto-rust

Enables ripemd and rsa, sha2, twofish, typenum, and x25519-dalek, digest-trait and oid of sha1collisiondetection, getrandom of rand and rand_core and ecdsa

XXX

and ed25519, ed25519-dalek, idea, md-5, num-bigint-dig, and p256

ed25519:

We don't directly use ed25519, but ed25519-dalek reexports it and we need the std feature, at least so that ed25519::Error implements std::error::Error.

and aes, aes-gcm, block-padding, blowfish, camellia, cast5, cfb-mode, cipher, des, digest, dsa, eax, and ecb

aes:

RustCrypto crates.

crypto-cng

Enables aes-gcm, cipher, eax, ed25519, ed25519-dalek, num-bigint-dig, rand_core, win-crypto-ng, and winapi

crypto-openssl

Enables openssl

At least 0.10.55 is needed due no-ocb check: https://github.com/sfackler/rust-openssl/blob/master/openssl/CHANGELOG.md

and openssl-sys

We need to directly depend on the sys crate so that the metadata produced in its build script is passed to sequoia-openpgp's build script see: https://doc.rust-lang.org/cargo/reference/build-scripts.html#the-links-manifest-key

crypto-botan

Enables botan3 of botan

Botan.

crypto-botan2

Enables botan

crypto-fuzzing
allow-experimental-crypto

Experimental and variable-time cryptographic backends opt-ins

allow-variable-time-crypto
compression default = compression-bzip2, compression-deflate

The compression algorithms.

compression-deflate compression

Enables flate2, compression-deflate of buffered-reader

Affects stream::padding

compression-bzip2 compression

Enables bzip2, compression-bzip2 of buffered-reader