You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In CycloneDX 1.7, the JSON schema and the XSD disagree on the content model of cryptoProperties.protocolProperties. A CBOM that is valid against the official JSON
schema cannot be serialized to XML that validates against the official XSD, and vice
versa.
relatedCryptographicAssets is JSON-only. It is present in the JSON schema for protocolProperties but has no counterpart element in the XSD. The sibling
properties certificateProperties and relatedCryptoMaterialPropertiesdo have relatedCryptographicAssets in both serializations (XSD elements at the certificateProperties and relatedCryptoMaterialProperties complexTypes), which
suggests the omission under protocolProperties is an oversight rather than a
deliberate serialization difference.
-- see [Defect]: 1.7 XML schema omits protocol relatedCryptographicAssets #1018
tlsGroups and tlsSignatureSchemes are XSD-only. They have no JSON-schema
counterpart under protocolProperties (the JSON schema has no TLS parameter
object at all beyond cipherSuites).
cryptoRefArray (JSON) vs cryptoRef (XSD) and algorithms/identifiers
(XSD-only) — these may be intentional JSON↔XML representation differences, but
it would be useful to confirm and document the intended mapping.
Impact
Any JSON→XML (or XML→JSON) conversion of a 1.7 CBOM that uses protocolProperties.relatedCryptographicAssets (or the XSD-only TLS fields) cannot
produce output that validates against the other serialization's official schema.
Tooling must either emit schema-invalid documents or silently drop conformant data.
Environment
Schemas fetched from the CycloneDX/specification repository (master, schema/
directory), also published at https://cyclonedx.org/schema/bom-1.7.schema.json
and bom-1.7.xsd.
Observed while implementing bidirectional JSON↔XML conversion for CycloneDX 1.7
in an SBOM conversion tool.
Suggested fix
Align the two serializations for protocolProperties: add relatedCryptographicAssets
to the XSD (mirroring certificateProperties/relatedCryptoMaterialProperties), and
either add tlsGroups/tlsSignatureSchemes to the JSON schema or remove them from
the XSD. A documented JSON↔XML field mapping for cryptoRefArray/cryptoRef and algorithms/identifiers would also help implementers.
Summary
In CycloneDX 1.7, the JSON schema and the XSD disagree on the content model of
cryptoProperties.protocolProperties. A CBOM that is valid against the official JSONschema cannot be serialized to XML that validates against the official XSD, and vice
versa.
Details
JSON schema (
bom-1.7.schema.json,definitions.cryptoProperties.properties.protocolProperties.properties)lists:
XSD (
bom-1.7.xsd, theprotocolPropertieselement's complexType sequence) lists:Concretely:
relatedCryptographicAssetsis JSON-only. It is present in the JSON schema forprotocolPropertiesbut has no counterpart element in the XSD. The siblingproperties
certificatePropertiesandrelatedCryptoMaterialPropertiesdo haverelatedCryptographicAssetsin both serializations (XSD elements at thecertificatePropertiesandrelatedCryptoMaterialPropertiescomplexTypes), whichsuggests the omission under
protocolPropertiesis an oversight rather than adeliberate serialization difference.
-- see [Defect]: 1.7 XML schema omits protocol relatedCryptographicAssets #1018
tlsGroupsandtlsSignatureSchemesare XSD-only. They have no JSON-schemacounterpart under
protocolProperties(the JSON schema has no TLS parameterobject at all beyond
cipherSuites).cryptoRefArray(JSON) vscryptoRef(XSD) andalgorithms/identifiers(XSD-only) — these may be intentional JSON↔XML representation differences, but
it would be useful to confirm and document the intended mapping.
Impact
Any JSON→XML (or XML→JSON) conversion of a 1.7 CBOM that uses
protocolProperties.relatedCryptographicAssets(or the XSD-only TLS fields) cannotproduce output that validates against the other serialization's official schema.
Tooling must either emit schema-invalid documents or silently drop conformant data.
Environment
CycloneDX/specificationrepository (master,schema/directory), also published at
https://cyclonedx.org/schema/bom-1.7.schema.jsonand
bom-1.7.xsd.in an SBOM conversion tool.
Suggested fix
Align the two serializations for
protocolProperties: addrelatedCryptographicAssetsto the XSD (mirroring
certificateProperties/relatedCryptoMaterialProperties), andeither add
tlsGroups/tlsSignatureSchemesto the JSON schema or remove them fromthe XSD. A documented JSON↔XML field mapping for
cryptoRefArray/cryptoRefandalgorithms/identifierswould also help implementers.