1 个不稳定版本
0.3.2-dev.1 | 2022年8月26日 |
---|
#299 在 操作系统
2,466 每月下载量
在 4 个crates(2 个直接)中使用
700KB
16K SLoC
Rust库,用于与CTAP1/CTAP2安全密钥交互
这是一个跨平台库,通过Rust与安全密钥设备交互。
- 支持的平台:Windows、Linux、FreeBSD、NetBSD、OpenBSD和macOS。
- 支持传输:USB HID。
- 支持协议: 通过USB的FIDO U2F。即将推出对CTAP2的支持,相关工作在进行中,在
ctap2
分支。
该库目前专注于USB安全密钥,但预计将扩展以支持其他传输。
使用方法
目前只有一个示例函数,尝试注册并签名。它使用env_logger进行日志记录,您可以使用RUST_LOG
环境变量进行配置。
cargo build --example main
RUST_LOG=debug cargo run --example main
正确的使用方法应该是从其他东西调用这个库,例如Firefox。为此提供了C头文件。
测试
有一些测试跨平台运行循环逻辑和协议解码器。
cargo test
模糊测试
有USB协议读取器的模糊器,基本上是模糊HID层的输入。尚无(尚无)用于调用者(如Gecko)使用的C API的模糊器。
要进行模糊测试,您需要cargo-fuzz(GitHub上的最新版本)以及Rust Nightly。
rustup install nightly
cargo install cargo-fuzz
cargo +nightly fuzz run u2f_read -- -max_len=512
cargo +nightly fuzz run u2f_read_write -- -max_len=512
依赖项
~3–20MB
~259K SLoC