#openpgp-card #client #byte #apdu #command #key #scdaemon

openpgp-card-scdc

实验性 SCDaemon 客户端,用于与 openpgp-card crate 一起使用

6 个版本

0.2.1 2022年3月22日
0.2.0 2022年2月24日
0.1.0 2021年12月2日
0.0.3 2021年10月29日
0.0.1 2021年8月26日

#14 in #openpgp-card

每月下载量 23

MIT/ApacheLGPL-2.0-or-later

15KB
197 代码行

openpgp-card 库的 scdaemon 客户端

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

注意,与 openpgp-card-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-scdcdisable-ccid 结合使用时,您可能希望一次只插入一张 OpenPGP 卡。

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

依赖项

~26–40MB
~521K SLoC