c2pa-rs

A fork of https://github.com/contentauth/c2pa-rs/
git clone git://archive.git.mtrnord.blog/mtrnords-photography-manager/c2pa-rs.git
Log | Files | Refs | README

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"] }