casey / casey/intermodal

Release signing and verification

Open
#325 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
659
Forks
36
Avg merge
18m
Merged PRs (30d)
2

Description

Once the manifest format is designed and basic support is implemented (#321), we should add functionality to verify releases.

Verification can mean a few things:

- Verifying that a manifest has a given secure hash.
- Checking the contents against the manifest.
- Checking that included signatures are valid.
- Checking that one or more keys provided signatures with a given intent.
- Checking that something more abstract than a key provided a signature. For example, that someone trusted in some keyring signed, or a particular keybase user signed.

I would like to have first-class support for keybase. I don't like that keybase can be censored and that it's centralized, but PKI other than keybase is very bad, so we've got to make do.

I'd also like to support signing with non-keybase PGP agents and keys, but those systems are so fiddly and have such bad defaults that support will likely be limited.

There are many reasons that someone might want to sign something, so signatures should include an "intent".

Intents might include:

- I created this
- I packaged this
- I released this
- I think this is non-malicious
- I think this is correct
- I think this is good

It should be possible to sign with multiple intents, like "I released this and I think this is non malicious".

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.