[package]
name = "c2pa-crypto"
version = "0.6.2"
description = "Cryptography internals for c2pa-rs crate"
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>"
]
license = "MIT OR Apache-2.0"
documentation = "https://docs.rs/c2pa-crypto"
homepage = "https://contentauthenticity.org"
repository = "https://github.com/contentauth/c2pa-rs"
readme = "README.md"
keywords = ["metadata"]
categories = ["api-bindings"]
edition = "2021"
rust-version = "1.82.0"
exclude = ["tests/fixtures"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test)'] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
json_schema = ["dep:schemars"]
rust_native_crypto = [
"dep:const-oid",
"dep:der",
"dep:ed25519-dalek",
"dep:num-bigint-dig",
"dep:pkcs1",
"dep:rsa",
"dep:spki",
]
[dependencies]
asn1-rs = "0.6.2"
async-generic = "1.1"
async-trait = "0.1.77"
base64 = "0.22.1"
bcder = "0.7.3"
bytes = "1.7.2"
c2pa-status-tracker = { path = "../status-tracker", version = "0.5.0" }
ciborium = "0.2.2"
const-hex = "1.14"
const-oid = { version = "0.9.6", optional = true }
coset = "0.3.8"
der = { version = "0.7.9", optional = true }
ecdsa = { version = "0.16.9", features = ["digest", "sha2"] }
ed25519-dalek = { version = "2.1.1", features = ["alloc", "digest", "pem", "pkcs8"], optional = true }
getrandom = { version = "0.2.7", features = ["js"] }
hex = "0.4.3"
nom = "7.1.3"
num-bigint-dig = { version = "0.8.4", optional = true }
p256 = "0.13.2"
p384 = "0.13.0"
p521 = { version = "0.13.3", features = ["pkcs8", "digest", "ecdsa"] }
pkcs1 = { version = "0.7.5", optional = true }
pkcs8 = "0.10.2"
rand = "0.8.5"
rasn = "0.22.0"
rasn-ocsp = "0.22.0"
rasn-pkix = "0.22.0"
rsa = { version = "0.9.7", features = ["pem", "sha2", "std"], optional = true }
schemars = { version = "0.8.21", optional = true }
serde = { version = "1.0.197", features = ["derive"] }
serde_bytes = "0.11.5"
sha1 = "0.10.6"
sha2 = "0.10.6"
spki = { version = "0.7.3", optional = true }
thiserror = "2.0.8"
web-time = "1.1"
x509-certificate = "0.21.0"
x509-parser = "0.16.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
openssl = { version = "0.10.61", features = ["vendored"] }
ureq = "2.4.0"
url = "2.5.3"
[package.metadata.cargo-udeps.ignore]
normal = ["openssl"]
[dependencies.chrono]
version = "0.4.39"
default-features = false
features = ["wasmbind"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.chrono]
version = "0.4.39"
default-features = false
features = ["now", "wasmbind"]
[target.'cfg(target_arch = "wasm32")'.dependencies]
async-trait = "0.1.77"
const-oid = "0.9.6"
der = "0.7.9"
ed25519-dalek = { version = "2.1.1", features = ["alloc", "digest", "pem", "pkcs8"] }
num-bigint-dig = "0.8.4"
pkcs1 = "0.7.5"
rsa = { version = "0.9.7", features = ["pem", "sha2"] }
spki = "0.7.3"
wasm-bindgen = "0.2.83"
wasm-bindgen-futures = "0.4.31"
web-sys = { version = "0.3.58", features = [
"console",
"Crypto",
"SubtleCrypto",
"CryptoKey",
"Window",
"WorkerGlobalScope",
] }
[target.'cfg(all(target_arch = "wasm32", not(target_os = "wasi")))'.dependencies]
getrandom = { version = "0.2.7", features = ["js"] }
js-sys = "0.3.58"
[dev-dependencies]
const-oid = "0.9.6"
der = "0.7.9"
ed25519-dalek = { version = "2.1.1", features = ["alloc", "digest", "pem", "pkcs8"] }
num-bigint-dig = "0.8.4"
pkcs1 = "0.7.5"
rsa = { version = "0.9.7", features = ["pem", "sha2"] }
spki = "0.7.3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
actix = "0.13.1"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.31"