1
- <!-- Copyright 2021 Yubico AB
1
+ <!-- Copyright 2024 Yubico AB
2
2
3
3
Licensed under the Apache License, Version 2.0 (the "License");
4
4
you may not use this file except in compliance with the License.
@@ -21,42 +21,103 @@ limitations under the License. -->
21
21
22
22
# .NET YubiKey SDK
23
23
24
- This is a cross-platform, all encompassing SDK for the YubiKey aimed at large to mid-sized enterprise
25
- customers. This version is written against .NET Core, and will eventually include bindings to languages
26
- outside the direct .NET ecosystem.
24
+ Enterprise-grade cross-platform SDK for YubiKey integration, built on .NET.
27
25
28
- ## SDK Support
29
- The SDK is targetting net47, netstandard2.0 and netstandard2.1. This means the SDK can be loaded in NET Framework, NET6 and upwards.
26
+ ## Table of Contents
27
+ - [ Quick Start] ( #quick-start )
28
+ - [ Documentation] ( #documentation )
29
+ - [ SDK Support] ( #sdk-support )
30
+ - [ SDK Packages] ( #sdk-packages )
31
+ - [ Project Structure] ( #project-structure )
32
+ - [ Contributing] ( #contributing )
33
+ - [ Security] ( #security )
34
+
35
+ ## Quick Start
36
+
37
+ ### Installation
38
+ ``` bash
39
+ dotnet add package Yubico.YubiKey
40
+ ```
41
+
42
+ ### Basic Usage
43
+ ``` csharp
44
+ using Yubico .YubiKey ;
45
+
46
+ // Chooses the first YubiKey found on the computer.
47
+ IYubiKeyDevice ? SampleChooseYubiKey ()
48
+ {
49
+ IEnumerable < IYubiKeyDevice > list = YubiKeyDevice .FindAll ();
50
+ return list .First ();
51
+ }
52
+ ```
30
53
31
54
## Documentation
32
55
33
- The public documentation for this project is located
34
- at [ https://docs.yubico.com/yesdk/ ] ( https://docs.yubico.com/yesdk/ ) .
35
- Here you can find both API reference and a user's manual that describes the concepts that this SDK exposes.
56
+ 📚 Official documentation: [ docs.yubico.com/yesdk] ( https://docs.yubico.com/yesdk/ )
57
+ - User Manual
58
+ - API Reference
59
+
60
+ ## SDK Support
61
+
62
+ Supported Target Frameworks:
63
+ - .NET Framework 4.7
64
+ - .NET Standard 2.1
65
+ - .NET 6 and above
66
+
67
+ ## SDK Packages
36
68
37
- ## Project structure
69
+ ### Public Assemblies
38
70
39
- The root of this repository contains the various projects that make up the SDK. Inside each project
40
- folder, you will find:
71
+ #### Yubico.YubiKey
72
+ Primary assembly containing all classes and types needed for YubiKey interaction.
41
73
42
- - docs - Supplementary documentation content for the SDK's API documentation.
43
- - examples - Example code demonstrating various capabilities of the SDK.
44
- - src - All source code that makes up the project.
45
- - tests - Unit and integration tests for the project.
74
+ #### Yubico.Core
75
+ Platform abstraction layer (PAL) providing:
76
+ - OS-specific functionality abstraction
77
+ - Device enumeration
78
+ - Utility classes for various encoding/decoding operations:
79
+ - Base16
80
+ - Base32
81
+ - Tag-Length-Value (BER Encoded TLV)
82
+ - ModHex
83
+
84
+ ### Internal Assemblies
85
+
86
+ #### Yubico.DotNetPolyfills
87
+ > ⚠️ ** Not for public use**
88
+ > Backports BCL features needed by the SDK.
89
+
90
+ #### Yubico.NativeShims
91
+ > ⚠️ ** Not for public use**
92
+ > 🔧 ** Unmanaged Library**
93
+ > Provides stable ABI for P/Invoke operations in Yubico.Core.
94
+
95
+ ## Project Structure
96
+
97
+ Repository organization:
98
+ - 📁 ` docs/ ` - API documentation and supplementary content
99
+ - 📁 ` examples/ ` - Sample code and demonstrations
100
+ - 📁 ` src/ ` - Source code for all projects
101
+ - 📁 ` tests/ ` - Unit and integration tests
46
102
47
103
## Contributing
48
104
49
- Please read the [ Contributor's Guide] ( ./CONTRIBUTING.md ) and [ Getting started] ( ./contributordocs/getting-started.md )
50
- pages before opening a pull request on this project.
105
+ 1 . Read the [ Contributor's Guide] ( ./CONTRIBUTING.md )
106
+ 2 . Review [ Getting Started] ( ./contributordocs/getting-started.md )
107
+ 3 . Submit your Pull Request
108
+
109
+ ### Building the Project
110
+
111
+ Prerequisites:
112
+ 1 . Install required tools (see [ Getting Started] ( ./contributordocs/getting-started.md ) )
113
+ 2 . Load ` Yubico.NET.SDK.sln ` into your IDE.
114
+ 3 . Build solution
115
+
51
116
52
- ### Building
117
+ ## Security
53
118
54
- Read the [ Getting started] ( ./contributordocs/getting-started.md ) page to understand the prerequisites needed
55
- to build. Once those have been installed, you should be able to load the Yubico.NET.SDK.sln file and build.
119
+ For security concerns, please see our [ Security Policy] ( ./SECURITY.md ) .
56
120
57
- Note that it is also possible to build the DocFX output at the same time as building the libraries. However,
58
- that is not done by default.
121
+ ---
59
122
60
- If you want to build the DocFX output when you build the libraries using Visual Studio, open the Visual
61
- Studio solution file, and open ` Build:Configuration Manager... ` . In the resulting window, under
62
- ` Active solution configuration: ` is a drop-down menu. Select ` ReleaseWithDocs ` .
123
+ 📫 Need help? [ Create an issue] ( https://github.com/Yubico/Yubico.NET.SDK/issues/new/choose )
0 commit comments