Skip to content

fix(xml): allow protocol cryptographic relationships - #1019

Open
qkaiser wants to merge 1 commit into
CycloneDX:masterfrom
qkaiser:fix-cbom-specs-xsd
Open

fix(xml): allow protocol cryptographic relationships#1019
qkaiser wants to merge 1 commit into
CycloneDX:masterfrom
qkaiser:fix-cbom-specs-xsd

Conversation

@qkaiser

@qkaiser qkaiser commented Aug 13, 2026

Copy link
Copy Markdown

The CycloneDX 1.7 JSON Schema is the reference implementation and defines relatedCryptographicAssets on protocol properties. Protobuf exposes the same relationship, but the XML schema omitted it, leaving the three representations inconsistent and preventing valid protocol relationships from passing XSD validation.

Add the preferred relationship collection after the deprecated cryptoRef elements, matching the existing certificate and related-material XML structures. Clarify that cryptoRef is deprecated, and exercise the same protocol-to-public-key relationship in the XML, JSON, and Protobuf full cryptography examples.

Fixes #1018

@qkaiser
qkaiser requested a review from a team as a code owner August 13, 2026 08:53
The CycloneDX 1.7 JSON Schema is the reference implementation and
defines relatedCryptographicAssets on protocol properties. Protobuf
exposes the same relationship, but the XML schema omitted it, leaving
the three representations inconsistent and preventing valid protocol
relationships from passing XSD validation.

Add the preferred relationship collection after the deprecated cryptoRef
elements, matching the existing certificate and related-material XML
structures. Clarify that cryptoRef is deprecated, and exercise the same
protocol-to-public-key relationship in the XML, JSON, and Protobuf full
cryptography examples.

Signed-off-by: Quentin Kaiser <quentin.kaiser@onekey.com>
@qkaiser
qkaiser force-pushed the fix-cbom-specs-xsd branch from 9ff9100 to 63cda28 Compare August 13, 2026 08:53

@CAOShurong CAOShurong left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I compared this exact head (63cda281ab834726ca1b80c480fa9edf9693d4f0) with my later duplicate #1020 and independently reran the relevant validation. The XSD structure implements the same cross-format fix, and this version also clarifies the deprecation of cryptoRef.

Verified on this head:

  • mvn clean test: 769 tests passed
  • npm test with Node 24.19.0 on Linux paths: passed
  • Buf 1.58.0 schema lint: passed
  • the modified 1.7 cryptography textproto fixture converted successfully against cyclonedx.v1_7.Bom

I did not rerun the PHP or documentation-generation workflows in this review. I am approving this earlier implementation and will close my later duplicate #1020.

OpenAI Codex assisted with the comparison and test execution; I reviewed the diff and the observed outputs and take responsibility for this review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Defect]: 1.7 XML schema omits protocol relatedCryptographicAssets

2 participants