Skip to content

Commit 811b31a

Browse files
committed
cra-kit: address Atwood re-review blockers on #574
- Replace fabricated library-binary SHA-256/SHA-1 with all-zeros sentinels in the pinned wolfssl-component samples (cdx/spdx + commercial variants); a non-reproducible binary hash must not ship in a copyable sample. - Recompute product bom-link checksums (CycloneDX bom hash + SPDX externalDocumentRef) to match the edited component SBOMs. - Give the SPDX tag-value document a distinct documentNamespace so it no longer collides with the JSON serialization (SPDX 2.3 sec 3.5). - Add licenses (GPL-3.0-only) to the wolfssl component in the product CDX (NTIA minimum elements). - Align conformity-assessment-route.md wording to Annex III "important" / Annex IV "critical", dropping the "class II" label. - Document the sentinel digest in SAMPLE-PROVENANCE.md. validate.sh passes (cross-document checksums + pyspdxtools schema). Signed-off-by: Sameeh Jubran <sameeh@wolfssl.com>
1 parent 924c3d2 commit 811b31a

9 files changed

Lines changed: 32 additions & 17 deletions

cra-kit/auditor-packet/product-acme-connect-gateway.cdx.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@
2727
},
2828
"purl": "pkg:github/wolfSSL/wolfssl@v5.9.1",
2929
"cpe": "cpe:2.3:a:wolfssl:wolfssl:5.9.1:*:*:*:*:*:*:*",
30+
"licenses": [
31+
{
32+
"license": {
33+
"id": "GPL-3.0-only"
34+
}
35+
}
36+
],
3037
"externalReferences": [
3138
{
3239
"type": "bom",
@@ -35,7 +42,7 @@
3542
"hashes": [
3643
{
3744
"alg": "SHA-256",
38-
"content": "bc8c6b9f5fbe829edb594dc74bcb95a202ca1b402ab1dca60f858aa9fe2ec6e3"
45+
"content": "f9498cc976e97dd6bd096943c6357a561f2c41a7b3c674e83a3cc47f1a3ab096"
3946
}
4047
]
4148
}

cra-kit/auditor-packet/product-acme-connect-gateway.spdx.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"spdxDocument": "file:./wolfssl-component/wolfssl-5.9.1.spdx.json",
1717
"checksum": {
1818
"algorithm": "SHA256",
19-
"checksumValue": "a60bda42e4e0c874f21abaed7b34e72ac6ea329662fbac33f8487608753042f2"
19+
"checksumValue": "793e78273ef4733d1dd334bac7759b1bb066e608562bc2737205c9cd4d9a56bd"
2020
}
2121
}
2222
],

