keybase / keybase/keybase-issues

Proof documentation needs work

Open
#742 14 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.