Enterprise-grade cross-platform SDK for YubiKey integration, built on .NET.
dotnet add package Yubico.YubiKey
using Yubico.YubiKey;
// Chooses the first YubiKey found on the computer.
IYubiKeyDevice? GetFirstYubiKey()
{
IEnumerable<IYubiKeyDevice> list = YubiKeyDevice.FindAll();
return list.First();
}
📚 Official documentation: docs.yubico.com/yesdk
- User Manual
- API Reference
Supported Target Frameworks:
- .NET Framework 4.7
- .NET Standard 2.1
- .NET 6 and above
Primary assembly containing all classes and types needed for YubiKey interaction.
Platform abstraction layer (PAL) providing:
- OS-specific functionality abstraction
- Device enumeration
- Utility classes for various encoding/decoding operations:
- Base16
- Base32
- Tag-Length-Value (BER Encoded TLV)
- ModHex
⚠️ Not for public use
🔧 Unmanaged Library
Provides stable ABI for P/Invoke operations in Yubico.Core.
Using GitHub Attestations, you are able to verify that the NuGet package has been generated from our repository, right down to the specific GitHub Action that built it like this:
> gh attestation verify .\Yubico.Core.1.12.0.nupkg --repo Yubico/Yubico.NET.SDK
Note that you need to have the gh
CLI installed.
Repository organization:
- 📁
docs/
- API documentation and supplementary content - 📁
examples/
- Sample code and demonstrations - 📁
src/
- Source code for all projects - 📁
tests/
- Unit and integration tests
- Read the Contributor's Guide
- Review Getting Started
- Submit your Pull Request
Prerequisites:
- Install required tools (see Getting Started)
- Load
Yubico.NET.SDK.sln
into your IDE. - Build solution
📫 Need help? Create an issue
📖 Read our blog for the latest Yubico updates here