[package]
edition = "2024"
rust-version = "1.85"
name = "picky"
version = "7.0.0-rc.21"
authors = [
"Benoît CORTIER <bcortier@devolutions.net>",
"Jonathan Trepanier <jtrepanier@devolutions.net>",
"François Dubois <fdubois@devolutions.net>",
"Richard Markiewicz <rmarkiewicz@devolutions.net>",
"Ionut Mihalcea <ionut.mihalcea@arm.com>",
"Kim Altintop <kim@monadic.xyz>",
"Alexandr Yusuk <aleksandr.yusuk@apriorit.com>",
"Flavio Castelli <flavio@castelli.me>",
"Xynnn_ <xynnn@linux.alibaba.com>",
]
build = false
include = [
"src/**/*",
"README.md",
"CHANGELOG.md",
"LICENSE-*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable X.509, PKI, JOSE and HTTP signature implementation."
readme = "README.md"
keywords = [
"x509",
"jwt",
"signature",
"jose",
"pki",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Devolutions/picky-rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
chrono_conversion = [
"dep:chrono",
"picky-asn1/chrono_conversion",
]
ctl = [
"picky-asn1-x509/ctl",
"pkcs7",
"chrono_conversion",
]
ctl_http_fetch = [
"dep:reqwest",
"dep:cab",
"ctl",
]
default = [
"x509",
"jose",
"http_signature",
"http_trait_impl",
"pkcs12",
]
http_signature = []
http_timestamp = ["dep:reqwest"]
http_trait_impl = ["dep:http"]
jose = [
"dep:serde_json",
"dep:aes-gcm",
"dep:cbc",
"dep:aes-kw",
"dep:aead",
"dep:aes",
"dep:cipher",
"dep:ctr",
"dep:ghash",
"dep:polyval",
"dep:universal-hash",
]
pkcs12 = [
"picky-asn1-x509/pkcs12",
"dep:des",
"dep:rc2",
"dep:cbc",
"dep:pbkdf2",
"dep:hmac",
"dep:aes",
"x509",
"dep:cipher",
]
pkcs7 = [
"x509",
"picky-asn1-x509/pkcs7",
]
putty = [
"dep:argon2",
"dep:hmac",
"ssh",
"dep:blake2",
"dep:password-hash",
]
ssh = [
"dep:byteorder",
"dep:aes",
"dep:ctr",
"dep:cbc",
"dep:bcrypt-pbkdf",
"dep:lexical-sort",
"dep:cipher",
"dep:blowfish",
"dep:pbkdf2",
"dep:hmac",
]
time_conversion = [
"dep:time",
"picky-asn1/time_conversion",
]
wincert = [
"x509",
"dep:byteorder",
]
x509 = []
[lib]
name = "picky"
path = "src/lib.rs"
[dependencies.aead]
version = "=0.6.0-rc.5"
optional = true
[dependencies.aes]
version = "=0.9.0-rc.2"
optional = true
[dependencies.aes-gcm]
version = "=0.11.0-rc.2"
optional = true
[dependencies.aes-kw]
version = "=0.3.0-rc.1"
optional = true
[dependencies.argon2]
version = "=0.6.0-rc.5"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bcrypt-pbkdf]
version = "=0.11.0-rc.1"
optional = true
[dependencies.blake2]
version = "=0.11.0-rc.3"
optional = true
[dependencies.block-buffer]
version = "0.11"
[dependencies.block-padding]
version = "0.4"
[dependencies.blowfish]
version = "=0.10.0-rc.1"
optional = true
[dependencies.byteorder]
version = "1.5"
optional = true
[dependencies.cab]
version = "0.6"
optional = true
[dependencies.cbc]
version = "=0.2.0-rc.1"
features = ["alloc"]
optional = true
[dependencies.chrono]
version = "0.4"
features = ["clock"]
optional = true
default-features = false
[dependencies.cipher]
version = "=0.5.0-rc.3"
optional = true
[dependencies.crypto-bigint]
version = "=0.7.0-rc.18"
[dependencies.crypto-common]
version = "=0.2.0-rc.8"
[dependencies.crypto-primes]
version = "=0.7.0-pre.6"
[dependencies.ctr]
version = "=0.10.0-rc.2"
optional = true
[dependencies.curve25519-dalek]
version = "=5.0.0-pre.4"
[dependencies.der]
version = "=0.8.0-rc.10"
[dependencies.des]
version = "=0.9.0-rc.1"
optional = true
[dependencies.digest]
version = "=0.11.0-rc.5"
[dependencies.ecdsa]
version = "=0.17.0-rc.11"
[dependencies.ed25519]
version = "=3.0.0-rc.2"
[dependencies.ed25519-dalek]
version = "=3.0.0-pre.4"
features = [
"hazmat",
"rand_core",
]
[dependencies.elliptic-curve]
version = "=0.14.0-rc.19"
[dependencies.ff]
version = "=0.14.0-pre.0"
default-features = false
[dependencies.ghash]
version = "=0.6.0-rc.3"
optional = true
[dependencies.group]
version = "=0.14.0-pre.0"
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "=0.13.0-rc.3"
[dependencies.hmac]
version = "=0.13.0-rc.3"
optional = true
[dependencies.http]
version = "1.1"
optional = true
[dependencies.inout]
version = "0.2.2"
[dependencies.keccak]
version = "=0.2.0-rc.0"
[dependencies.lexical-sort]
version = "0.3"
optional = true
[dependencies.md5]
version = "=0.11.0-rc.2"
features = ["oid"]
package = "md-5"
[dependencies.p256]
version = "=0.14.0-rc.3"
features = ["ecdh"]
[dependencies.p384]
version = "=0.14.0-rc.3"
features = ["ecdh"]
[dependencies.p521]
version = "=0.14.0-rc.3"
features = ["ecdh"]
[dependencies.password-hash]
version = "=0.6.0-rc.8"
optional = true
[dependencies.pbkdf2]
version = "=0.13.0-rc.1"
optional = true
[dependencies.picky-asn1]
version = "0.10"
features = ["zeroize"]
[dependencies.picky-asn1-der]
version = "0.5"
[dependencies.picky-asn1-x509]
version = "0.15"
features = [
"legacy",
"zeroize",
]
[dependencies.pkcs1]
version = "=0.8.0-rc.4"
[dependencies.pkcs8]
version = "=0.11.0-rc.8"
[dependencies.polyval]
version = "=0.7.0-rc.3"
optional = true
[dependencies.primefield]
version = "=0.14.0-rc.3"
[dependencies.primeorder]
version = "=0.14.0-rc.3"
[dependencies.rand]
version = "=0.10.0-rc.6"
[dependencies.rand_core]
version = "=0.10.0-rc-3"
[dependencies.rc2]
version = "=0.9.0-pre.0"
optional = true
[dependencies.reqwest]
version = "0.13"
features = ["blocking"]
optional = true
default-features = false
[dependencies.rfc6979]
version = "=0.5.0-rc.3"
[dependencies.rsa]
version = "=0.10.0-rc.12"
features = ["std"]
[dependencies.sec1]
version = "=0.8.0-rc.11"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha1]
version = "=0.11.0-rc.2"
features = ["oid"]
[dependencies.sha2]
version = "=0.11.0-rc.3"
features = ["oid"]
[dependencies.sha3]
version = "=0.11.0-rc.3"
features = ["oid"]
[dependencies.signature]
version = "=3.0.0-rc.6"
[dependencies.spki]
version = "=0.8.0-rc.4"
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
optional = true
[dependencies.universal-hash]
version = "=0.6.0-rc.4"
optional = true
[dependencies.x25519-dalek]
version = "=3.0.0-pre.4"
features = ["static_secrets"]
[dependencies.zeroize]
version = "1.8"
[dev-dependencies.cfg-if]
version = "1.0"
[dev-dependencies.expect-test]
version = "1"
[dev-dependencies.picky-test-data]
version = "0.1"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.rand_chacha]
version = "=0.10.0-rc.6"
[dev-dependencies.ring]
version = "0.17"
[dev-dependencies.rstest]
version = "0.26"
[dev-dependencies.tempfile]
version = "3.22"