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

Update signed document deserializer to use catalyst-id as kid #161

Open
stevenj opened this issue Jan 20, 2025 · 0 comments · May be fixed by #194
Open

Update signed document deserializer to use catalyst-id as kid #161

stevenj opened this issue Jan 20, 2025 · 0 comments · May be fixed by #194
Assignees
Labels

Comments

@stevenj
Copy link
Collaborator

stevenj commented Jan 20, 2025

Summary

Use the new catalyst-id in URI format as the KID for a signed document

Description

Use the catalyst-id and type for it in catalyst-libs, to parse and validate kid for signatures on a signed document.
Implement an authors() function on the document type, which returns a list of all authors (being short_id() versions of all kids. Implement an kids()function on the document type which returns a list of allkids()needed to validate the document. Expose a validate function which takes an algorithm identifier and public key which matches the algorithm, for eachkidreturned by thekids()` function. There is no need to partially validate, so if all public keys are not supplied then validation has failed.

The caller will extract the public key and algorithm from the RBAC registration.
Do not create a new set of types for these, use common types supported and exposed by the RBAC registration crate itself.

Depends on

Acceptance Criteria

For the Signed Document Type:

  • Deserializing only accepts URI form ID's as KIDs. Anything else is an error.
  • Can return all author id through appropriate method.
  • Can return all kid id's through appropriate method.
  • Can validate itself given a list of algorithms and public keys which match the ids returned in the kid list.
  • Does not create a new set of algorithm and key types, but re-uses types defined by the RBAC crate, or another lower level common crate which defines these. Ideally these align with algorithm identifiers known to x509/c509 certificates.
@stevenj stevenj added the F14 label Jan 20, 2025
@stevenj stevenj added this to Catalyst Jan 20, 2025
@stevenj stevenj moved this from New to 🔖 Ready in Catalyst Jan 20, 2025
@stevenj stevenj moved this from 🔖 Ready to New in Catalyst Jan 20, 2025
@Mr-Leshiy Mr-Leshiy changed the title 🛠️ [TASK] : Update signed document deserializer to use catalyst-id as kid Update signed document deserializer to use catalyst-id as kid Jan 26, 2025
@saibatizoku saibatizoku moved this from New to 🏗 In progress in Catalyst Jan 29, 2025
@saibatizoku saibatizoku self-assigned this Jan 29, 2025
@saibatizoku saibatizoku linked a pull request Feb 3, 2025 that will close this issue
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🏗 In progress
Development

Successfully merging a pull request may close this issue.

2 participants