All Projects → google → CTAP2-test-tool

google / CTAP2-test-tool

Licence: Apache-2.0 License
Test tool for CTAP2 authenticators

Programming Languages

C++
36643 projects - #6 most used programming language
Starlark
911 projects
shell
77523 projects

Projects that are alternatives of or similar to CTAP2-test-tool

Opensk
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
Stars: ✭ 2,114 (+5772.22%)
Mutual labels:  fido2, ctap2, security-key
uru-card
Arduino based firmware for FIDO2 Authenticator
Stars: ✭ 114 (+216.67%)
Mutual labels:  fido2, ctap2
webauthn-demo
WebAuthn demo with Ionic/Angular and Spring Boot
Stars: ✭ 22 (-38.89%)
Mutual labels:  fido2
webauthn-example
Basic WebAuthn client and server in go
Stars: ✭ 53 (+47.22%)
Mutual labels:  fido2
awesome-yubikey
Curated list of awesome Yubikey resources, open source projects, tools and tutorials.
Stars: ✭ 22 (-38.89%)
Mutual labels:  fido2
hwsecurity
Hardware Security SDK - open source version (GPLv3). Full version can be found on https://hwsecurity.dev.
Stars: ✭ 28 (-22.22%)
Mutual labels:  fido2
go-libfido2
libfido2 bindings for golang
Stars: ✭ 42 (+16.67%)
Mutual labels:  fido2
line-fido2-server
FIDO2(WebAuthn) server officially certified by FIDO Alliance and Relying Party examples.
Stars: ✭ 350 (+872.22%)
Mutual labels:  fido2
adfsmfa
MFA for ADFS 2022/2019/2016/2012r2
Stars: ✭ 86 (+138.89%)
Mutual labels:  fido2
keycloak-radius-plugin
Make the radius server as part of keycloak SSO
Stars: ✭ 102 (+183.33%)
Mutual labels:  fido2
wp-webauthn
🔒 WP-WebAuthn allows you to safely login to your WordPress site without password.
Stars: ✭ 85 (+136.11%)
Mutual labels:  fido2
android-webauthn-authenticator
A WebAuthn Authenticator for Android leveraging hardware-backed key storage and biometric user verification.
Stars: ✭ 101 (+180.56%)
Mutual labels:  fido2
FIDO-Server
Open-source FIDO server, featuring the FIDO2 standard.
Stars: ✭ 17 (-52.78%)
Mutual labels:  fido2
clarion
WebAuthn (U2F) helper for CLI operations (e.g. SSH Log in)
Stars: ✭ 78 (+116.67%)
Mutual labels:  fido2
hms-FIDO-demo-java
HMS FIDO demo, including fido2 demo, bioauthn demo and bioauthn-androidx demo.
Stars: ✭ 17 (-52.78%)
Mutual labels:  fido2
Solo
Solo 1: open security key supporting FIDO2 & U2F over USB + NFC
Stars: ✭ 1,986 (+5416.67%)
Mutual labels:  fido2

Test Tool logo

CTAP2 test tool

The test suite intents to make it easier for developers to find bugs in their CTAP2 implementation.

Disclaimer

Those tests reflect the author's interpretation of the specification. It is not to be confused with certification by the FIDO Alliance. Please check the FIDO Alliance web page for more information.

How to install

The build system is bazel. Please make sure you have all dependencies installed. Example command for Ubuntu:

apt-get install bazel libudev-dev autotools-dev autoconf automake libtool

On your first run, the build system will fetch all other necessary libraries using git. The tool is tested on Linux and MacOS with GCC 9 and higher.

How to run

⚠️ This tool will irreversibly delete all credentials on your device.

Running the tool without comments lists all avaiable devices. Select the device you want to test by passing --token_path. For Unix, if only one CTAP2 compatible device is plugged in, you can simply run:

./run.sh

For more control, try i.e.:

bazel run //:fido2_conformance
bazel run //:fido2_conformance -- --token_path=/dev/hidraw0

⚠️ Please do not plug in other security keys with the same product ID, or the tool might contact the wrong device during testing.

While running the test tool, you will be prompted to touch or replug your security key multiple times, to test various features.

Supported features

At the moment, we only support USB HID as a transport. We test the commands from CTAP 2.0, but plan to add tests for supported extensions and CTAP 2.1. The security key must support resident keys and user presence. Also, security keys with displays are untested so far.

Fuzzing

In addition to the CTAP2 specification conformance test, we provide a proof-of-concept fuzzing tool. Please check fuzzing.md for a detailed guide.

Results

For more information on checking or contributing test results, please check results.md.

Contributing

If we didn't already test your security key or you have an updated version, please create a pull request with your result file!

If you want to contribute code, please check contributing.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].