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

feat!: COSE_SIGN1 signatures and verification #669

Merged
merged 20 commits into from
Aug 12, 2024
Merged

Conversation

dtscalac
Copy link
Contributor

@dtscalac dtscalac commented Aug 7, 2024

Description

Adds catalyst_cose, a package that exposes a CBOR Object Signing and Encryption RFC-9052, RFC-9053 implementation.

This package supports only a subset of COSE features and algorithms.

Supported features:

  • COSE_SIGN_1: signature + verification

Supported algorithms:

  • EdDSA: Ed25519

Description of changes

The PR removes support for federated plugin structure, instead of relying on 3rd party packages to implement it per platform we have created our own pure dart implementation that works on every target (web, mobile, desktop).

Naturally we won't have support for as many algorithms as these 3rd parties could provide but thanks to this approach we don't need some huge/complicated node.js dependencies for web and native ones for Android/ios. Adding more algorithms should be straightforward enough.

Related Issue(s)

Closes #639

Screenshots

Sample generated COSE_SIGN1 structure:

d28443a10103a054546869732069732074686520636f6e74656e742e58409393e0ffce5b91e68e0da09c59caa7995f4f285adf3eb28503419ebcb373bba332768e84ee947d0dcec0b920f32307d0b45a029a1695c1a8b50d453f5d29a004

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@dtscalac dtscalac added review me PR is ready for review dart Pull requests that update Dart code labels Aug 7, 2024
@dtscalac dtscalac self-assigned this Aug 7, 2024
Copy link
Contributor

github-actions bot commented Aug 7, 2024

Test Report | ${\color{lightgreen}Pass: 133/133}$ | ${\color{red}Fail: 0/133}$ |

@minikin minikin enabled auto-merge (squash) August 12, 2024 07:26
Copy link
Collaborator

@minikin minikin left a comment

Choose a reason for hiding this comment

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

lgtm

@minikin minikin merged commit f5a910e into main Aug 12, 2024
35 checks passed
@minikin minikin deleted the feat/cose-sign1-and-verify branch August 12, 2024 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dart Pull requests that update Dart code review me PR is ready for review
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

🛠️ [TASK] : Signing Data by a user's registered role keys.
2 participants