mbedtls 0.6.3

Idiomatic Rust wrapper for MbedTLS, allowing you to use MbedTLS with only safe code while being able to use such great Rust features like error handling and closures. Building on MbedTLS's focus on embedded use, this crate can be used in a no_std environment.
[package]
name = "mbedtls"
version = "0.6.3"
authors = ["Jethro Beekman <jethro@fortanix.com>"]
build = "build.rs"
edition = "2018"
license = "Apache-2.0/GPL-2.0+"
description = """
Idiomatic Rust wrapper for MbedTLS, allowing you to use MbedTLS with only safe
code while being able to use such great Rust features like error handling and
closures.

Building on MbedTLS's focus on embedded use, this crate can be used in a no_std
environment."""
readme = "../README.md"
repository = "https://github.com/fortanix/rust-mbedtls"
documentation = "https://docs.rs/mbedtls/"
keywords = ["MbedTLS","mbed","TLS","SSL","cryptography"]

[dependencies]
bitflags = "1"
chrono = { version = "0.4", optional = true }
core_io = { version = "0.1", features = ["collections"], optional = true }
spin = { version = "0.4.0", default-features = false, optional = true }
serde = { version = "1.0.7", default-features = false }
serde_derive = "1.0.7"
byteorder = "1.0.0"
yasna = { version = "0.2", optional = true, features = ["num-bigint", "bit-vec"] }
num-bigint = { version = "0.2", optional = true }
bit-vec = { version = "0.5", optional = true }
block-modes = { version = "0.3", optional = true }
rc2 = { version = "0.3", optional = true }

[target.x86_64-fortanix-unknown-sgx.dependencies]
rs-libc = "0.1.0"

[dependencies.mbedtls-sys-auto]
version = "2.18.5"
default-features = false
features = ["custom_printf", "trusted_cert_callback"]
path = "../mbedtls-sys"

[dev-dependencies]
libc = "0.2.0"
rand = "0.4.0"
serde_cbor = "0.6"
hex = "0.3"
matches = "0.1.8"

[build-dependencies]
cc = "1.0"

[features]
# Features are documented in the README
default = ["std", "aesni", "time", "padlock", "legacy_protocols", "use_libc"]
std = ["mbedtls-sys-auto/std", "serde/std", "yasna"]
threading = []
pthread = ["threading","std","mbedtls-sys-auto/pthread"]
spin_threading = ["threading","spin","mbedtls-sys-auto/custom_threading"]
sgx = ["std", "rust_threading", "rdrand", "force_aesni_support"]
rust_threading = ["threading", "mbedtls-sys-auto/custom_threading", "std"]
force_aesni_support = ["mbedtls-sys-auto/custom_has_support","mbedtls-sys-auto/aes_alt","aesni"]
mpi_force_c_code = ["mbedtls-sys-auto/mpi_force_c_code"]
rdrand = []
use_libc = ["mbedtls-sys-auto/libc"]
custom_gmtime_r = ["mbedtls-sys-auto/custom_gmtime_r", "chrono"]
custom_time = ["mbedtls-sys-auto/custom_time", "chrono"]
aesni = ["mbedtls-sys-auto/aesni"]
zlib = ["mbedtls-sys-auto/zlib"]
time = ["mbedtls-sys-auto/time"]
padlock = ["mbedtls-sys-auto/padlock"]
legacy_protocols = ["mbedtls-sys-auto/legacy_protocols"]
dsa = ["std", "yasna", "num-bigint", "bit-vec"]
pkcs12 = ["std", "yasna"]
pkcs12_rc2 = ["pkcs12", "rc2", "block-modes"]

[[example]]
name = "client"
path = "examples/client.rs"
required-features = ["std"]

[[example]]
name = "server"
path = "examples/server.rs"
required-features = ["std"]

[[test]]
name = "client_server"
path = "tests/client_server.rs"
required-features = ["std"]

[[test]]
name = "ec"
path = "tests/ec.rs"

[[test]]
name = "pbkdf"
path = "tests/pbkdf.rs"

[[test]]
name = "mbedtls_self_tests"
path = "tests/mbedtls_self_tests.rs"

[[test]]
name = "bignum"
path = "tests/bignum.rs"

[[test]]
name = "rsa"
path = "tests/rsa.rs"

[[test]]
name = "save_restore"
path = "tests/save_restore.rs"

[[test]]
name = "ssl_conf_ca_cb"
path = "tests/ssl_conf_ca_cb.rs"
required-features = ["std"]

[[test]]
name = "ssl_conf_verify"
path = "tests/ssl_conf_verify.rs"
required-features = ["std"]