keybase / keybase/keybase-issues

Display key expiry date

Open
#719 4 comments 4 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 [set expiry dates for my gpg keys](http://spin.atomicobject.com/2013/11/24/secure-gpg-keys-guide/) as safety cut-outs in case I lose access to them and their revocation certificates. When the expiry dates approach I just extend them further into the future and then re-publish my public keys.

I can do this in keybase using `keybase push -u` however neither the success message nor the output of `keybase status` shows any different output. This is because the only change is the date - and that information isn't displayed.

I think it would be useful to include the expiry date in the output of `keybase status` and in the web interface so that people who maintain expiry dates can see these are being updated.

Current behaviour:

```
$ keybase version
keybase (keybase.io CLI) v0.3.3
- node.js v0.10.20
- gpg (GnuPG) 1.4.16
- Copyright (C) 2013 Free Software Foundation, Inc.
Identifies as: 'keybase.io node.js client v0.3.3 linux'

$ keybase push -u --skip-add-email
info: Updating both remote key with local version

You need a passphrase to unlock the secret key for
user: "Richard King (Email address for personal correspondence) "
2048-bit RSA key, ID D1EF8F6F71AEBD17, created 2013-12-16
(subkey on main key ID 5CB47B59375422A6)

info: success!

$ keybase status
{
"status": {
"configured": true,
"logged_in": true
},
"user": {
"name": "graphiclunarkid",
"key": {
"key_id": "5CB47B59375422A6",
"fingerprint": "7F0D 81CA 1630 8179 CC31 B364 5CB4 7B59 3754 22A6"
}
}
}
```

![got](https://cloud.githubusercontent.com/assets/433456/3000764/9d3727ec-dd27-11e3-8a5a-ed172b8a4aa0.png)

This is all exactly as it looked before I pushed the update so I can't verify the key on the server has the new expiry dates.

Desired behaviour:

```
$ keybase status
{
"status": {
"configured": true,
"logged_in": true
},
"user": {
"name": "graphiclunarkid",
"key": {
"key_id": "5CB47B59375422A6",
"fingerprint": "7F0D 81CA 1630 8179 CC31 B364 5CB4 7B59 3754 22A6",
"expires": "2014-11-10"
}
}
}
```

![expected](https://cloud.githubusercontent.com/assets/433456/3000794/ebb0e534-dd27-11e3-8866-ae5cd094c32d.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the keybase status command and the web interface, since both outputs are requested to show the GPG key expiry date. Trace how the key ID and fingerprint are produced, then verify that updated expiry dates appear in the CLI status output and on the website.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
cli, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.