Installation

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

$ dotnet add package NSec.Cryptography --version 25.4.0

Supported Platforms

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

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

Please note:

  1. On Windows, the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019, and 2022 is required. This is part of Visual Studio and 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 25.4.0 has been tested to run on the following platforms and .NET versions:

OSVersionArchitecture.NET
Windows 1123H2x649.0.3 / 8.0.14
Windows Server 2022LTSCx649.0.3 / 8.0.14
macOS13.7x649.0.3 / 8.0.14
14.7arm649.0.3 / 8.0.14
15.2arm649.0.3 / 8.0.14
Alpine Linux3.20x649.0.3
3.21x649.0.3
Debian12x649.0.3 / 8.0.14
Fedora40x649.0.3 / 8.0.14
41x649.0.3 / 8.0.14
Ubuntu22.04x649.0.3 / 8.0.14
24.04x649.0.3 / 8.0.14

The other supported platforms should work as well, but have not been tested.

Frequently Asked Questions

Below are some frequently asked questions:

Q: What causes 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.