Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize contentIdentifier for SoftwareArtifact integrity verification #611

Closed
wants to merge 1 commit into from

Conversation

zvr
Copy link
Member

@zvr zvr commented Jan 26, 2024

Adds a general contentIdentifier type system to support various types.

Note that the actual value of an identifier (contentIdentifierValue in a ContentIdentifier) is defined to be of type xsd:string. The two current available types both produce xsd:anyURI but maybe we want to keep our options open for the future.

The description of the types was copied from /Core/ExternalIdentifierType; I simplifies the swhid entry since we only consider content in this context.

Copy link
Member

@goneall goneall left a comment

Choose a reason for hiding this comment

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

Overall, this looks like a consistent approach to contentIdentifier. The only downside I can see over the current state is with a choice, consumers of the SBOMs would need to be able to calculate all of the (two) methods to verify since we wouldn't know which one is provided.

One possible solution to the above downside would be to create an "Integrity" profile which specifies the property as required and limits the range to only one value. This could be a post RC2 improvement.

@goneall goneall added the Profile:Software Software Profile and related matters label Jan 29, 2024
@goneall goneall added this to the 3.0-rc2 milestone Jan 29, 2024
@goneall goneall mentioned this pull request Jan 30, 2024
32 tasks
@sbarnum
Copy link
Collaborator

sbarnum commented Jan 30, 2024

If the presumption that content identifiers can ALWAYS be reduced to a single serialized string then this approach seems to be the best solution to this issue.

@goneall
Copy link
Member

goneall commented Feb 15, 2024

based on discussions in the tech call and in the security meeting week of 12 Feb, we are going to go with the gitoid renaming for RC2 and retarget the more general discussion for after RC2.

Primarily due to the amount of thought and review needed for the more general approach and lack of availability of key individuals for discussion.

@goneall goneall modified the milestones: 3.0-rc2, 3.0 Feb 15, 2024
@kestewart
Copy link
Contributor

@zvr - is this stale? or something still being requested.

@kestewart
Copy link
Contributor

@zvr to fix up conflicts, but we need discussion with Sean & Jeff before merging.

Copy link
Collaborator

@sbarnum sbarnum left a comment

Choose a reason for hiding this comment

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

I believe this PR has been overcome by other decisions.

While significant discussion occurred on this topic which resulted in a modified version of the concept in this PR that was clear, simple and preferred by the majority of those involved in the discussions a decision was made to add an explicitly dedicated 'gitoid' property to SoftwareArtifact for SPDX 3.0.

I believe this PR should be closed without approval.

@zvr
Copy link
Member Author

zvr commented Apr 8, 2024

I will re-work it and probably make a new one without conflicts, but there was never any decision that only gitoid will be the verification mechanism.
We had it for RC2 and left the discussion for 3.0.

@kestewart
Copy link
Contributor

See #701

@kestewart kestewart closed this Apr 8, 2024
@zvr zvr deleted the verify-sw-contentidentifier branch August 12, 2024 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Profile:Software Software Profile and related matters
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants