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

ECDSA key support #408

Open
tnytown opened this issue Jun 24, 2024 · 2 comments
Open

ECDSA key support #408

tnytown opened this issue Jun 24, 2024 · 2 comments

Comments

@tnytown
Copy link

tnytown commented Jun 24, 2024

Hey! Thanks for maintaining rust-tuf :) I'm trying this library out with the Sigstore TUF instance, evaluating if we can replace tough in our Sigstore client. One thing that I noticed is that it doesn't seem to accept Sigstore's root metadata, returning this error from Client::from_trusted_root:

metadata root signature threshold not met: 0/3:
TufError(MetadataMissingSignatures { role: MetadataPath("root"), number_of_valid_signatures: 0, threshold: 3 })

I dug a little deeper and this may be related to the fact that the Sigstore uses ECDSA keys. From my quick skim of the codebase, ECDSA key deserialization and ecdsa-sha2-nistp256 signatures don't seem to be implemented. Are there any plans to support this key type?

@erickt
Copy link
Collaborator

erickt commented Jun 24, 2024

Hello! That’s great you’re trying it out. I’d love to support the other key types, but we haven’t needed them on Fuchsia so there hasn’t been a driving force for it yet.

My plan to support them was actually to try to migrate rust-tuf over to a generic signature trait like https://docs.rs/signature/latest/signature/ where end users can bring their own crypto library. I don’t think it’d be particularly hard to do, I just haven’t had cycles to do it yet. Would you or your team be interested in helping out with it?

@tnytown
Copy link
Author

tnytown commented Jun 24, 2024

Thanks for the quick response! Unfortunately, we (@trailofbits) are at the end of our current contract for sigstore-rs work. We'd be happy to work on this (and other Sigstore-related incompatibilities) when we get more funding, but that will probably take some time 😅 I just wanted to flag this issue for other users trying this library out with Sigstore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants