3个版本 (破坏性)
0.3.0 | 2024年6月4日 |
---|---|
0.2.0 | 2024年5月19日 |
0.1.0 | 2024年3月24日 |
#2443 in 密码学
每月455次下载
用于 sequoia-keystore
37KB
722 行
Sequoia的私钥存储的gpg-agent
后端。
sequoia-keystore
crate实现了一个服务器,用于管理密钥。密钥材料可以存储在文件中,在智能卡等硬件设备上,或通过网络访问。sequoia-keystore
不实现这些访问方法。这由各种后端处理。
此crate包括一个后端,该后端公开由gpg-agent
进程管理的密钥。默认情况下,此后端使用默认的gpg-agent
,即$HOME/.gnupg
的gpg-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