Skip to content

Yubico/Yubico.NET.SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build-action-status tests-action-status tests-windows-action-status tests-ubuntu-action-status tests-macos-action-status codeql-analysis-action-status

.NET YubiKey SDK

Enterprise-grade cross-platform SDK for YubiKey integration, built on .NET.

Table of Contents

Quick Start

Installation

dotnet add package Yubico.YubiKey

Basic Usage

using Yubico.YubiKey;

// Chooses the first YubiKey found on the computer.
IYubiKeyDevice? SampleChooseYubiKey()
{
    IEnumerable<IYubiKeyDevice> list = YubiKeyDevice.FindAll();
    return list.First();
}

Documentation

📚 Official documentation: docs.yubico.com/yesdk

  • User Manual
  • API Reference

SDK Support

Supported Target Frameworks:

  • .NET Framework 4.7
  • .NET Standard 2.1
  • .NET 6 and above

SDK Packages

Public Assemblies

Yubico.YubiKey

Primary assembly containing all classes and types needed for YubiKey interaction.

Yubico.Core

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

Internal Assemblies

Yubico.DotNetPolyfills

⚠️ Not for public use
Backports BCL features needed by the SDK.

Yubico.NativeShims

⚠️ Not for public use
🔧 Unmanaged Library
Provides stable ABI for P/Invoke operations in Yubico.Core.

Project Structure

Repository organization:

  • 📁 docs/ - API documentation and supplementary content
  • 📁 examples/ - Sample code and demonstrations
  • 📁 src/ - Source code for all projects
  • 📁 tests/ - Unit and integration tests

Contributing

  1. Read the Contributor's Guide
  2. Review Getting Started
  3. Submit your Pull Request

Building the Project

Prerequisites:

  1. Install required tools (see Getting Started)
  2. Load Yubico.NET.SDK.sln into your IDE.
  3. Build solution

Connect with us

📫 Need help? Create an issue
📖 Read our blog for the latest Yubico updates here