[package]
edition = "2021"
name = "dcap-qvl"
version = "0.3.11"
authors = ["Kevin Wang <wy721@qq.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "This crate implements the quote verification logic for DCAP (Data Center Attestation Primitives) in pure Rust."
readme = "README.md"
license = "MIT"
repository = "https://github.com/Phala-Network/dcap-qvl"
[features]
_anycrypto = []
borsh = ["dep:borsh"]
borsh_schema = [
"borsh",
"borsh/unstable__schema",
]
contract = ["getrandom"]
default = [
"std",
"report",
"ring",
"rustcrypto",
]
js = [
"getrandom/js",
"serde-wasm-bindgen",
"wasm-bindgen",
]
python = [
"pyo3",
"pyo3-async-runtimes",
"tokio",
"std",
"report",
"ring",
]
report = [
"std",
"tracing",
"futures",
"reqwest",
]
ring = [
"dep:ring",
"dcap-qvl-webpki/ring",
"_anycrypto",
]
rustcrypto = [
"dep:sha2",
"dep:p256",
"dep:signature",
"dcap-qvl-webpki/rustcrypto",
"_anycrypto",
]
std = [
"serde/std",
"scale/std",
"scale-info/std",
"const-oid/std",
"pem/std",
"asn1_der/std",
"der/std",
"serde_json",
"anyhow",
"urlencoding",
"borsh?/std",
]
[lib]
name = "dcap_qvl"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "verify_quote"
path = "tests/verify_quote.rs"
[dependencies.anyhow]
version = "1.0.100"
optional = true
[dependencies.asn1_der]
version = "0.7"
features = ["native_types"]
default-features = false
[dependencies.base64]
version = "0.22.1"
features = ["alloc"]
default-features = false
[dependencies.borsh]
version = "1.6.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.byteorder]
version = "1.5.0"
default-features = false
[dependencies.chrono]
version = "0.4.42"
features = [
"alloc",
"serde",
]
default-features = false
[dependencies.const-oid]
version = "0.9.5"
default-features = false
[dependencies.dcap-qvl-webpki]
version = "=0.103.4"
features = ["alloc"]
[dependencies.der]
version = "0.7.8"
features = ["alloc"]
default-features = false
[dependencies.derive_more]
version = "2.1.1"
features = ["display"]
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.hex]
version = "0.4"
features = ["alloc"]
default-features = false
[dependencies.log]
version = "0.4.29"
default-features = false
[dependencies.p256]
version = "0.13"
features = ["ecdsa"]
optional = true
default-features = false
[dependencies.pem]
version = "3"
default-features = false
[dependencies.pyo3]
version = "0.25"
features = [
"extension-module",
"abi3-py38",
"generate-import-lib",
]
optional = true
[dependencies.pyo3-async-runtimes]
version = "0.25"
features = ["tokio-runtime"]
optional = true
[dependencies.reqwest]
version = "0.12.24"
features = [
"rustls-tls",
"blocking",
"hickory-dns",
]
optional = true
default-features = false
[dependencies.ring]
version = "0.17"
features = ["alloc"]
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1.11"
default-features = false
[dependencies.scale]
version = "3.6.12"
features = ["derive"]
default-features = false
package = "parity-scale-codec"
[dependencies.scale-info]
version = "2.11.6"
features = ["derive"]
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
default-features = false
[dependencies.serde-wasm-bindgen]
version = "0.6.5"
optional = true
[dependencies.serde_bytes]
version = "0.1"
package = "serde-human-bytes"
[dependencies.serde_json]
version = "1.0.148"
features = ["preserve_order"]
optional = true
[dependencies.sha2]
version = "0.10"
optional = true
default-features = false
[dependencies.signature]
version = "2.2"
optional = true
default-features = false
[dependencies.tokio]
version = "1.49.0"
features = ["full"]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.urlencoding]
version = "2"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.95"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.56"
[dependencies.x509-cert]
version = "0.2.4"
default-features = false
[dev-dependencies.hex-literal]
version = "1.1.0"
[dev-dependencies.insta]
version = "1.46.0"
[dev-dependencies.reqwest]
version = "0.12.24"
[dev-dependencies.serde_json]
version = "1.0.148"
[dev-dependencies.tokio]
version = "1.49.0"
features = ["full"]
[lints.clippy]
arithmetic_side_effects = "deny"
expect_used = "deny"
indexing_slicing = "deny"
unwrap_used = "deny"