hko, (edited )
@hko@fosstodon.org avatar

I just released version 0.0.1 of the new crate https://crates.io/crates/openpgp-card-state

This crate paves the way for convenient handling of card User PINs, for users whose threat model allows persisting the PIN locally on the host computer.

If a User PIN is stored, applications can obtain it via this crate, and perform cryptographic operations without prompting the user for PIN entry.

Currently org.freedesktop.Secret is supported for storage.

Thoughts are welcome!

hko,
@hko@fosstodon.org avatar

To illustrate the use of openpgp-card-state, here's an early version of an ssh-agent implementation that uses it:

https://codeberg.org/openpgp-card/ssh-agent/src/branch/state

This SSH agent explores an absolutely streamlined UX for doing ssh backed by OpenPGP card-based key material.

After persisting the User PIN once, like this: "$ openpgp-card-state put --user-pin 123456 0000:01234567", the ssh agent can be used without any user interaction.

hko,
@hko@fosstodon.org avatar

Except for the persisted PINs, this agent is entirely stateless, and can pick up new cards on the fly.
It uses cards via PC/SC shared mode.

You can plug in a new card that the ssh-agent has never seen before, and it will pick up its authentication key material on the fly, for any subsequent ssh authentication.

As long as the User PIN for the card is available via openpgp-card-state, new cards will be automatically used by the ssh-agent. No configuration or restart required.

Anarcat,
@Anarcat@kolektiva.social avatar

@hko that's amazing!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • rust
  • GTA5RPClips
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • Durango
  • cubers
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • tacticalgear
  • ethstaker
  • JUstTest
  • InstantRegret
  • Leos
  • normalnudes
  • everett
  • khanakhh
  • osvaldo12
  • cisconetworking
  • modclub
  • anitta
  • tester
  • megavids
  • provamag3
  • lostlight
  • All magazines