JWT style token handlers for Branca and PASETO in .NET. EdDSA support for Microsoft.IdentityModel.
EdDsaSignatureProvider.Sign
override requiring ReadOnlySpan<byte>
calls into existing byte[]
based Sign methodEdDsa
now implements AsymmetricAlgorithm
ExtendedJsonWebKeyConverter
(contribution from @thomas-tran)JwtPayloadHandler
used by obsolete Branca and PASETO librariesEdDsaSecurityKey
[!IMPORTANT] This is the last version to include support for Branca and PASETO. These token libraries are now deprecated and only support Microsoft.IdentityModel 6.x. This is due to the low usage of this library and the PASETO project as a whole.
BrancaToken
payload to be a byte array, removing dependency on utf-8EdDsaSecurityKey
EdDsa
Base16
(hex) encodingMinor update to make my Branca online tool possible.
BrancaTokenHandler
to set the token timestamp.Fixed Branca implementation by switching to libsodium (Bouncy Castle is not ready for XChaCha-Poly1305). This makes this implementation incompatible with other implementations that use Bouncy Castle (the Java implementations).
The initial version of this .NET Branca implementation was a port of the Java Branca libraries. I have since found out that these do not conform to the Branca specification and have updated my .NET Branca library accordingly.
Downgraded Microsoft.IdentityModel dependency to support Microsoft's JWT Bearer authentication handler. The plan is to support Microsoft.IdentityModel v6.x once ASP.NET Core does.
Added Ed25519 support for JWT signing Added test vectors for PASETO v1.public
Initial release of Branca and PASETO token handlers.