#fido2 #protocols #devices #fido #pin #credentials

ctap

一个FIDO2 CTAP协议的Rust实现

1 个不稳定版本

0.1.0 2018年12月27日

#1020 in 认证

Apache-2.0/MIT

57KB
1.5K SLoC

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他方式,无论这些责任产生于、因之而引起或与此软件或其使用或其他方式有关。

ctap

ctap是一个实现FIDO2 CTAP协议的库。

使用示例

let devices = ctap::get_devices()?;
let device_info = &devices[0];
let mut device = ctap::FidoDevice::new(device_info)?;

// This can be omitted if the FIDO device is not configured with a PIN.
let pin = "test";
device.unlock(pin)?;

// In a real application these values would come from the requesting app.
let rp_id = "rp_id";
let user_id = [0];
let user_name = "user_name";
let client_data_hash = [0; 32];
let cred = device.make_credential(
    rp_id,
    &user_id,
    user_name,
    &client_data_hash
)?;

// In a real application the credential would be stored and used later.
let result = device.get_assertion(&cred, &client_data_hash);

限制

目前,此库仅支持Linux。欢迎为其他平台进行测试和贡献。

许可证

许可方式为以下之一

由您选择。

贡献

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

依赖关系

~12MB
~305K SLoC