Tirael / JWS

C# Implementation of RFC7515 (JSON Web Signature)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C# JWSs - JSON Web Signature (RFC7515)

This repository provides an implementation in C# of RFC7515 (JSON Web Signature).

Notice: The current implementation has been used in a production environment.
However, no support will be offered for this project. Here be dragons. Please fill any bugs you may find.

Getting Started

JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.

All details of the implementation are based on the following literature:

Supported algorithms for creating a digital signature / MAC:

Algorithm Support
RSA RS256, RS384, RS512
Eliptic Curves ES256, ES384, ES512
HMAC HS256, HS384, HS512
None none
Meaning
Fully implemented and tested
Currently being implemented / Untested
Not implemented yet

Build

The following configuration has been succesfully tested for building and running the project:

  • Visual Studio for Mac - Version 17.4.2 (build 17)
  • .Net Core - Version 6.0.402

Build status

Limitations

Project TODOs

  • [] Complete support for all JWK key types
  • [] Support for JWS Unprotected Header values
  • [] Support for jku, x5u, x5c, x5t, x5t#S256, crit parameters in a protected JoseHeader
  • [] Do not serialize empty "jwk" object in JWS for "oct" keys

Documentation

  • [] Security Conciderations

INSTALL

NuGet

https://www.nuget.org/packages/CreativeCode.JWS/

dotnet add package CreativeCode.JWS

Building from source

  1. git clone https://github.com/alexzautke/JWS.git
  2. dotnet pack -c Release
  3. Install NuGet package from local source

Usage

See JWS Example

Test

Simply run dotnet test in the root folder of the project. All tests should be passing.

Security Conciderations

License

This project is licensed under the MIT License - see the LICENSE file for details

About

C# Implementation of RFC7515 (JSON Web Signature)

License:MIT License


Languages

Language:C# 100.0%