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? GetFirstYubiKey()
{
    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.NativeShims

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

Build asset attestation

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.

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