Installation

Use the following command to install the NSec.Cryptography NuGet package:

$ dotnet add package NSec.Cryptography --version 23.9.0-preview.3

Supported Platforms

NSec 23.9.0-preview.3 is intended to run on all supported versions of .NET on the following platforms:

-x64-x86-arm64-arm
win-
linux-
linux-musl-
osx-
ios-
android-

Please note:

  1. For Windows, the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019, and 2022 is required. This is part of the .NET SDK but might not be present on a clean Windows installation.

  2. The AES-GCM implementation in NSec is hardware-accelerated and may not be available on all architectures. Support can be determined at runtime using the static IsSupported property of the NSec.Cryptography.Aes256Gcm class.

Tested Platforms

NSec 23.9.0-preview.3 has been tested to run on the following platforms and .NET versions:

OSVersionArchitectures.NET
Windows 1122H2x647.0.11 / 6.0.22
Windows Server2022x647.0.11 / 6.0.22
macOS11.7x647.0.11 / 6.0.22
12.6x647.0.11 / 6.0.22
13.4x647.0.11 / 6.0.22
Alpine Linux3.17x647.0.10
3.18x647.0.11
CentOS Linux7x647.0.11 / 6.0.22
Debian10x647.0.11 / 6.0.22
11x647.0.11 / 6.0.22
12x647.0.11 / 6.0.22
Fedora37x647.0.11 / 6.0.22
38x647.0.11 / 6.0.22
Ubuntu16.04x647.0.11 / 6.0.22
18.04x647.0.11 / 6.0.22
20.04x647.0.11 / 6.0.22
22.04x647.0.11 / 6.0.22

The other supported platforms should work as well, but haven’t been tested.

Frequently Asked Questions

Below are some frequently asked questions:

Q: What could cause a System.DllNotFoundException: Unable to load shared library ‘libsodium’ or one of its dependencies. when using the NSec.Cryptography NuGet package?
A: This exception can occur if the operating system or architecture is not supported, or if the Visual C++ Redistributable has not been installed on a Windows system. Please refer to the Supported Platforms section above.