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

Implementing TAP for TUF developer key management #161

Open
asraa opened this issue Sep 29, 2021 · 1 comment
Open

Implementing TAP for TUF developer key management #161

asraa opened this issue Sep 29, 2021 · 1 comment

Comments

@asraa
Copy link
Contributor

asraa commented Sep 29, 2021

https://github.com/theupdateframework/taps/pull/141/files

This basically requires two things:
(1) Adding an optional cert key-value pair into the signature
(2) Signature verification will include verifying the certificate against Fulcio's root, and verifying that the signing was done while the certificate was valid.

Adding (1) is easy in go-tuf.

Adding (2): should this happen in this reference implementation? The change is clear to me -- Verify(msg, sig []byte) error implemented by key verifier types will instead generalize to take in a data.Signature so that the key type implementation can handle validating Signature.Cert in addition to the Signature.Signature bytes.

However, I would need to pull in sigstore dependencies. Can I make the API changes (1) and Verify(msg, sig data.Signature) error first in go-tuf and make a test key that "mocks" out the sigstore dependencies?

@trishankatdatadog
Copy link
Member

However, I would need to pull in sigstore dependencies. Can I make the API changes (1) and Verify(msg, sig data.Signature) error first in go-tuf and make a test key that "mocks" out the sigstore dependencies?

Hmm, interesting. Not sure everyone would need sigstore dependency. Could we perhaps use conditional compilation (CC) for anyone who needs this feature? I know @hosseinsia is looking into CC for building lean, mean partial verification clients.

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