Cargo.toml (4542B)
1 [package] 2 name = "c2pa" 3 version = "0.32.2" 4 description = "Rust SDK for C2PA (Coalition for Content Provenance and Authenticity) implementors" 5 authors = [ 6 "Maurice Fisher <mfisher@adobe.com>", 7 "Gavin Peacock <gpeacock@adobe.com>", 8 "Eric Scouten <scouten@adobe.com>", 9 "Leonard Rosenthol <lrosenth@adobe.com>", 10 "Dave Kozma <dkozma@adobe.com>", 11 ] 12 license = "MIT OR Apache-2.0" 13 documentation = "https://docs.rs/c2pa" 14 homepage = "https://contentauthenticity.org" 15 repository = "https://github.com/contentauth/c2pa-rs" 16 readme = "../README.md" 17 keywords = ["xmp", "metadata"] 18 categories = ["api-bindings"] 19 edition = "2021" 20 rust-version = "1.74.0" 21 exclude = ["tests/fixtures"] 22 23 [package.metadata.docs.rs] 24 all-features = true 25 rustdoc-args = ["--cfg", "docsrs"] 26 27 [features] 28 default = ["v1_api"] 29 add_thumbnails = ["image"] 30 psxxx_ocsp_stapling_experimental = [] 31 file_io = ["openssl_sign"] 32 serialize_thumbnails = [] 33 no_interleaved_io = ["file_io"] 34 fetch_remote_manifests = [] 35 openssl_sign = ["openssl"] 36 json_schema = ["dep:schemars"] 37 pdf = ["dep:lopdf"] 38 v1_api = [] 39 unstable_api = [] 40 41 # The diagnostics feature is unsupported and might be removed. 42 # It enables some low-overhead timing features used in our development cycle. 43 diagnostics = [] 44 45 [[example]] 46 name = "client" 47 required-features = ["file_io"] 48 49 [[example]] 50 name = "show" 51 required-features = ["file_io"] 52 53 [[example]] 54 name = "v2show" 55 required-features = ["unstable_api"] 56 57 [[example]] 58 name = "v2api" 59 required-features = ["unstable_api"] 60 61 62 [lib] 63 crate-type = ["lib"] 64 65 [dependencies] 66 asn1-rs = "0.6.1" 67 async-generic = "1.1.0" 68 async-trait = { version = "0.1.77" } 69 atree = "0.5.2" 70 base64 = "0.22.1" 71 bcder = "0.7.1" 72 bytes = "1.4.0" 73 byteorder = { version = "1.4.3", default-features = false } 74 byteordered = "0.6.0" 75 chrono = { version = "0.4.27", default-features = false, features = [ 76 "serde", 77 "wasmbind", 78 ] } 79 ciborium = "0.2.0" 80 config = { version = "0.14.0", default-features = false, features = [ 81 "json", 82 "json5", 83 "toml", 84 "ron", 85 "ini", 86 ] } 87 conv = "0.3.3" 88 coset = "0.3.1" 89 extfmt = "0.1.1" 90 fast-xml = "0.23.1" 91 hex = "0.4.3" 92 # Version 1.13.0 doesn't compile under Rust < 1.75, pinning to 1.12.0 93 id3 = "=1.12.0" 94 img-parts = "0.3.0" 95 jfifdump = "0.5.1" 96 lopdf = { version = "0.32.0", optional = true } 97 lazy_static = "1.4.0" 98 memchr = "2.7.1" 99 multibase = "0.9.0" 100 multihash = "0.11.4" 101 mp4 = "0.14.0" 102 pem = "3.0.2" 103 png_pong = "0.9.1" 104 rand = "0.8.5" 105 rand_chacha = "0.3.1" 106 range-set = "0.0.11" 107 rasn-ocsp = "0.15.3" 108 rasn-pkix = "0.15.3" 109 rasn = "0.15.3" 110 riff = "1.0.1" 111 schemars = { version = "0.8.13", optional = true } 112 serde = { version = "1.0.197", features = ["derive"] } 113 serde_bytes = "0.11.5" 114 serde_cbor = "0.11.1" 115 serde_derive = "1.0.197" 116 serde_json = { version = "1.0.114", features = ["preserve_order"] } 117 serde_with = "3.4.0" 118 serde-transcode = "1.1.1" 119 sha2 = "0.10.2" 120 tempfile = "3.10.1" 121 thiserror = "1.0.40" 122 treeline = "0.1.0" 123 url = "2.2.2, <2.5.1" # Can't use 2.5.1 or newer until new license is reviewed. 124 uuid = { version = "1.3.1", features = ["serde", "v4", "wasm-bindgen"] } 125 x509-parser = "0.16.0" 126 x509-certificate = "0.23.1" 127 zip = { version = "2.1.3", default-features = false } 128 tracing = "0.1.40" 129 130 [target.'cfg(not(target_arch = "wasm32"))'.dependencies] 131 ureq = "2.4.0" 132 image = { version = "0.25.1", default-features = false, features = [ 133 "jpeg", 134 "png", 135 ], optional = true } 136 instant = "0.1.12" 137 openssl = { version = "0.10.61", features = ["vendored"], optional = true } 138 139 [target.'cfg(target_arch = "wasm32")'.dependencies] 140 console_log = { version = "1.0.0", features = ["color"] } 141 ed25519-dalek = "2.1.1" 142 getrandom = { version = "0.2.7", features = ["js"] } 143 # We need to use the `inaccurate` flag here to ensure usage of the JavaScript Date API 144 # to handle certificate timestamp checking correctly. 145 instant = { version = "0.1.12", features = ["wasm-bindgen", "inaccurate"] } 146 js-sys = "0.3.58" 147 rsa = "0.9.6" 148 serde-wasm-bindgen = "0.6.5" 149 spki = "0.7.3" 150 wasm-bindgen = "0.2.83" 151 wasm-bindgen-futures = "0.4.31" 152 web-sys = { version = "0.3.58", features = [ 153 "Crypto", 154 "SubtleCrypto", 155 "CryptoKey", 156 "Window", 157 "WorkerGlobalScope", 158 ] } 159 160 [dev-dependencies] 161 anyhow = "1.0.40" 162 mockall = "0.12.1" 163 c2pa = { path = ".", features = [ 164 "unstable_api", 165 ] } # allow integration tests to use the new API 166 167 [target.'cfg(target_arch = "wasm32")'.dev-dependencies] 168 wasm-bindgen-test = "0.3.31" 169 170 [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] 171 actix = "0.13.1" 172 ed25519-dalek = "2.1.1" 173 tokio = { version = "1.36.0", features = ["full"] }