rsa/Cargo.toml
Tony Arcieri 134a061237
Add sha2 feature with oid subfeature enabled (#255)
We seem to be running into a lot of people who are having trouble with
PKCS#1 v1.5 signatures because the failure mode for the `oid` feature of
the `sha2` crate being disabled is fairly unscrutable.

See #234, #253, and the semi-related tracking issue for #238.

If `rsa` has a `sha2` feature, we can always ensure `oid` is enabled,
and this can be used in code examples. It also means users don't need
two crates to create/verify PKCS#1 v1.5 signatures.

RSA is used commonly enough with the SHA2 family that this integration
probably makes sense.
2023-01-20 16:46:27 -07:00

73 lines
2.5 KiB
TOML

[package]
name = "rsa"
version = "0.8.0"
authors = ["RustCrypto Developers", "dignifiedquire <dignifiedquire@gmail.com>"]
edition = "2021"
description = "Pure Rust RSA implementation"
license = "MIT OR Apache-2.0"
documentation = "https://docs.rs/rsa"
repository = "https://github.com/RustCrypto/RSA"
keywords = ["rsa", "encryption", "security", "crypto"]
categories = ["cryptography"]
readme = "README.md"
rust-version = "1.57"
[dependencies]
num-bigint = { version = "0.8.2", features = ["i128", "u64_digit", "prime", "zeroize"], default-features = false, package = "num-bigint-dig" }
num-traits = { version= "0.2.9", default-features = false, features = ["libm"] }
num-integer = { version = "0.1.39", default-features = false }
num-iter = { version = "0.1.37", default-features = false }
rand_core = { version = "0.6.4", default-features = false }
byteorder = { version = "1.3.1", default-features = false }
subtle = { version = "2.1.1", default-features = false }
digest = { version = "0.10.5", default-features = false, features = ["alloc", "oid"] }
pkcs1 = { version = "0.4", default-features = false, features = ["pkcs8", "alloc"] }
pkcs8 = { version = "0.9", default-features = false, features = ["alloc"] }
signature = { version = "2", default-features = false , features = ["digest", "rand_core"] }
zeroize = { version = "1", features = ["alloc"] }
[dependencies.sha2]
version = "0.10.6"
optional = true
default-features = false
features = ["oid"]
[dependencies.serde_crate]
package = "serde"
optional = true
version = "1.0.103"
default-features = false
features = ["derive"]
[dev-dependencies]
base64ct = { version = "1", features = ["alloc"] }
hex-literal = "0.3.3"
serde_test = "1.0.89"
rand_xorshift = "0.3"
rand_chacha = "0.3"
rand = "0.8"
rand_core = { version = "0.6", default-features = false }
sha1 = { version = "0.10.5", default-features = false, features = ["oid"] }
sha2 = { version = "0.10.6", default-features = false, features = ["oid"] }
sha3 = { version = "0.10.5", default-features = false, features = ["oid"] }
[[bench]]
name = "key"
[features]
default = ["std", "pem"]
nightly = ["num-bigint/nightly"]
serde = ["num-bigint/serde", "serde_crate"]
expose-internals = []
std = ["digest/std", "pkcs1/std", "pkcs8/std", "rand_core/std", "signature/std"]
pem = ["pkcs1/pem", "pkcs8/pem"]
pkcs5 = ["pkcs8/encryption"]
getrandom = ["rand_core/getrandom"]
[package.metadata.docs.rs]
features = ["std", "pem", "serde", "expose-internals", "sha2"]
rustdoc-args = ["--cfg", "docsrs"]
[profile.dev]
opt-level = 2