[package]
edition = "2021"
rust-version = "1.88.0"
name = "c2pa"
version = "0.75.13"
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_nested_ingredients_de_serialization"
path = "tests/test_nested_ingredients_de_serialization.rs"
[[test]]
name = "test_reader"
path = "tests/test_reader.rs"
[[test]]
name = "timestamp_assertion"
path = "tests/timestamp_assertion.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.7.1"
[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.11.1"
[dependencies.c2pa_cbor]
version = "0.77.2"
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
default-features = false
[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.11.8"
[dependencies.extfmt]
version = "0.2.0"
[dependencies.hex]
version = "0.4.3"
[dependencies.hex-literal]
version = "1.0.0"
[dependencies.http]
version = "1.3.1"
[dependencies.id3]
version = "1.16.3"
[dependencies.img-parts]
version = "0.4.0"
[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.39.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.6"
features = ["serde"]
[dependencies.nonempty-collections]
version = "1.2.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.39.0"
[dependencies.rand]
version = "0.8.5"
[dependencies.rand_chacha]
version = "0.9.0"
features = ["os_rng"]
[dependencies.range-set]
version = "0.1.0"
[dependencies.rasn]
version = "0.28.2"
[dependencies.rasn-cms]
version = "0.28.2"
[dependencies.rasn-ocsp]
version = "0.28.2"
[dependencies.rasn-pkix]
version = "0.28.2"
[dependencies.regex]
version = "1.11"
[dependencies.riff]
version = "2.0.0"
[dependencies.rsa]
version = "0.9.10"
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_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.9.10"
[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.18.0"
[dependencies.zeroize]
version = "1.8"
features = ["zeroize_derive"]
[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.7.0"
[dev-dependencies.mockall]
version = "0.14.0"
[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")))'.dependencies.zip]
version = "7.0.0"
default-features = false
[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"))'.dependencies.zip]
version = "7.0.0"
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "4.2.1"
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.10"
features = ["sha2"]
[target.'cfg(target_arch = "wasm32")'.dependencies.spki]
version = "0.7.3"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion]
version = "4.2.1"
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")'.dependencies.zip]
version = "6.0.0"
default-features = false
[target.'cfg(target_os = "wasi")'.dev-dependencies.wstd]
version = "0.5.4"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(test)"]