[package]
name = "picky"
version = "6.2.0"
authors = [
    "Benoît CORTIER <benoit.cortier@fried-world.eu>",
    "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>"
]
description = "Portable X.509, PKI, JOSE and HTTP signature implementation."
keywords = ["x509", "jwt", "signature", "jose", "pki"]
edition = "2018"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Devolutions/picky-rs"

[dependencies]
picky-asn1 = { version = "0.3", path = "../picky-asn1" }
picky-asn1-der = { version = "0.2", path = "../picky-asn1-der" }
picky-asn1-x509 = { version = "0.5", path = "../picky-asn1-x509", features = ["legacy"] }
serde = { version = "1.0", features = ["derive"] }
oid = { version = "^0.1.1", features = ["serde_support"] }
base64 = "0.12"
thiserror = "1"
chrono = { version = "0.4", optional = true }
serde_json = { version = "1.0", optional = true }
http = { version = "0.2", optional = true }

# /!\ ===== cryptography dependencies ===== /!\
# These should be updated as soon as possible.
# /!\ ===================================== /!\
sha1 = { package = "sha-1", version = "0.9" }
sha2 = "0.9"
sha3 = "0.9"
digest = "0.9"
rsa = "0.3"
rand = "0.7"
aes-gcm = { version = "0.6", optional = true }
num-bigint-dig = "0.6"

[dev-dependencies]
pretty_assertions = "^0.6"
hex = "0.4"
cfg-if = "0.1"
ring = "0.16"

[features]
default = ["x509", "jose", "http_signature", "http_trait_impl"]

# main features
x509 = []
jose = ["serde_json", "aes-gcm"]
http_signature = []

# secondary features
http_trait_impl = ["http"]
chrono_conversion = ["chrono", "picky-asn1/chrono_conversion"]
