# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "webpki-roots"
version = "0.25.4"
description = "Mozilla's CA root certificates for use with webpki"
homepage = "https://github.com/rustls/webpki-roots"
readme = "README.md"
license = "MPL-2.0"
repository = "https://github.com/rustls/webpki-roots"

[dev-dependencies.chrono]
version = "0.4.26"
features = ["clock"]
default-features = false

[dev-dependencies.csv]
version = "1.2.2"

[dev-dependencies.hex]
version = "0.4.3"

[dev-dependencies.num-bigint]
version = "0.4.3"

[dev-dependencies.percent-encoding]
version = "2.3"

[dev-dependencies.rcgen]
version = "0.11.1"

[dev-dependencies.reqwest]
version = "0.11"
features = ["rustls-tls-manual-roots"]

[dev-dependencies.ring]
version = "0.16.20"

[dev-dependencies.rustls-pemfile]
version = "1"

[dev-dependencies.serde]
version = "1.0.183"
features = ["derive"]

[dev-dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.webpki]
version = "0.101.2"
package = "rustls-webpki"

[dev-dependencies.x509-parser]
version = "0.15.1"

[dev-dependencies.yasna]
version = "0.5.2"
