using System.Text.Json; namespace IdentityShroud.Core; public interface IJwtSignatureProvider : IDisposable { /* Of the signature and MAC algorithms specified in JSON Web Algorithms [JWA], only HMAC SHA-256 ("HS256") and "none" MUST be implemented by conforming JWT implementations. It is RECOMMENDED that implementations also support RSASSA-PKCS1-v1_5 with the SHA-256 hash algorithm ("RS256") and ECDSA using the P-256 curve and the SHA-256 hash algorithm ("ES256"). Support for other algorithms and key sizes is OPTIONAL. */ void WriteJwtHeaderFields(Utf8JsonWriter writer); /// /// Length of the binary signature in bytes. /// /// int GetSignatureLength(); void CalculateSignature(ReadOnlySpan jwt, Span signatureOut); }