Skip to content

Commit 9f77193

Browse files
fix: use c2pa-rs 0.91.7 and patched Python TLS roots
Select the patched native SDK for release builds and require certifi 2026.10.19 for both runtime tooling and artifact downloads. Document independent trust stores and keep contributor setup on the selected release. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 7ed2c20 commit 9f77193

5 files changed

Lines changed: 26 additions & 3 deletions

File tree

‎README.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,24 @@ To use the module in Python code, import the module like this:
4646
import c2pa
4747
```
4848

49+
### TLS trust stores
50+
51+
Release builds select c2pa-rs `c2pa-v0.91.7` through
52+
`c2pa-native-version.txt`. Rebuild or upgrade installed wheels to update the
53+
bundled native library; updating Python dependencies alone does not update it.
54+
Local source builds and externally supplied libraries must also use patched
55+
c2pa-rs dependencies.
56+
57+
Python artifact downloads use Requests and require `certifi>=2026.10.19`, whose
58+
CA bundle removes the affected emSign ECC Root CA - G3. This is separate from
59+
the native SDK's TLS verification. Custom bundles (including `REQUESTS_CA_BUNDLE`
60+
or `CURL_CA_BUNDLE` overrides), Python/OpenSSL default stores used by
61+
`urllib.request` in `examples/read.py`, and installer/build tools need their own
62+
updates. Keep the operating system, Python runtime, and packaging tools current,
63+
and verify custom stores against the
64+
[eMudhra incident's affected chains](https://emudhra.we-have-a-problem.com/);
65+
updating certifi does not patch these other stores.
66+
4967
## Building from local c2pa-rs sources
5068

5169
### Using a virtual environment with local builds

‎c2pa-native-version.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c2pa-v0.91.6
1+
c2pa-v0.91.7

‎docs/project-contributions.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,15 @@ pip install -r requirements.txt
2828
pip install -r requirements-dev.txt
2929
```
3030

31-
Download [c2pa-rs library artifacts](https://github.com/contentauth/c2pa-rs/tags) for the current version you want (for example, as shown below for v0.91.3):
31+
Download [c2pa-rs library artifacts](https://github.com/contentauth/c2pa-rs/tags) for the release selected in `c2pa-native-version.txt`:
3232

3333
```bash
34-
python scripts/download_artifacts.py c2pa-v0.91.3
34+
make download-native-artifacts
3535
```
3636

37+
Without `make`, pass the tag from `c2pa-native-version.txt` directly to
38+
`python scripts/download_artifacts.py` (currently `c2pa-v0.91.7`).
39+
3740
Install the package in development mode:
3841

3942
```bash

‎pyproject.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ urls = {homepage = "https://contentauthenticity.org", repository = "https://gith
2424
dependencies = [
2525
"toml>=0.10.2",
2626
"cryptography>=41.0.0",
27+
"certifi>=2026.10.19",
2728
"requests>=2.0.0"
2829
]
2930

‎requirements-dev.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ pytest>=8.1.0
99

1010
# for downloading the library artifacts
1111
requests>=2.0.0
12+
certifi>=2026.10.19
1213

1314
# Code formatting
1415
autopep8>=2.3.0

0 commit comments

Comments
 (0)