#fido2 #ctap #hmac #protocols #extension #whether

ctap_hmac

FIDO2 CTAP协议的Rust实现,包括HMAC扩展

10个版本

0.4.5 2021年7月26日
0.4.4 2020年10月18日
0.4.3 2020年9月6日
0.4.2 2020年4月26日
0.1.1 2019年10月9日

#773 in 身份验证


用于 fido2luks

Apache-2.0/MIT

84KB
2K SLoC

本软件按“原样”提供,不提供任何形式的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论其基于合同、侵权或其他法律行为,也不论其是否与软件或软件的使用或其他交易有关。

ctap

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

使用示例

use ctap_hmac::*;
let device_info = get_devices()?.next().expect("no device connected");
let mut device = 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 cred_request = FidoCredentialRequestBuilder::default()
                    .rp_id("rp_id")
                    .user_name("user_name")
                    .build().unwrap();

let cred = device.make_credential(&cred_request)?;
let cred = &&cred;
let assertion_request = FidoAssertionRequestBuilder::default()
                            .rp_id("rp_id")
                            .credential(&&cred)
                            .build().unwrap();
// In a real application the credential would be stored and used later.
let result = device.get_assertion(&assertion_request);

限制

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

许可证

根据以下任一许可证授权

任选其一。

贡献

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

依赖关系

~13MB
~318K SLoC