#private-key #openpgp #secret-key #public-key #pgp

sequoia-keystore-gpg-agent

Sequoia的私钥存储的gpg-agent后端

3个版本 (破坏性)

0.3.0 2024年6月4日
0.2.0 2024年5月19日
0.1.0 2024年3月24日

#2443 in 密码学

Download history 100/week @ 2024-04-24 36/week @ 2024-05-01 2/week @ 2024-05-08 270/week @ 2024-05-15 357/week @ 2024-05-22 312/week @ 2024-05-29 559/week @ 2024-06-05 286/week @ 2024-06-12 100/week @ 2024-06-19 27/week @ 2024-06-26 155/week @ 2024-07-03 37/week @ 2024-07-10 198/week @ 2024-07-17 25/week @ 2024-07-24 61/week @ 2024-07-31 152/week @ 2024-08-07

每月455次下载
用于 sequoia-keystore

LGPL-2.0-or-later

37KB
722

Sequoia的私钥存储的gpg-agent后端。

sequoia-keystorecrate实现了一个服务器,用于管理密钥。密钥材料可以存储在文件中,在智能卡等硬件设备上,或通过网络访问。sequoia-keystore不实现这些访问方法。这由各种后端处理。

此crate包括一个后端,该后端公开由gpg-agent进程管理的密钥。默认情况下,此后端使用默认的gpg-agent,即$HOME/.gnupggpg-agent

而密钥存储和相应后端使用OpenPGP数据结构,gpg-agent使用更低级别的表示,与编码无关。作为一个粗略的近似,gpg-agent使用低级公钥和私钥,不知道OpenPGP元数据。结果是,它也可以与X.509密钥一起工作。

gpg-agent使用所谓的密钥grip来引用密钥,基本上是公钥材料的哈希。这通常可以从OpenPGP密钥材料中导出(尽管该函数不是全函数)。该后端通过遍历用户默认的证书存储中存储的所有OpenPGP证书来找到与gpg-agent管理的低级密钥对应的OpenPGP密钥。如果后端找不到具有相应密钥grip的密钥,则不会公开该密钥;它不可用。如果证书已知,可以通过以常规方式导入证书来公开密钥

$ sq cert import cert.pgp

后端不需要重启,它会自动获取。

依赖项

~25–38MB
~495K SLoC