#private-key #secret-key #openpgp #pgp #hardware-devices

sequoia-keystore-softkeys

A soft key (in-memory key) backend for Sequoia's private key store

6 releases (breaking)

0.5.0 Jun 4, 2024
0.4.1 May 20, 2024
0.3.0 Mar 24, 2024
0.2.0 Feb 20, 2024
0.1.0 Jan 21, 2024

#1989 in Cryptography

Download history 181/week @ 2024-04-03 280/week @ 2024-04-10 86/week @ 2024-04-17 96/week @ 2024-04-24 37/week @ 2024-05-01 3/week @ 2024-05-08 423/week @ 2024-05-15 392/week @ 2024-05-22 330/week @ 2024-05-29 547/week @ 2024-06-05 286/week @ 2024-06-12 133/week @ 2024-06-19 119/week @ 2024-06-26 380/week @ 2024-07-03 131/week @ 2024-07-10 303/week @ 2024-07-17

966 downloads per month
Used in sequoia-keystore

LGPL-2.0-or-later

52KB
1K SLoC

A soft key (in-memory key) backend for Sequoia's private key store.

The sequoia-keystore crate implements a server that manages secret key material. Secret key material can be stored in files, on hardware devices like smartcards, or accessed via the network. sequoia-keystore doesn't implement these access methods. This is taken care of by various backends.

This crate includes a backend that provides access to secret key material stored in files. These are called soft keys in contrast to keys managed by a separate piece of hardware.

If the keystore is configured to use ~/.local/share/sequoia as its data directory, then the soft key backend uses ~/.local/share/sequoia/keystore/softkeys. Specifically, it iterates over the files in that directory, and looks for binary encoded or ASCII-armor encoded OpenPGP Transferable Secret Keys in files ending with .pgp or .asc; other files are silently ignored.

$ ls .local/share/sequoia/keystore/softkeys/
1234.pgp  1234.pgp.rev  alice.pgp  alice.pgp.rev  F44B66C85C9B7B02AF2D52FDEFF613897AD9CE21.pgp

Dependencies

~17–29MB
~414K SLoC