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,29 +21,50 @@ 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.
25
+
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 )
27
34
28
35
## Quick Start
29
- ``` csharp
30
- // Installation
36
+
37
+ ### Installation
38
+ ``` bash
31
39
dotnet add package Yubico.YubiKey
32
40
```
33
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
+ ```
53
+
34
54
## Documentation
35
55
36
- The public documentation for this project is located
37
- at [ https://docs.yubico.com/yesdk/ ] ( https://docs.yubico.com/yesdk/ ) .
38
- 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
39
59
40
60
## SDK Support
41
- The SDK is targeting net47, netstandard2.0 and netstandard2.1.
42
- This means the SDK can be loaded in NET Framework, NET6 and upwards.
43
61
44
- ## SDK Packages
62
+ Supported Target Frameworks:
63
+ - .NET Framework 4.7
64
+ - .NET Standard 2.1
65
+ - .NET 6 and above
45
66
46
- The SDK consists of the following assemblies:
67
+ ## SDK Packages
47
68
48
69
### Public Assemblies
49
70
@@ -55,44 +76,48 @@ Platform abstraction layer (PAL) providing:
55
76
- OS-specific functionality abstraction
56
77
- Device enumeration
57
78
- Utility classes for various encoding/decoding operations:
58
- - Base32
59
- - Tag-Length-Value (BER TLV)
60
- - ModHex
79
+ - Base16
80
+ - Base32
81
+ - Tag-Length-Value (BER Encoded TLV)
82
+ - ModHex
61
83
62
84
### Internal Assemblies
63
85
64
86
#### Yubico.DotNetPolyfills
65
87
> β οΈ ** Not for public use**
66
- > Backports BCL features needed by the SDK. Target newer .NET versions directly if you need modern features.
88
+ > Backports BCL features needed by the SDK.
67
89
68
90
#### Yubico.NativeShims
69
91
> β οΈ ** Not for public use**
70
- > π§ ** Unmanaged Library**
92
+ > π§ ** Unmanaged Library**
71
93
> Provides stable ABI for P/Invoke operations in Yubico.Core.
72
94
73
- ## Project structure
74
-
75
- The root of this repository contains the various projects that make up the SDK. Inside each project
76
- folder, you will find:
95
+ ## Project Structure
77
96
78
- - docs - Supplementary documentation content for the SDK's API documentation.
79
- - examples - Example code demonstrating various capabilities of the SDK.
80
- - src - All source code that makes up the project.
81
- - tests - Unit and integration tests for the project.
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
82
102
83
103
## Contributing
84
104
85
- Please read the [ Contributor's Guide] ( ./CONTRIBUTING.md ) and [ Getting started] ( ./contributordocs/getting-started.md )
86
- 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
+
87
116
88
- ### Building
117
+ ## Security
89
118
90
- Read the [ Getting started] ( ./contributordocs/getting-started.md ) page to understand the prerequisites needed
91
- 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 ) .
92
120
93
- Note that it is also possible to build the DocFX output at the same time as building the libraries. However,
94
- that is not done by default.
121
+ ---
95
122
96
- If you want to build the DocFX output when you build the libraries using Visual Studio, open the Visual
97
- Studio solution file, and open ` Build:Configuration Manager... ` . In the resulting window, under
98
- ` 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