Skip to content

Latest commit

 

History

History
77 lines (60 loc) · 3.7 KB

install.md

File metadata and controls

77 lines (60 loc) · 3.7 KB

Installation

NSec is available as a NuGet package from nuget.org. It can be added to a project in a number of ways, depending on the project type and tools used:

dotnet CLI

$ dotnet add package NSec.Cryptography --version 22.4.0

Visual Studio

PM> Install-Package NSec.Cryptography -Version 22.4.0

.csproj

<PackageReference Include="NSec.Cryptography" Version="22.4.0"/>

Supported Platforms

NSec is intended to run on supported versions of .NET on the following platforms:

  • Windows
    • win-x64
    • win-x86
  • Linux
    • linux-x64 (Most desktop distributions like CentOS, Debian, Fedora, Ubuntu, and derivatives)
    • linux-musl-x64 (Lightweight distributions using musl like Alpine Linux)
    • linux-arm (Linux distributions running on ARM like Raspbian on Raspberry Pi Model 2+)
    • linux-arm64 (Linux distributions running on 64-bit ARM like Ubuntu Server 64-bit on Raspberry Pi Model 3+)
  • macOS
    • osx-x64
    • osx-arm64

Specifically, NSec 22.4.0 has been tested to run on the following platforms and .NET versions:

OS Version Architectures .NET .NET Core
Windows 10 Client 20H2 x64 / x86 6.0 / 5.0 3.1
Windows Server 2022 x64 6.0 / 5.0 3.1
macOS 10.15.5 x64 6.0 / 5.0 3.1
11.6.2 x64 6.0 / 5.0 3.1
12.2.1 x64 6.0 / 5.0 3.1
Alpine 3.14 x64 6.0 3.1
3.15 x64 6.0
CentOS 7.9.2009 x64 6.0 / 5.0 3.1
Debian 9.13 x64 6.0 / 5.0 3.1
10.11 x64 6.0 / 5.0 3.1
11.1 x64 6.0 / 5.0 3.1
Fedora 33 x64 6.0 / 5.0 3.1
34 x64 6.0 / 5.0 3.1
35 x64 6.0 / 5.0 3.1
OpenSUSE 15.2 x64 6.0 / 5.0 3.1
Ubuntu 16.04 x64 6.0 / 5.0 3.1
18.04 x64 6.0 / 5.0 3.1
20.04 x64 6.0 / 5.0 3.1

Other, similar platforms supported by .NET should work as well but have not been tested.

Using NSec on Windows requires the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019, and 2022. This dependency is included in the .NET SDK but might not be present, for example, when deploying a self-contained application.

The implementation of AES-GCM in NSec is hardware-accelerated and requires an x64 processor with the AES-NI extension. The availability of this extension can be determined at runtime using the static IsSupported property of the NSec.Cryptography.Aes256Gcm class.