Repository navigation
Replies: 4 comments 1 reply
|
@plaflamme great proposal and apologies for the lack of response, life gets in the way sometimes. It's a thoughtful proposal, and a working prototype makes it much more concrete. Short answers first, then the part where I'd like everyone's input. 1. Is there interest? Yes. Using keys, not only managing them, is where I'd like keyroost's world to go eventually (see also #74). But keyroost's management features come first; they still need to mature across more hardware. So an agent would take a back seat for now. It might even be better as a sibling project built on keyroost's crates than as part of keyroost itself. 2. Are the requirements reasonable? Yes. PIV and OpenPGP-backed 3. What would a first merge take? Mostly a design we agree on before code. Structurally, keyroost was built around short, one-shot operations, and an agent changes that. The challenges I see:
4. Subcommand or separate binary? See "Where it lives" above: separate, at least to start. Questions for everyone:
@plaflamme, please keep iterating on the prototype in your fork. It's the best way to find out what keyroost's libraries would need to change. Anything that turns out to be a general improvement to the transport crates is welcome as its own PR in the meantime. |
|
@plaflamme looking forward to seeing where it goes. I am truly humbled that anyone would give this project the time of day, let alone actively contribute to it and riff off of it. I understand the lack of interest in Windows, though I am doing my best to support it as Rust has fairly good tooling for Linux, MacOS, and Windows. It's been a learning curve though. |
|
As for "keeping a session -> keeping an exclusive lock": It was exactly that quirk of GnuPG that pushed my towards piv/x509/implement my own stuff: GnuPG has the very bad habbit of grabbing an exclusive lock and not releasing it after the operation is done. As long as one stays within that eco system like for git commit signing or pushing via ssh that's all fine. |
Uh oh!
There was an error while loading. Please reload this page.
I'm interested in keyroost as a replacement for
piv-agentandgpg-agent, in part because:My personal requirements:
ssh-agentidentities backed by PIV and OpenPGPpinentryprotocol and pin-cachingage-plugin-keyroost)Other potential features:
gpg-agentprotocol (seems hard / low value, but could help users with legacy use-cases)Current State
I've started working on this and have a working (but simple and incomplete, no tests) PIV-backed ssh-agent here. You can try it like this (requires a
pinentryof some kind):and the output should be something like
SSH_AUTH_SOCK=./keyroost.sock ssh ...should also work.My questions are:
keyroostctl, e.g.:keyroostctl agent --socket-path keyroost.sock ...or some other binary, e.g.:keyroost-agent?A rough sketch of the cli might be something like this:
I haven't explored what an age-plugin would require.
All reactions