
FIDO2 के लिए लाइब्रेरी कार्यक्षमता प्रदान करता है, जिसमें USB या NFC के माध्यम से डिवाइस के साथ संचार शामिल है।
== libfido2
image:https://github.com/yubico/libfido2/workflows/linux/badge.svg["Linux Build Status (github actions)", link="https://github.com/Yubico/libfido2/actions"] image:https://github.com/yubico/libfido2/workflows/macos/badge.svg["macOS Build Status (github actions)", link="https://github.com/Yubico/libfido2/actions"] image:https://github.com/yubico/libfido2/workflows/windows/badge.svg["Windows Build Status (github actions)", link="https://github.com/Yubico/libfido2/actions"] image:https://github.com/yubico/libfido2/workflows/fuzzer/badge.svg["Fuzz Status (github actions)", link="https://github.com/Yubico/libfido2/actions"] image: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&can=1&q=proj:libfido2"]
libfido2 USB या NFC के माध्यम से FIDO डिवाइस के साथ संचार करने और अटेस्टेशन तथा एसर्शन हस्ताक्षरों को सत्यापित करने के लिए लाइब्रेरी कार्यक्षमता और कमांड-लाइन उपकरण प्रदान करता है।
libfido2 FIDO U2F (CTAP 1) और FIDO2 (CTAP 2) प्रोटोकॉल का समर्थन करता है।
उपयोग के लिए, examples/ निर्देशिका देखें।
=== लाइसेंस
libfido2 BSD 2-क्लॉज़ लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। पूर्ण लाइसेंस पाठ के लिए LICENSE फ़ाइल देखें।
=== समर्थित प्लेटफ़ॉर्म
libfido2 Linux, macOS, Windows, OpenBSD और FreeBSD पर कार्य करने के लिए जाना जाता है।
=== दस्तावेज़ीकरण
दस्तावेज़ीकरण troff और HTML प्रारूपों में उपलब्ध है। एक https://developers.yubico.com/libfido2/Manuals/[*libfido2* के दस्तावेज़ीकरण का ऑनलाइन मिरर] भी उपलब्ध है।
=== बाइंडिंग्स
=== रिलीज़
libfido2 का वर्तमान रिलीज़ 1.17.0 है। हस्ताक्षरित रिलीज़ टारबॉल Yubico के https://developers.yubico.com/libfido2/Releases[रिलीज़ पृष्ठ] पर उपलब्ध हैं।
=== निर्भरताएँ
libfido2 https://github.com/pjk/libcbor[libcbor], https://www.openssl.org[OpenSSL] 3.0 या नया, और https://zlib.net[zlib] पर निर्भर करता है। Linux पर, libudev (https://www.freedesktop.org/wiki/Software/systemd[systemd] का हिस्सा) भी आवश्यक है।
=== स्थापना
==== Fedora 34 और बाद के संस्करण
$ sudo dnf install libfido2 libfido2-devel fido2-tools
==== Ubuntu 20.04 (Focal) और बाद के संस्करण
$ sudo apt install libfido2-1 libfido2-dev libfido2-doc fido2-tools
वैकल्पिक रूप से, libfido2 के नए संस्करण Yubico के PPA में उपलब्ध हैं। नीचे दिए गए Ubuntu 18.04 (Bionic) के निर्देशों का पालन करें।
==== Ubuntu 18.04 (Bionic)
$ sudo apt install software-properties-common $ sudo apt-add-repository ppa:yubico/stable $ sudo apt update $ sudo apt install libfido2-1 libfido2-dev libfido2-doc fido2-tools
Linux पर, FIDO डिवाइस तक पहुँच पाने के लिए आपको एक udev नियम जोड़ने की आवश्यकता हो सकती है। उदाहरण के लिए, udev नियम में निम्नलिखित हो सकता है:
#udev rule for allowing HID access to Yubico devices for FIDO support.
==== macOS
$ brew install libfido2
==== Windows
कृपया ARM, ARM64, Win32 और Win64 आर्टिफैक्ट्स के लिए Yubico के https://developers.yubico.com/libfido2/Releases[रिलीज़ पृष्ठ] को देखें।
हमारी लाइब्रेरीज़ के सुरक्षित उपयोग का तात्पर्य है कि आर्टिफैक्ट्स को एक विश्वसनीय, अन-राइटेबल निर्देशिका में निष्पादन योग्य फ़ाइल के साथ DLLs रखकर अनपैक किया गया है। DLL परिनियोजन और सुरक्षित पैकेजिंग तकनीकों पर सामान्य मार्गदर्शन के लिए कृपया Microsoft के आधिकारिक दस्तावेज़ीकरण का संदर्भ लें। ध्यान दें कि हमारे डायनामिक रूप से लिंक किए गए आर्टिफैक्ट्स /MD के साथ निर्मित होते हैं और उनके लिए संबंधित Visual C++ रनटाइम की उपस्थिति आवश्यक हो सकती है।
=== स्रोत से निर्माण
UNIX-जैसे सिस्टम पर:
$ cmake -B build $ make -C build $ sudo make -C build install
प्लेटफ़ॉर्म के आधार पर, https://www.freedesktop.org/wiki/Software/pkg-config/[pkg-config] को स्थापित करने की आवश्यकता हो सकती है, या PKG_CONFIG_PATH पर्यावरण चर सेट करना पड़ सकता है। पूर्ण, OS-विशिष्ट निर्माण निर्देशों के लिए, कृपया .actions/ (Linux, macOS, BSD) और windows/ निर्देशिकाओं को देखें।
=== निर्माण-समय अनुकूलन
libfido2 कई CMake विकल्पों का समर्थन करता है। कुछ विकल्पों के लिए अतिरिक्त निर्भरताओं की आवश्यकता होती है। जो विकल्प डिफ़ॉल्ट रूप से अक्षम हैं, वे आधिकारिक रूप से समर्थित नहीं हैं।
[%autowidth.stretch] |=== |विकल्प |विवरण |डिफ़ॉल्ट | BUILD_EXAMPLES | उदाहरण प्रोग्राम बनाएँ | ON | BUILD_MANPAGES | मैन पेज बनाएँ | ON | BUILD_SHARED_LIBS | शेयर्ड लाइब्रेरी बनाएँ | ON | BUILD_STATIC_LIBS | स्टैटिक लाइब्रेरी बनाएँ | ON | BUILD_TOOLS | सहायक उपकरण बनाएँ | ON | FUZZ | फ़ज़िंग इंस्ट्रूमेंटेशन सक्षम करें | OFF | NFC_LINUX | Linux पर netlink NFC समर्थन सक्षम करें | ON | USE_HIDAPI | HID बैकएंड के रूप में hidapi का उपयोग करें | OFF | USE_PCSC | प्रायोगिक PCSC समर्थन सक्षम करें | OFF | USE_WINHELLO | Windows Hello को FIDO डिवाइस के रूप में अमूर्त करें | ON |===
USE_HIDAPI विकल्प के लिए https://github.com/libusb/hidapi[hidapi] की आवश्यकता होती है। USE_PCSC विकल्प के लिए Linux पर https://github.com/LudovicRousseau/PCSC[pcsc-lite] की आवश्यकता होती है।
=== विकास
प्रश्न पूछने और सुविधाओं का सुझाव देने के लिए कृपया https://github.com/Yubico/libfido2/discussions[GitHub Discussions] का उपयोग करें, और कोड योगदान के लिए https://github.com/Yubico/libfido2/pulls[GitHub pull-requests] का उपयोग करें।
=== बग की रिपोर्टिंग
बग की रिपोर्ट करने के लिए कृपया https://github.com/Yubico/libfido2/issues[GitHub Issues] का उपयोग करें। सुरक्षा समस्याओं की रिपोर्ट करने के लिए, कृपया [email protected] से संपर्क करें। एक PGP सार्वजनिक कुंजी https://www.yubico.com/support/security-advisories/issue-rating-system/ पर पाई जा सकती है।