#安全 #加密 #http-client

已删除 yubihsm-client

YubiHSM2设备的纯Rust客户端

使用旧的Rust 2015

0.0.0 2018年2月8日

#528 in #http-client

MIT/Apache

8KB
87 代码行

yubihsm-client.rs

这是一个实验性的纯Rust重新实现libyubihsm,为YubiHSM2设备提供Yubico的接口。

关于

这个库试图重新实现一些libyubihsm的功能,它是一个封闭源码的C库,充当基于libcurl的HTTP(S)客户端,并向yubihsm-connector进程发送命令,该进程实现了一个HTTP(S)服务器,该服务器通过USB将命令发送到YubiHSM2硬件设备。然而,libyubihsm很难使用,因为它作为一个平台特定的动态库提供,需要其自己的特殊版本的libcurl和OpenSSL。

yubihsm-client是基于黑盒逆向工程HTTP请求和响应的纯Rust重新实现类似的HTTP(S)客户端库yubihsm-connector。这个过程涉及到很多猜测,因此在这个库中实现的功能可能并不是协议实际工作的准确反映。仅暴露了libyubihsm提供的一小部分功能。

yubihsm-client使用reqwest Rust HTTP客户端库实现。

测试

yubihsm-client的测试假设您拥有YubiHSM2硬件设备,已为您所在的平台下载了YubiHSM2 SDK,并在默认端口12345上运行一个监听在本地主机的yubihsm-connector进程。YubiHSM2设备应处于默认出厂状态。要将它重置到这个状态,可以使用yubihsm-shell reset命令或插入后立即按下YubiHSM2 10秒。

许可证

yubihsm-client根据MIT许可证和Apache许可证(版本2.0)的条款分发。

有关详细信息,请参阅LICENSE-APACHELICENSE-MIT

依赖项

~14–23MB
~410K SLoC