ETAMP 1.1.0
See the version list below for details.
dotnet add package ETAMP --version 1.1.0
NuGet\Install-Package ETAMP -Version 1.1.0
<PackageReference Include="ETAMP" Version="1.1.0" />
paket add ETAMP --version 1.1.0
#r "nuget: ETAMP, 1.1.0"
// Install ETAMP as a Cake Addin #addin nuget:?package=ETAMP&version=1.1.0 // Install ETAMP as a Cake Tool #tool nuget:?package=ETAMP&version=1.1.0
ETAMP Protocol - Detailed Overview
Introduction to ETAMP
ETAMP (Encrypted Token and Message Protocol) is a sophisticated .NET library designed to create and validate encrypted tokens and messages. This protocol leverages the robustness of elliptic curve cryptography (ECC) standards, ensuring high security in digital communications. ETAMP is particularly valuable for its ability to generate signed tokens with user-defined payloads, making it an ideal solution for secure data transmission over networks. The tokens are verifiable for both integrity and authenticity, providing a secure means of data exchange.
Installation Process
- NuGet Package Installation: ETAMP can be seamlessly integrated into your .NET projects via the NuGet package manager. To install, simply execute the command:
This command fetches and installs the latest version of the ETAMP library into your project.Install-Package ETAMP
Creating ETAMP Tokens
- Instantiation of the ETAMP Class: Begin by creating an instance of the
Etamp
class. This class may be configured with optional parameters such as ECDsa instances, elliptic curves, signature algorithms, and hash algorithms for customized cryptographic settings.var etamp = new Etamp();
- Defining a Payload: Define a custom payload class by inheriting from
BasePayload
. Add properties to this class as per your data requirements. For example, to create an order token:public class Order : BasePayload { public string ItemName { get; set; } public decimal Price { get; set; } }
- Token Generation: Generate a signed ETAMP token by calling the
CreateETAMP
method. This method requires parameters such as update type, payload instance, signature flag, and version.
To generate an unsigned token, usestring token = etamp.CreateETAMP("order", new Order(), true, 1.0);
CreateETAMPWithoutSignature
method.
Validating ETAMP Tokens
- Token Validation Setup: Instantiate a
ValidateToken
object by passing an instance ofVerifyWrapper
, which in turn encapsulates anEcdsaWrapper
.var validator = new ValidateToken(new VerifyWrapper(new EcdsaWrapper()));
- Token Verification: Use the
VerifyETAMP
method to validate the token's authenticity.
For comprehensive validation including JWT claims and lifetime, utilize thebool valid = validator.VerifyETAMP(token);
FullVerify
methods.
Cryptographic Components
- The
EcdsaWrapper
factory class is used to create ECDsa instances for cryptographic operations. - Custom implementations of
IVerifyWrapper
handle the cryptographic verification process. - The architecture supports custom curves, keys, algorithms, and extensions for a tailored cryptographic solution.
Additional Features
- ETAMP includes lightweight validation methods focusing exclusively on cryptographic checks.
- It offers methods for verifying JWT properties like lifetime, issuer, and audience.
- The flexible architecture of ETAMP allows for the integration of custom extensions.
- The protocol supports integration with hardware security modules for enhanced security, making it suitable for high-security applications.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Newtonsoft.Json (>= 13.0.3)
- System.IdentityModel.Tokens.Jwt (>= 7.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.1.2 | 52 | 10/29/2024 |
3.0.2 | 101 | 5/31/2024 |
3.0.1 | 96 | 5/31/2024 |
3.0.0 | 99 | 5/31/2024 |
2.0.0 | 121 | 5/5/2024 |
1.4.0 | 132 | 3/23/2024 |
1.3.1 | 133 | 3/4/2024 |
1.3.0 | 116 | 3/2/2024 |
1.2.0 | 140 | 3/1/2024 |
1.1.5 | 138 | 2/8/2024 |
1.1.4 | 216 | 12/16/2023 |
1.1.3 | 166 | 12/6/2023 |
1.1.2 | 147 | 12/5/2023 |
1.1.1 | 145 | 12/3/2023 |
1.1.0 | 159 | 12/3/2023 |
1.0.2 | 161 | 11/28/2023 |
1.0.1 | 144 | 11/27/2023 |
1.0.0 | 127 | 11/26/2023 |