12 个版本

0.2.2 2023年1月17日
0.2.1 2022年9月11日
0.2.0 2022年5月24日
0.1.1 2022年1月13日
0.0.4 2021年7月28日

#262硬件支持

每月47 次下载

Apache-2.0 OR MIT

130KB
2.5K SLoC

此存储库不完整,正在积极开发中。

🐝 solo2 库和 CLI

Solo 2 设备可以在两种模式之一中运行(括号内为 USB VID:PID)

在常规模式下,会灵活地使用 PCSC 或 CTAP 接口。
在维护模式下,使用 NXP 的自定义 HID 协议(通过 lpc55-host)。

在 Linux 上,维护模式需要 udev 规则

您可以使用 solo2 app admin maintenance 切换到 LPC 55 模式
您可以使用 solo2 bootloader reboot(或重新插拔设备)切换到 Solo 2 模式

Solo 2 自 1.4.35 版本(2021年7月25日)以来由 Ludovic Rousseau 的 CCID 驱动程序支持。
遗憾的是,Debian 和 macOS 尚未更新。

包含的 Info.plist 仍然有效。

⚠ 危险 ⚠

如果根据引导加载程序,固件无效,则设备始终停留在引导加载程序模式。这是正常的。

但是:如果根据引导加载程序,固件有效,并且设备已启动到其中,但如果固件存在问题(例如,崩溃),则唯一返回引导加载程序模式并刷新新固件的方法是连接调试器。

这相当麻烦,需要一根 专用电缆。我们建议使用 NXP 的 开发板

安装

Packaging status

cargo install solo2

为了实验性的“PKI轻量级”支持,请使用以下命令安装:cargo install --features dev-pki solo2。这不是为了也绝不会发展成为完整的PKI创建和管理功能,目标是仅启用开发和测试所有官方应用的所有功能。

示例

如果密钥处于常规模式,并且其固件包含管理应用

  • solo2 app admin uuid读取序列号。
  • solo2 app admin maintenance切换到引导加载程序模式。

如果密钥处于常规模式,并且其固件包含NDEF应用

  • solo2 app ndef capabilities读取NDEF功能。

如果密钥处于维护模式

  • solo2 bootloader reboot切换到常规模式(如果固件有效)。

注意,子命令是推断的,因此例如solo2 b rsolo2 bootloader reboot的工作方式相同。

日志记录

使用pretty_env_logger,通过--verbose标志进行配置。例如,-v记录INFO级别日志,而-vv记录DEBUG级别日志。

许可证

SoloKeys是完全开源的。

除非另有说明,所有软件均根据Apache 2.0MIT双许可。您可以在Apache 2.0许可证或MIT许可证的条款下使用SoloKeys软件。

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,都将根据上述条款双许可,没有任何附加条款或条件。

除非另有说明,所有硬件均根据CERN-OHL-S-2.0许可。

除非另有说明,所有文档均根据CC-BY-SA-4.0许可。

文件Info.plist来自CCID,它根据LGPL-2.1许可。

依赖关系

~22–35MB
~672K SLoC