cra-kit/auditor-packet/wolfssl-component/SAMPLE-PROVENANCE.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,16 @@ were produced with the **autotools** path:
77
cd "$WOLFSSL_DIR" && ./configure && make sbom
88
```
99

10-
They reflect a **configured library build** (SHA-256 of `libwolfssl` and full
11-
`wolfssl:build:*` properties from `options.h`).
10+
They reflect a **configured library build** — the full `wolfssl:build:*`
11+
properties are captured from `options.h`.
12+
13+
The binary artifact digest (the library `PackageChecksum` / component hash and
14+
the `libwolfssl.44.dylib` file entry) is intentionally an **all-zeros
15+
sentinel**, not a captured hash. A compiled binary is not bit-reproducible
16+
across toolchains, platforms, and timestamps, so a pinned sample must not ship
17+
a concrete, real-looking binary hash that a customer might copy verbatim.
18+
Running `./scripts/refresh-samples.sh` against your own build replaces the
19+
sentinel with the real digest of the artifact you actually shipped.
1220

1321
They are **not** the same as the **embedded** demo under
1422
[`../wolfssl-component-embedded/`](../wolfssl-component-embedded/), which uses

cra-kit/auditor-packet/wolfssl-component/wolfssl-5.9.1.cdx.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"hashes": [
3838
{
3939
"alg": "SHA-256",
40-
"content": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
40+
"content": "0000000000000000000000000000000000000000000000000000000000000000"
4141
}
4242
],
4343
"externalReferences": [
@@ -315,11 +315,11 @@
315315
"hashes": [
316316
{
317317
"alg": "SHA-1",
318-
"content": "def1d74ce45e708d8230084cdea4f45a9cad144c"
318+
"content": "0000000000000000000000000000000000000000"
319319
},
320320
{
321321
"alg": "SHA-256",
322-
"content": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
322+
"content": "0000000000000000000000000000000000000000000000000000000000000000"
323323
}
324324
]
325325
}

cra-kit/auditor-packet/wolfssl-component/wolfssl-5.9.1.commercial.cdx.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"hashes": [
3838
{
3939
"alg": "SHA-256",
40-
"content": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
40+
"content": "0000000000000000000000000000000000000000000000000000000000000000"
4141
}
4242
],
4343
"externalReferences": [
@@ -319,11 +319,11 @@
319319
"hashes": [
320320
{
321321
"alg": "SHA-1",
322-
"content": "def1d74ce45e708d8230084cdea4f45a9cad144c"
322+
"content": "0000000000000000000000000000000000000000"
323323
},
324324
{
325325
"alg": "SHA-256",
326-
"content": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
326+
"content": "0000000000000000000000000000000000000000000000000000000000000000"
327327
}
328328
]
329329
}

cra-kit/auditor-packet/wolfssl-component/wolfssl-5.9.1.commercial.spdx.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"checksums": [
2323
{
2424
"algorithm": "SHA256",
25-
"checksumValue": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
25+
"checksumValue": "0000000000000000000000000000000000000000000000000000000000000000"
2626
}
2727
],
2828
"licenseConcluded": "LicenseRef-wolfSSL-Commercial",

cra-kit/auditor-packet/wolfssl-component/wolfssl-5.9.1.spdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.3
33
DataLicense: CC0-1.0
44
SPDXID: SPDXRef-DOCUMENT
55
DocumentName: wolfssl-5.9.1
6-
DocumentNamespace: urn:uuid:480ff203-f994-5b71-b858-0653e74e422a
6+
DocumentNamespace: urn:uuid:5b1f8e0a-3c4d-5a6b-9c2e-7d1af9c02e5b
77

88
## Creation Information
99
Creator: Organization: wolfSSL Inc.
@@ -17,7 +17,7 @@ PackageVersion: 5.9.1
1717
PackageSupplier: Organization: wolfSSL Inc.
1818
PackageDownloadLocation: https://github.com/wolfSSL/wolfssl
1919
FilesAnalyzed: false
20-
PackageChecksum: SHA256: 391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e
20+
PackageChecksum: SHA256: 0000000000000000000000000000000000000000000000000000000000000000
2121
PackageLicenseConcluded: GPL-3.0-only
2222
PackageLicenseDeclared: GPL-3.0-only
2323
PackageCopyrightText: Copyright (C) 2006-2026 wolfSSL Inc.

cra-kit/auditor-packet/wolfssl-component/wolfssl-5.9.1.spdx.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"checksums": [
2323
{
2424
"algorithm": "SHA256",
25-
"checksumValue": "391e86477f5eee025e677a24b13e2d9a4d3e4c18d88e6359853ebf1c9932279e"
25+
"checksumValue": "0000000000000000000000000000000000000000000000000000000000000000"
2626
}
2727
],
2828
"licenseConcluded": "GPL-3.0-only",

cra-kit/wolfssl-inc-auditor-packet/conformity-assessment-route.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ Module A obligates wolfSSL Inc. to:
3030

3131
## Notified Body engagement — not used
3232

33-
Notified Body involvement is required when a product is classified as
34-
**Annex III "important class II"** or **Annex IV "critical"**. wolfSSL libraries
35-
are neither. We have evaluated TÜV Süd as a Notified Body candidate (per
33+
Notified Body involvement is required for products in the higher-risk
34+
categories — **Annex III "important"** or **Annex IV "critical"**. wolfSSL
35+
libraries are neither. We have evaluated TÜV Süd as a Notified Body candidate (per
3636
internal correspondence with our DACH team and a customer recommendation in
3737
May 2026) and concluded that engagement is not required for the libraries
3838
themselves. Customers whose finished products fall into Annex III/IV may

0 commit comments

Comments
 (0)