keybase / keybase/keybase-issues
Proof documentation needs work
- Dominant language
- No language data
- Stars
- 899
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
I’m starting to work on verifying proofs for OpenKeychain and it seems pretty straightforward, except for the construction of the payload-to-be-signed. Just for a random example I’m looking at https://keybase.io/linuxwolf/sigs/GxNlVwMadNRIHa3hthcNvFo0GwgvN4eMnuWK
and the signed payload is
{
"body": {
"key": {
"fingerprint": "31d7588dec90690d6bcc98e0ecf4724e109e05bb",
"host": "keybase.io",
"key_id": "ECF4724E109E05BB",
"uid": "2299a80ced34e930a2f780f0b545a000",
"username": "linuxwolf"
},
"service": {
"name": "twitter",
"username": "linuxwolf"
},
"type": "web_service_binding",
"version": 1
},
"ctime": 1396037812,
"expire_in": 157680000,
"prev": "d101ca6baf3844841d02e76270ac2b67d88349677141beb577c2875c4f5780c8",
"seqno": 9,
"tag": "signature"
}
I can see where many of these data fields come from, some seem arbitrary/hardwired like "type" and "version" and "tag". I don’t see where “prev” and “seqno” come from.
I think if I can construct this JSON, I can replicate the proof in an android app quite straightforwardly. Happy to RTFM, if there is one. Happy to use someone else’s code if it’ been written.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked Keybase proof and its displayed signed payload, then trace how the `prev` and `seqno` fields are produced. Document the payload-construction rules and point to the relevant existing guidance or code, if found; done means a newcomer can reproduce the JSON and understand those fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android
- Domain
- cryptography, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100