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.
There is no algorithms, identifiers in XML's /cryptoPropertiesType/protocolProperties.
There is only type, version, cipherSuites, ikev2TransformTypes, cryptoRef.
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).
@stondo could you double-check your report?
Did you check the right positions? Do XML and JSON really differ here?
cryptoRefArray (JSON) vs cryptoRef (XSD) [...]
— these may be intentional JSON↔XML representation differences, but
it would be useful to confirm and document the intended mapping.
confirmed: not an issue - intentional representation of the same thing.
in XML
the cryptoRef has maxOccurs="unbounded" - this means it may occur multiple times, just as an item in an array - which is represented in JSON schema per cryptoRefArray.
Activity
jkowalleck commentedon Aug 26, 2026
this is intended to get fixed with the streamline/sync release 1.7.2
see https://github.com/CycloneDX/specification/milestone/16
jkowalleck commentedon Sep 16, 2026
confirmed from the report:
relatedCryptographicAssetswas missing.jkowalleck commentedon Sep 16, 2026
There is no
algorithms,identifiersin XML's/cryptoPropertiesType/protocolProperties.There is only
type,version,cipherSuites,ikev2TransformTypes,cryptoRef.See
cipherSuitein https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesTypeYou probably mean XML
/cryptoPropertiesType/protocolProperties/cipherSuite's sequence which listsalgorithms,identifiers,name,tlsGroups,tlsSignatureSchemes.See https://cyclonedx.org/docs/1.7/json/#components_items_cryptoProperties_protocolProperties_cipherSuites
In JSON schema, we find these under
#/definitions/cipherSuite's properties:name,algorithms,identifiers,tlsGroups,tlsSignatureSchemes@stondo could you double-check your report?
Did you check the right positions? Do XML and JSON really differ here?
confirmed: not an issue - intentional representation of the same thing.
in XML
cryptoRefhasmaxOccurs="unbounded"- this means it may occur multiple times, just as an item in an array - which is represented in JSON schema percryptoRefArray.jkowalleck commentedon Sep 17, 2026
closing as done, as the validated bugs were fixed, and the rest was clarified.
if there is still something unclear, or appears incorrect, please open a new ticket.
jkowalleck commentedon Sep 17, 2026
knwon defects were fixed, see https://github.com/CycloneDX/specification/releases/tag/1.7.2