Cargo Features

C2PA has no features set by default.

[dependencies]
c2pa = { version = "0.31.3", features = ["add_thumbnails", "psxxx_ocsp_stapling_experimental", "file_io", "serialize_thumbnails", "xmp_write", "no_interleaved_io", "fetch_remote_manifests", "openssl_sign", "json_schema", "pdf", "diagnostics"] }
add_thumbnails = image
psxxx_ocsp_stapling_experimental
file_io no_interleaved_io? = openssl_sign

Affects create_signer::from_files, ingredient::IngredientOptions, ingredient::DefaultOptions, temp_signer::get_ec_signer, temp_signer::get_ed_signer, temp_signer::get_rsa_signer, test::temp_signer_file, test::write_jpeg_placeholder_file, test::temp_signer_with_alg, thumbnail::make_thumbnail

serialize_thumbnails
xmp_write = xmp_toolkit
no_interleaved_io = file_io
fetch_remote_manifests
openssl_sign file_io? = openssl

Affects c2pa::create_signer, temp_signer_async::AsyncSignerAdapter

json_schema

Enables schemars

pdf

Enables lopdf ^0.31.0

Affects asset_handlers::pdf_io

diagnostics

The diagnostics feature is unsupported and might be removed.
It enables some low-overhead timing features used in our development cycle.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

image not wasm32 add_thumbnails?

Enables image ^0.24.7

openssl not wasm32 openssl_sign?
xmp_toolkit not wasm32 xmp_write?