23 lines
938 B
C#
23 lines
938 B
C#
|
|
using System.Diagnostics.CodeAnalysis;
|
||
|
|
|
||
|
|
namespace IdentityShroud.Core;
|
||
|
|
|
||
|
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
||
|
|
public readonly record struct JwtSigAlgName(string Name) : IEquatable<JwtSigAlgName>
|
||
|
|
{
|
||
|
|
// HMAC using SHA-???
|
||
|
|
public static JwtSigAlgName HS256 => new("HS256"); // REQUIRED
|
||
|
|
public static JwtSigAlgName HS384 => new("HS384");
|
||
|
|
public static JwtSigAlgName HS512 => new("HS512");
|
||
|
|
|
||
|
|
// RSASSA-PKCS1-v1_5 using SHA-???
|
||
|
|
public static JwtSigAlgName RS256 => new("RS256");
|
||
|
|
public static JwtSigAlgName RS384 => new("RS384");
|
||
|
|
public static JwtSigAlgName RS512 => new("RS512");
|
||
|
|
|
||
|
|
public static JwtSigAlgName ES256 => new("ES256"); // ECDSA using P-256 and SHA-256
|
||
|
|
public static JwtSigAlgName ES384 => new("ES384"); // ECDSA using P-384 and SHA-384
|
||
|
|
public static JwtSigAlgName ES512 => new("ES512"); // ECDSA using P-521 and SHA-512
|
||
|
|
|
||
|
|
public override string ToString() => Name;
|
||
|
|
}
|