{"id":13685639,"url":"https://github.com/Yubico/libfido2","last_synced_at":"2025-05-01T04:32:01.620Z","repository":{"id":37734640,"uuid":"130169332","full_name":"Yubico/libfido2","owner":"Yubico","description":"Provides library functionality for FIDO2, including communication with a device over USB or NFC.","archived":false,"fork":false,"pushed_at":"2024-10-16T12:18:03.000Z","size":44811,"stargazers_count":590,"open_issues_count":10,"forks_count":152,"subscribers_count":62,"default_branch":"main","last_synced_at":"2024-10-18T04:03:18.239Z","etag":null,"topics":["fido2","libfido2","webauthn","yubikey"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yubico.png","metadata":{"files":{"readme":"README.adoc","changelog":"NEWS","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-19T06:32:10.000Z","updated_at":"2024-10-15T17:50:02.000Z","dependencies_parsed_at":"2023-02-15T07:31:16.115Z","dependency_job_id":"e9479970-c8d1-4c1e-bba4-44a266f967f6","html_url":"https://github.com/Yubico/libfido2","commit_stats":{"total_commits":1885,"total_committers":70,"mean_commits":"26.928571428571427","dds":0.4445623342175067,"last_synced_commit":"379a852ac2681cc3714fd47567aa39058d9a41bb"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yubico%2Flibfido2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yubico%2Flibfido2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yubico%2Flibfido2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yubico%2Flibfido2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yubico","download_url":"https://codeload.github.com/Yubico/libfido2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224235385,"owners_count":17278151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fido2","libfido2","webauthn","yubikey"],"created_at":"2024-08-02T14:00:55.019Z","updated_at":"2025-05-01T04:32:01.613Z","avatar_url":"https://github.com/Yubico.png","language":"C","funding_links":[],"categories":["C","Client Libraries","Library","others"],"sub_categories":[],"readme":"== libfido2\n\nimage:https://github.com/yubico/libfido2/workflows/linux/badge.svg[\"Linux Build Status (github actions)\", link=\"https://github.com/Yubico/libfido2/actions\"]\nimage:https://github.com/yubico/libfido2/workflows/macos/badge.svg[\"macOS Build Status (github actions)\", link=\"https://github.com/Yubico/libfido2/actions\"]\nimage:https://github.com/yubico/libfido2/workflows/windows/badge.svg[\"Windows Build Status (github actions)\", link=\"https://github.com/Yubico/libfido2/actions\"]\nimage:https://github.com/yubico/libfido2/workflows/fuzzer/badge.svg[\"Fuzz Status (github actions)\", link=\"https://github.com/Yubico/libfido2/actions\"]\nimage:https://oss-fuzz-build-logs.storage.googleapis.com/badges/libfido2.svg[\"Fuzz Status (oss-fuzz)\", link=\"https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened\u0026can=1\u0026q=proj:libfido2\"]\n\n*libfido2* provides library functionality and command-line tools to\ncommunicate with a FIDO device over USB or NFC, and to verify attestation and\nassertion signatures.\n\n*libfido2* supports the FIDO U2F (CTAP 1) and FIDO2 (CTAP 2) protocols.\n\nFor usage, see the `examples/` directory.\n\n=== License\n\n*libfido2* is licensed under the BSD 2-clause license. See the LICENSE\nfile for the full license text.\n\n=== Supported Platforms\n\n*libfido2* is known to work on Linux, macOS, Windows, OpenBSD, and FreeBSD.\n\n=== Documentation\n\nDocumentation is available in troff and HTML formats. An\nhttps://developers.yubico.com/libfido2/Manuals/[online mirror of *libfido2*'s documentation]\nis also available.\n\n=== Bindings\n\n* .NET: https://github.com/borrrden/Fido2Net[Fido2Net]\n* Go: https://github.com/keys-pub/go-libfido2[go-libfido2]\n* Perl: https://github.com/jacquesg/p5-FIDO-Raw[p5-FIDO-Raw]\n* Rust: https://github.com/PvdBerg1998/libfido2[libfido2]\n\n=== Releases\n\nThe current release of *libfido2* is 1.15.0. Signed release tarballs are\navailable at Yubico's\nhttps://developers.yubico.com/libfido2/Releases[release page].\n\n=== Dependencies\n\n*libfido2* depends on https://github.com/pjk/libcbor[libcbor],\nhttps://www.openssl.org[OpenSSL] 1.1 or newer, and https://zlib.net[zlib].\nOn Linux, libudev\n(part of https://www.freedesktop.org/wiki/Software/systemd[systemd]) is also\nrequired.\n\n=== Installation\n\n==== Fedora 34 and later\n\n  $ sudo dnf install libfido2 libfido2-devel fido2-tools\n\n==== Ubuntu 20.04 (Focal) and later\n\n  $ sudo apt install libfido2-1 libfido2-dev libfido2-doc fido2-tools\n\nAlternatively, newer versions of *libfido2* are available in Yubico's PPA.\nFollow the instructions for Ubuntu 18.04 (Bionic) below.\n\n==== Ubuntu 18.04 (Bionic)\n\n  $ sudo apt install software-properties-common\n  $ sudo apt-add-repository ppa:yubico/stable\n  $ sudo apt update\n  $ sudo apt install libfido2-1 libfido2-dev libfido2-doc fido2-tools\n\nOn Linux, you may need to add a udev rule to be able to access the FIDO\ndevice. For example, the udev rule may contain the following:\n\n----\n#udev rule for allowing HID access to Yubico devices for FIDO support.\n\nKERNEL==\"hidraw*\", SUBSYSTEM==\"hidraw\", \\\n  MODE=\"0664\", GROUP=\"plugdev\", ATTRS{idVendor}==\"1050\"\n----\n\n==== macOS\n\n  $ brew install libfido2\n\n==== Windows\n\nPlease consult Yubico's\nhttps://developers.yubico.com/libfido2/Releases[release page] for ARM, ARM64,\nWin32, and Win64 artefacts.\n\n=== Building from source\n\nOn UNIX-like systems:\n\n  $ cmake -B build\n  $ make -C build\n  $ sudo make -C build install\n\nDepending on the platform,\nhttps://www.freedesktop.org/wiki/Software/pkg-config/[pkg-config] may need to\nbe installed, or the PKG_CONFIG_PATH environment variable set. For complete,\nOS-specific build instructions, please refer to the `.actions/`\n(Linux, macOS, BSD) and `windows/` directories.\n\n=== Build-time Customisation\n\n*libfido2* supports a number of CMake options. Some of the options require\nadditional dependencies. Options that are disabled by default are not\nofficially supported.\n\n[%autowidth.stretch]\n|===\n|*Option*           |*Description*                            |*Default*\n| BUILD_EXAMPLES    | Build example programs                  | ON\n| BUILD_MANPAGES    | Build man pages                         | ON\n| BUILD_SHARED_LIBS | Build a shared library                  | ON\n| BUILD_STATIC_LIBS | Build a static library                  | ON\n| BUILD_TOOLS       | Build auxiliary tools                   | ON\n| FUZZ              | Enable fuzzing instrumentation          | OFF\n| NFC_LINUX         | Enable netlink NFC support on Linux     | ON\n| USE_HIDAPI        | Use hidapi as the HID backend           | OFF\n| USE_PCSC          | Enable experimental PCSC support        | OFF\n| USE_WINHELLO      | Abstract Windows Hello as a FIDO device | ON\n|===\n\nThe USE_HIDAPI option requires https://github.com/libusb/hidapi[hidapi]. The\nUSE_PCSC option requires https://github.com/LudovicRousseau/PCSC[pcsc-lite] on\nLinux.\n\n=== Development\n\nPlease use https://github.com/Yubico/libfido2/discussions[GitHub Discussions]\nto ask questions and suggest features, and\nhttps://github.com/Yubico/libfido2/pulls[GitHub pull-requests] for code\ncontributions.\n\n=== Reporting bugs\n\nPlease use https://github.com/Yubico/libfido2/issues[GitHub Issues] to report\nbugs. To report security issues, please contact security@yubico.com. A PGP\npublic key can be found at\nhttps://www.yubico.com/support/security-advisories/issue-rating-system/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYubico%2Flibfido2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FYubico%2Flibfido2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYubico%2Flibfido2/lists"}