#openpgp-card #back-end #client #access #traits #transaction #scdaemon

card-backend-scdc

实验性SCDaemon客户端,例如用于openpgp-card库

2个不稳定版本

0.5.0 2023年9月5日
0.4.0 2023年8月28日

#1107 in 硬件支持


用于 openpgp-card-rpgp

MIT/ApacheLGPL-2.0-or-later

23KB
301 代码行

基于scdaemon的后端(例如,用于openpgp-card库)

此crate提供ScdBackend/ScdTransaction,这是CardBackend/CardTransaction特质的实现,它使用GnuPG的scdaemon实例来访问OpenPGP卡。

请注意(与card-backend-pcsc不同),此后端不实现事务保证。

已知限制

  • 通过scdaemon上传RSA 4096密钥时,不支持命令链(例如,“Floss Shop OpenPGP Smart Card”)的卡将无法正常工作。这是由通过Assuan协议发送客户端请求的大小限制引起的。Assuan "客户端请求"限制为1000个字符。命令以ASCII编码的十六进制形式发送,因此APDU命令限制在约480字节。这对于将RSA 4096密钥导入卡中是不够的(所有其他OpenPGP卡操作都符合此限制)。

  • 当通过pcsc使用scdaemon(通过将scdaemon配置为disable-ccid)时,选择多个已插入OpenPGP卡中的特定卡似乎有问题。因此,在使用openpgp-card-scdc并结合disable-ccid时,您可能只想一次插入一张OpenPGP卡。

  • 当通过其默认的ccid驱动程序使用scdaemon时,选择多个已插入OpenPGP卡中的特定卡似乎只能支持最多4张已插入的卡。因此,在使用带有ccid驱动程序的card-backend-scdc时,您可能一次最多只插入四张OpenPGP卡。(此限制在GnuPG 2.3.x中已提高)

依赖项

~24–37MB
~471K SLoC