wolfssl-examples/cra-kit/auditor-packet/wolfssl-component-embedded
Sameeh Jubran 8cb188f127 cra-kit: address Atwood review (shell safety, validation, samples)
Quote "$@" in gen-sbom --srcs (drop SC2068 disables), pass JSON paths to
python via env var in validate.sh to prevent filename injection, and fail
non-zero instead of warning when SBOM post-processing breaks. Rename the
user_settings.h guard to CRA_KIT_USER_SETTINGS_H, clarify the serialNumber
regex accepts v4 (product) and v5 (component) UUIDs, untrack the gitignored
embedded sample SBOMs, document the SHA-512 CBOM omission, and note sample
timestamp differences in SAMPLE-PROVENANCE.md.

Signed-off-by: Sameeh Jubran <sameeh@wolfssl.com>
2026-06-17 17:27:15 +03:00
..
.gitignore Add CRA Kit for customer SBOM integration 2026-06-04 04:54:45 +03:00
README.md Add CRA Kit for customer SBOM integration 2026-06-04 04:54:45 +03:00

README.md

Embedded component SBOM (optional sample)

This directory's wolfssl-*.{cdx,spdx}.json outputs are gitignored — generate them locally with the embedded path. Only this README is committed.

export WOLFSSL_DIR=../../wolfssl   # wolfSSL tree with scripts/gen-sbom
python3 -m pip install pcpp        # same python3 as in your PATH (see README)
./scripts/generate-embedded-sbom.sh

If pcpp is not on your python3, the script falls back to cc -dM -E and --options-h (no extra install). For cross builds, set CC=arm-none-eabi-gcc (or your target compiler) so the fallback reflects target macros, not the host's.

Uses ../../user_settings.h via WOLFSSL_USER_SETTINGS and a demo --srcs list (see scripts/generate-wolfssl-sbom.sh). Production firmware must pass your user_settings.h and every wolfSSL .c file you compile. Embedded outputs are watermarked wolfssl:sbom:demo=true so an auditor can tell at a glance that they came from the kit's demo --srcs list and not a real build.

Outputs differ from ../wolfssl-component/ (autotools / make sbom). Compare wolfssl:sbom:hash-kind in the CycloneDX files.