Skip to content

Conversation

jkowalleck
Copy link
Member

@jkowalleck jkowalleck commented Aug 31, 2024

Fixed

  • XML schema: add type for ComponentData sub-elements (#600 via #601)

Deprecated

  • Deprecated various fields and structures related to cryptographic transparency - CBOM . (via #657)
    Use the newly added structures and fields for detailing the information instead.

Changed

  • Extended the scope of formulations. (via #647)
    From now on, formulations may be used to describe how any referencable object within the BOM came together, including components, services, metadata, declarations, or the BOM itself.
    Before, it was restricted to components and services.

Added

  • Support for external components with version-ranges (#321 via #586)
  • Support for multiple SPDX License Expressions alongside with other licenses (#454 via #582)
  • Support for Streebog hashing algorithm (#485 via #525)
  • Support for license expression details and properties (#549, #554 via #599)
  • Support for expressing BOM distribution constraints with the Traffic Light Protocol (TLP) in metadata (#595 via #604, #653)
  • Support for representing patent information (#596 via #597)
  • Support for properties on external-references (#608 via #610)
  • Support for citations (#630 via #629)
  • Support for detailing cryptography - CBOM (#569 via #657)

Documentation

  • Elaborated component classification "platform", explicitly expressed that it includes just-in-time compilers and interpreters (#233 via #647)
  • Removed the term "optional" from the schema where the definition was already unambiguous (#616, #649 via #680)

Test data

  • Add test data for CycloneDX 1.7 implementations in XML, JSON, Protobuf

@jkowalleck jkowalleck added this to the 1.7 milestone Aug 31, 2024
jkowalleck and others added 28 commits September 2, 2024 23:55
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
1. enabled test runner for schema 1.7
1. copied all test cases from 1.6 to 1.7 
1. renamed the files from `*.1.6.*` to `*.1.7.*`
1. migrated the test cases from schema 1.6 to schema 1.7

see the diff/delta of each individual commit for details

java tests are expected to fail, as long as
#256 is not done
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
stevespringett and others added 26 commits August 14, 2025 20:27
## Changed
- Formulations may be used to describe how any referencable object
within the BOM came together, including components, services, metadata,
declarations, or the BOM itself.
  Before, it was restricted to components and services.

## Added
- Citations - describe how certain information in the BOM came together,
or were sourced from, or are asserted.


-----

TODO/DONE 
- [x] JSON schema modified
- [x] XML schema modified
- [x] ProtoBuf schema modified
- [x] JSON examples/test data crafted 
- [x] XML examples/test data crafted 
- [x] ProtoBuf examples/test data crafted
…ition of one. Each JOSE component (tokens, algorithms, etc) can be represented as individual components within the CBOM.

Signed-off-by: Steve Springett <[email protected]>
…ition of one. Each JOSE component (tokens, algorithms, etc) can be represented as individual components within the CBOM.

Signed-off-by: Steve Springett <[email protected]>
Signed-off-by: Basil Hess <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Co-authored-by: Jan Kowalleck <[email protected]>
Signed-off-by: Steve Springett <[email protected]>
Co-authored-by: Jan Kowalleck <[email protected]>
Signed-off-by: Steve Springett <[email protected]>
Co-authored-by: Jan Kowalleck <[email protected]>
Signed-off-by: Steve Springett <[email protected]>
Refactored `metadata.distribution` to be more verbose in its name, and
made it more versatile by converting it to an "object" with "TLP" as a
property.

caused by
#603 (comment)
removed the word "optional" whenever possible, as the schemas clearly
tell when something is optional or required.
as agreed in
#616 (comment)
and
#649 (comment)

- fixes #616
- fixes #649
Iteration over the crypto definitions, extending the list with more
algorithms.

No changes to the schema.

<!-- 
Thank you for taking the time to develop and contribute a core
enhancement or fix for a defect!

We kindly request that you create pull requests only for things that
have been discussed in a ticket first; exceptions may be made for
spelling or grammar fixes.
Read more about the process here:
https://cyclonedx.org/participate/standardization-process/#working-model

Please have the related ticket/issue ID ready. 
If there is none, feel free to create a new ticket:
https://github.com/CycloneDX/specification/issues/new/choose

-->

<!-- 

Please provide a brief description of what this pull request intends to
do and which ticket it fixes/closes.
Example: 
> As discussed in ticket #485, this PR adds Streebog to the hash
algorithm enum.
>
> fixes #485 

In case this is for a spelling or grammar improvement, please provide a
brief description.
Example:
> Fixe typo: color(AE) -> colour(BE)

-->
… for ProtoBuf (#677)

removed breaking changes in Protocol Buffer schema regarding CBOM
changes


caused by
#657 (comment)
The cryptography working group has received feedback from real-world
usage and have made enhancements to the CBOM specificaiton:

- enum `CryptoProperties.AlgorithmProperties.CryptoPrimitive` got a new
case "key-wrap".
- added field `CryptoProperties.AlgorithmProperties.algorithmFamily`
- added field `CryptoProperties.AlgorithmProperties.ellipticCurve`
- deprecated field `CryptoProperties.AlgorithmProperties.curve`
- added field `CryptoProperties.CertificateProperties.serialNumber`
- added field
`CryptoProperties.CertificateProperties.certificateFileExtension`
- deprecated field
`CryptoProperties.CertificateProperties.certificateExtension`
- deprecated field
`CryptoProperties.CertificateProperties.signatureAlgorithmRef`
- deprecated field
`CryptoProperties.CertificateProperties.subjectPublicKeyRef`
- added field `CryptoProperties.CertificateProperties.fingerprint`
- added field `CryptoProperties.CertificateProperties.certificateState`
- added field `CryptoProperties.CertificateProperties.creationDate`
- added field `CryptoProperties.CertificateProperties.activationDate`
- added field `CryptoProperties.CertificateProperties.deactivationDate`
- added field `CryptoProperties.CertificateProperties.revocationDate`
- added field `CryptoProperties.CertificateProperties.destructionDate`
- added field
`CryptoProperties.CertificateProperties.certificateExtensions`
- added field
`CryptoProperties.CertificateProperties.relatedCryptographicAssets`
- deprecated field
`CryptoProperties.RelatedCryptoMaterialProperties.algorithmRef`
- added field
`CryptoProperties.RelatedCryptoMaterialProperties.fingerprint`
- added field
`CryptoProperties.RelatedCryptoMaterialProperties.relatedCryptographicAssets`
- enum `CryptoProperties.ProtocolProperties.CryptoProtocolType` got new
cases: `DTLS`, `QUIC`, `AKA`, `AKA_PRIME`, `PRINS` , `5G_AKA`
- added field
`CryptoProperties.ProtocolProperties.CryptoProtocolCipherSuite.tlsGroups`
- added field
`CryptoProperties.ProtocolProperties.CryptoProtocolCipherSuite.tlsSignatureSchemes`
- deprecated ikev2Trans information as strings (BOM-links)
- added capabilities to capture ikev2Trans information in detailed form
- added field
`CryptoProperties.CertificateProperties.relatedCryptographicAssets`
----


Closes #569

-----

RFC notice sent 2025-07-26
This RFC will be open for 4 weeks. At the end of the RFC period the
CycloneDX community will vote, by lazy consensus, to accept or reject
the proposal.
RFC period end: 2025-08-23

----


TODO/DONE 
- [x] add examples for XML
- [x] add examples for JSON
- [x] add examples for ProtoBuf
- [x] implement for XML
- [x] implement for JSON
- [x] implement for ProtoBuf
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
@jkowalleck jkowalleck changed the title [WIP] v1.7 v1.7 Sep 7, 2025
@jkowalleck jkowalleck marked this pull request as ready for review September 7, 2025 12:16
@jkowalleck jkowalleck requested a review from a team as a code owner September 7, 2025 12:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment