#fido2 #fido #passkey #usb-hid

app fidoprobe

用于管理FIDO2设备的小工具

2个版本

0.1.1 2024年6月22日
0.1.0 2024年5月15日

#110 in 身份验证

MIT 协议

50KB
1.5K SLoC

fidoprobe

fidoprobe是一个实用程序,用于列出、删除和检查FIDO2设备(如Yubikey或其他passkey设备)上的凭证。

注意:它不与平台认证器(如TouchID或Windows Hello)兼容,因为它们不使用USB HID API,而是使用单独的API。同样,它也不与基于浏览器扩展的passkey(如Bitwarden)兼容,因为它们仅存在于浏览器中。

安装

cargo install fidoprobe

使用方法

> fidoprobe --help
A utility to interact with FIDO2 devices

Usage: fidoprobe <COMMAND>

Commands:
  list     List credentials
  info     Get info for a particular credential
  create   Create a new credential
  delete   Delete a credential
  set-pin  Set the PIN on an authenticator
  reset    Reset an authenticator
  sign     Sign a challenge with a credential
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help
> fidoprobe list
Enter PIN:
Authenticator: AAGuid(2fc0529f-8113-4eea-b116-bg5a8d592C2a)
Credential Count: 3 (Maximum: 25)
Relying Party "webauthn.io":
    Credential wQhAoc...qSukz:
        User ID: cnNETmhxTjRFdG5vb0FfdjI3OHhOVWRNTXRBdEpjN3JGaUdoS0daVEc2VQ==
        User Name: "Bob"
        Public key: MFkwEwYHKoZ...yVCNTYTA==
        Credential Protection Policy: UserVerificationOptional
    Credential fXOy9v...3qZAr:
        User ID: Ul81ZjF4c2FQQ2VtSm80SEZOMk1TOXF1MmFORFRMNlBINzFTaE9vWFFzYw==
        User Name: "Alice"
        Public key: MFkwEwYHKoZ...BA7Ba1BA==
        Credential Protection Policy: UserVerificationOptional
    Credential vnJ9Hh...QBeBh:
        User ID: ZXFXa21peDdPMHFqdXQyb240ZDhnaGVCcGVxSDdzcWp3WTAydHkxcWlZOA==
        User Name: "test"
        Public key: MFkwEwYHKoZ...UAuYmOeA==
        Credential Protection Policy: UserVerificationOptional
> fidoprobe info vnJ9Hh
RelyingParty:
    ID: "webauthn.io"
Credential:
    Public Key:
        ID: vnJ9HhKLnnzcwSLLAOMGTISVegLT1QOOjWiuaWsUzLuRchwxcgek/U10eSJQBeBh
        Transports: []
    User:
        ID: "ZXFXa21peDdPMHFqdXQyb240ZDhnaGVCcGVxSDdzcWp3WTAydHkxcWlZOA=="
        Name: "test"
        Display Name: "test"
    COSEKey:
        Alg: ES256
        EC2 Key:
            Curve: SECP256R1
            X: vnJ9HhKLnnzcwSLLAFBW1vCY/wFD57Gq2d9OeeNzmEI=
            Y: A25JWMQ04vVaFD4yC3Qqa62F+f391b3cxjPVALmJjng=
    Credential Protection Policy: UserVerificationOptional

依赖项

~6–17MB
~193K SLoC