Skip to content

chore(docs): add ADR proposal for signing and verification of component descriptors#767

Merged
jakobmoellerdev merged 8 commits into
open-component-model:mainfrom
jakobmoellerdev:docs/signing-verification-handler
Sep 5, 2025
Merged

chore(docs): add ADR proposal for signing and verification of component descriptors#767
jakobmoellerdev merged 8 commits into
open-component-model:mainfrom
jakobmoellerdev:docs/signing-verification-handler

Conversation

@jakobmoellerdev

Copy link
Copy Markdown
Member

Continuation of #547 and #599

What this PR does / why we need it

Enable easy interpretation of component descriptors in normalized form and provide a consistent experience for signing and verifying component descriptors.

Which issue(s) this PR fixes

fix open-component-model/ocm-project#579

jakobmoellerdev and others added 3 commits September 1, 2025 13:45
…criptors

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
Co-authored-by: Matthias Bruns <github@matthiasbruns.com>
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
- Introduced detailed sections on signing and verifying component descriptors, including new commands for signing stages (`add digest` and `sign` separately).
- Updated `RSASSA-PKCS1-V1_5` configuration examples to provide clearer guidance for `signer` and `verifier` usage.
- Added support for two-stage signing process to support CI/CD workflows.
- Revised Credential Consumer Identity examples to reflect supported configurations.
- Improved interface definitions for signing and verification to enforce robust handling of credentials and configurations.

These updates enhance user clarity and align implementation with the latest updates.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@github-actions github-actions Bot added kind/chore chore, maintenance, etc. area/documentation Documentation related size/l Large labels Sep 1, 2025
@jakobmoellerdev jakobmoellerdev force-pushed the docs/signing-verification-handler branch from 3684fbd to e0033ba Compare September 1, 2025 12:54
@github-actions github-actions Bot added the component/github-actions Changes on GitHub Actions or within `.github/` directory label Sep 1, 2025
…store integration

- Updated documentation to rename headings `Basic Signing` and `Basic Verification` for improved clarity.
- Added detailed workflows for two-stage signing using `add digest` and `sign` commands.
- Introduced new diagrams illustrating signing and verification flows for both `RSASSA-PKCS1-V1_5` and Sigstore.
- Expanded `Sigstore` ADR section, including configuration, signing, and verification processes.
- Enhanced examples for credential consumer configuration and identity resolution.
- Updated command-line usage examples to reflect support for Sigstore-specific signing and verification.

These changes provide clearer guidance for using advanced signing and verification features, aligning with modern workflows and expanding support for secure integrations.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev force-pushed the docs/signing-verification-handler branch from e0033ba to a5eacee Compare September 1, 2025 13:01
@jakobmoellerdev jakobmoellerdev marked this pull request as ready for review September 1, 2025 16:37
@jakobmoellerdev jakobmoellerdev requested a review from a team as a code owner September 1, 2025 16:37
@matthiasbruns

Copy link
Copy Markdown
Contributor

🤯

@Skarlso Skarlso self-assigned this Sep 2, 2025

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Well done, amazing job with this write-up. I don't have any major concerns but I do have a couple of questions as always. :)

Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md Outdated
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md Outdated
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md Outdated
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md Outdated
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md
Comment thread docs/adr/0008_signing_verification.md Outdated
@fabianburth

Copy link
Copy Markdown
Contributor

Well done! Awesome sequence diagrams - they help a lot to understand what's supposed to be going on. Most things are kind of nits.

The thing I actually didn't get is where the --signer <name> comes from.

@jakobmoellerdev

Copy link
Copy Markdown
Member Author

--signer is something that would use the name attributes in the signing configuration, very similar to our named transformer config entries. WDYT about that?

@fabianburth

Copy link
Copy Markdown
Contributor

--signer is something that would use the name attributes in the signing configuration, very similar to our named transformer config entries. WDYT about that?

So, we'd have a static list of known signers and would register them under that particular name. That is because we don't expect a particular singing config type to map to exactly one particular handler implementation?

@jakobmoellerdev

Copy link
Copy Markdown
Member Author

Im guessing you might have a dev-rsapss and prod-rsapss for example if you are on a local machine, or you want to differentiate signing sources

- Clarified distinctions between signing, normalization, and digest calculation processes in documentation.
- Updated terminology and examples to reflect the transition from `--upload` to `--dry-run=false` for descriptor updates.
- Improved interface definitions for signing and verification, ensuring consistency in configuration and credential usage.
- Enhanced diagrams with additional flow steps to improve clarity for signing and verification workflows.
- Renamed certain headings for better readability and streamlined example YAML configurations.

These changes ensure greater clarity and accuracy in the documentation, aligning it with current implementation behavior and conventions.

Co-authored-by: Fabian Burth <fabian.burth@sap.com>
Co-authored-by: Gergely Brautigam <gergely.brautigam@sap.com>
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
fabianburth
fabianburth previously approved these changes Sep 4, 2025

@fabianburth fabianburth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Great ADR!

- Updated `Sign` and `Verify` interface descriptions to document fallback behavior to environment or implementation defaults.
- Corrected `GetVerifyingCredentialConsumerIdentity` comment to properly reflect its usage with `Verify` instead of `Sign`.
- Ensured documentation aligns with consistent terminology and intended interface behavior.

These updates enhance clarity and provide precise guidance on expected functionality, improving alignment with best practices.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev force-pushed the docs/signing-verification-handler branch from adac8aa to aa5f054 Compare September 4, 2025 11:12
…cation-handler

# Conflicts:
#	.github/config/wordlist.txt
- Replaced all references of `RSASSA-PKCS1-V1_5` with `RSASSA-PSS` in the documentation.
- Updated configuration examples, YAML specifications, and flow diagrams to reflect `RSASSA-PSS` as the new default handler.
- Adjusted interface descriptions and command-line usage examples to maintain alignment with the updated signing/verification handler.

This change ensures clearer documentation and highlights the transition to the recommended signing algorithm for improved security.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev

Copy link
Copy Markdown
Member Author

@Skarlso @fabianburth would need a final review

@jakobmoellerdev jakobmoellerdev merged commit 1f248fe into open-component-model:main Sep 5, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation Documentation related component/github-actions Changes on GitHub Actions or within `.github/` directory kind/chore chore, maintenance, etc. size/l Large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create ADR for OCM Signing/Verification Handler Plugins

4 participants