# 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 = "2021"
rust-version = "1.88.0"
name = "c2pa"
version = "0.72.1"
authors = [
    "Maurice Fisher <mfisher@adobe.com>",
    "Gavin Peacock <gpeacock@adobe.com>",
    "Eric Scouten <scouten@adobe.com>",
    "Leonard Rosenthol <lrosenth@adobe.com>",
    "Dave Kozma <dkozma@adobe.com>",
    "Dylan Ross <dyross@adobe.com>",
]
build = false
exclude = ["tests/fixtures"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for C2PA (Coalition for Content Provenance and Authenticity) implementors"
homepage = "https://contentauthenticity.org"
documentation = "https://docs.rs/c2pa"
readme = "README.md"
keywords = [
    "xmp",
    "metadata",
]
categories = ["api-bindings"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/contentauth/c2pa-rs"
resolver = "3"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
add_thumbnails = ["image"]
default = [
    "openssl",
    "default_http",
]
default_http = [
    "http_reqwest",
    "http_ureq",
    "http_wasi",
    "http_wstd",
]
diagnostics = []
fetch_remote_manifests = ["dep:wasi"]
file_io = []
http_reqwest = ["dep:reqwest"]
http_reqwest_blocking = [
    "dep:reqwest",
    "reqwest/blocking",
]
http_ureq = ["dep:ureq"]
http_wasi = ["dep:wasi"]
http_wstd = ["dep:wstd"]
json_schema = ["dep:schemars"]
openssl = ["dep:openssl"]
pdf = ["dep:lopdf"]
rust_native_crypto = [
    "dep:const-oid",
    "dep:ecdsa",
    "dep:num-bigint-dig",
    "dep:p256",
    "dep:p384",
    "dep:p521",
    "dep:pkcs1",
    "dep:rsa",
    "dep:spki",
]

[lib]
name = "c2pa"
crate-type = ["lib"]
path = "src/lib.rs"

[[example]]
name = "api"
path = "examples/api.rs"

[[example]]
name = "builder_sample"
path = "examples/builder_sample.rs"

[[example]]
name = "cawg_identity"
path = "examples/cawg_identity.rs"
required-features = ["file_io"]

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

[[example]]
name = "data_hash"
path = "examples/data_hash.rs"

[[example]]
name = "fragmented_bmff"
path = "examples/fragmented_bmff.rs"
required-features = ["file_io"]

[[example]]
name = "show"
path = "examples/show.rs"
required-features = ["file_io"]

[[example]]
name = "v2show"
path = "examples/v2show.rs"

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

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

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

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

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

[[bench]]
name = "read"
path = "benches/read.rs"
harness = false

[[bench]]
name = "sign"
path = "benches/sign.rs"
harness = false

[dependencies.asn1-rs]
version = "0.6.2"

[dependencies.async-generic]
version = "1.1"

[dependencies.async-trait]
version = "0.1.78"

[dependencies.atree]
version = "0.5.2"

[dependencies.base64]
version = "0.22.1"

[dependencies.bcder]
version = "0.7.3"

[dependencies.byteorder]
version = "1.4.3"
default-features = false

[dependencies.byteordered]
version = "0.6.0"

[dependencies.bytes]
version = "1.7.2"

[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
default-features = false

[dependencies.ciborium]
version = "0.2.2"

[dependencies.config]
version = "0.14.0"
features = [
    "json",
    "toml",
]
default-features = false

[dependencies.const-hex]
version = "1.14"

[dependencies.const-oid]
version = "0.9.6"
optional = true

[dependencies.coset]
version = "0.4.0"

[dependencies.der]
version = "0.7.9"
features = ["alloc"]

[dependencies.ecdsa]
version = "0.16.9"
features = [
    "digest",
    "sha2",
]
optional = true

[dependencies.ed25519-dalek]
version = "2.1.1"
features = [
    "alloc",
    "digest",
    "pem",
    "pkcs8",
    "rand_core",
]

[dependencies.env_logger]
version = "0.10.0"

[dependencies.extfmt]
version = "0.1.1"

[dependencies.hex]
version = "0.4.3"

[dependencies.hex-literal]
version = "1.0.0"

[dependencies.http]
version = "1.3.1"

[dependencies.id3]
version = "=1.16.1"

[dependencies.img-parts]
version = "0.3.2"

[dependencies.iref]
version = "3.2.2"
features = ["serde"]

[dependencies.jfifdump]
version = "0.6.0"

[dependencies.lazy_static]
version = "1.4.0"

[dependencies.log]
version = "0.4.8"

[dependencies.lopdf]
version = "0.38.0"
optional = true

[dependencies.memchr]
version = "2.7.6"

[dependencies.mp4]
version = "0.14.0"

[dependencies.nom]
version = "7.1.3"

[dependencies.non-empty-string]
version = "=0.2.4"
features = ["serde"]

[dependencies.nonempty-collections]
version = "0.3.1"
features = ["serde"]

[dependencies.num-bigint-dig]
version = "0.8.4"
optional = true

[dependencies.p256]
version = "0.13.2"
optional = true

[dependencies.p384]
version = "0.13.0"
optional = true

[dependencies.p521]
version = "0.13.3"
features = [
    "pkcs8",
    "digest",
    "ecdsa",
]
optional = true

[dependencies.pem]
version = "3.0.6"

[dependencies.pkcs1]
version = "0.7.5"
optional = true

[dependencies.pkcs8]
version = "0.10.2"

[dependencies.png_pong]
version = "0.9.1"

[dependencies.quick-xml]
version = "0.38.3"

[dependencies.rand]
version = "0.8.5"

[dependencies.rand_chacha]
version = "0.3.1"

[dependencies.range-set]
version = "0.0.11"

[dependencies.rasn]
version = "0.26.0"

[dependencies.rasn-cms]
version = "0.26.0"

[dependencies.rasn-ocsp]
version = "0.26.0"

[dependencies.rasn-pkix]
version = "0.26.0"

[dependencies.regex]
version = "1.11"

[dependencies.riff]
version = "2.0.0"

[dependencies.rsa]
version = "0.9.7"
features = [
    "pem",
    "sha2",
    "std",
]
optional = true

[dependencies.schemars]
version = "1.0.4"
optional = true

[dependencies.serde]
version = "1.0.225"
features = ["derive"]

[dependencies.serde-transcode]
version = "1.1.1"

[dependencies.serde_bytes]
version = "0.11.14"

[dependencies.serde_cbor]
version = "0.11.1"

[dependencies.serde_derive]
version = "1.0.197"

[dependencies.serde_json]
version = "1.0.117"
features = ["preserve_order"]

[dependencies.serde_with]
version = "3.15.1"

[dependencies.sha1]
version = "0.10.6"

[dependencies.sha2]
version = "0.10.6"

[dependencies.spki]
version = "0.7.3"
optional = true

[dependencies.static-iref]
version = "3.0"

[dependencies.tempfile]
version = "3.23.0"

[dependencies.thiserror]
version = "2.0.17"

[dependencies.toml]
version = "0.8.23"

[dependencies.url]
version = "2.5.3"

[dependencies.uuid]
version = "1.18.0"
features = [
    "serde",
    "v4",
]

[dependencies.web-time]
version = "1.1"

[dependencies.x509-parser]
version = "0.16.0"

[dependencies.zeroize]
version = "1.8"
features = ["zeroize_derive"]

[dependencies.zip]
version = "6.0.0"
default-features = false

[dev-dependencies.anyhow]
version = "1.0.97"

[dev-dependencies.glob]
version = "0.3.1"

[dev-dependencies.hex-literal]
version = "1.0.0"

[dev-dependencies.jumbf]
version = "0.4.0"

[dev-dependencies.mockall]
version = "0.13.1"

[dev-dependencies.once_cell]
version = "1.17.2"

[target.'cfg(all(target_arch = "aarch64", target_os = "macos"))'.dependencies.sha2]
version = "0.10.6"
features = ["asm"]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.chrono]
version = "0.4.39"
features = [
    "clock",
    "serde",
    "wasmbind",
]
default-features = false

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.console_log]
version = "1.0.0"
features = ["color"]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.getrandom]
version = "0.3.4"
features = ["wasm_js"]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.getrandom_02]
version = "0.2"
features = ["js"]
package = "getrandom"

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.js-sys]
version = "0.3.58"

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.serde-wasm-bindgen]
version = "0.6.5"

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.uuid]
version = "1.18.0"
features = [
    "serde",
    "v4",
    "js",
]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.wasm-bindgen]
version = "0.2.106"

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.wasm-bindgen-futures]
version = "0.4.31"

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies.web-sys]
version = "0.3.58"
features = [
    "console",
    "Crypto",
    "SubtleCrypto",
    "CryptoKey",
    "Window",
    "WorkerGlobalScope",
]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dev-dependencies.wasm-bindgen-test]
version = "0.3.55"

[target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies.chrono]
version = "0.4.39"
features = ["now"]
default-features = false

[target.'cfg(any(target_os = "wasi", not(target_arch = "wasm32")))'.dependencies.image]
version = "0.25.6"
features = [
    "png",
    "jpeg",
    "gif",
    "webp",
    "tiff",
]
optional = true
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.openssl]
version = "0.10.72"
features = ["vendored"]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ureq]
version = "3.1.0"
features = ["rustls"]
optional = true
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "3.0.5"
package = "codspeed-criterion-compat"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.httpmock]
version = "0.8.2"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.44.2"
features = ["full"]

[target.'cfg(not(target_os = "wasi"))'.dependencies.reqwest]
version = "0.12.23"
features = [
    "http2",
    "system-proxy",
    "rustls-tls",
]
optional = true
default-features = false

[target.'cfg(target_arch = "wasm32")'.dependencies.const-oid]
version = "0.9.6"

[target.'cfg(target_arch = "wasm32")'.dependencies.ecdsa]
version = "0.16.9"
features = [
    "digest",
    "sha2",
]

[target.'cfg(target_arch = "wasm32")'.dependencies.num-bigint-dig]
version = "0.8.4"

[target.'cfg(target_arch = "wasm32")'.dependencies.p256]
version = "0.13.2"

[target.'cfg(target_arch = "wasm32")'.dependencies.p384]
version = "0.13.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.p521]
version = "0.13.3"
features = [
    "pkcs8",
    "digest",
    "ecdsa",
]

[target.'cfg(target_arch = "wasm32")'.dependencies.pkcs1]
version = "0.7.5"

[target.'cfg(target_arch = "wasm32")'.dependencies.rsa]
version = "0.9.6"
features = ["sha2"]

[target.'cfg(target_arch = "wasm32")'.dependencies.spki]
version = "0.7.3"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion]
version = "3.0.5"
default-features = false
package = "codspeed-criterion-compat"

[target.'cfg(target_os = "wasi")'.dependencies.wasi]
version = "0.14.3"
optional = true

[target.'cfg(target_os = "wasi")'.dependencies.wstd]
version = "0.5.4"
optional = true

[target.'cfg(target_os = "wasi")'.dev-dependencies.wstd]
version = "0.5.4"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(test)"]
