<PackageReference Include="BouncyCastle.Cryptography" Version="2.4.0" />

SignatureAlgorithm

public class SignatureAlgorithm
namespace Org.BouncyCastle.Tls { public class SignatureAlgorithm { public const short anonymous = 0; public const short rsa = 1; public const short dsa = 2; public const short ecdsa = 3; public const short ed25519 = 7; public const short ed448 = 8; public const short rsa_pss_rsae_sha256 = 4; public const short rsa_pss_rsae_sha384 = 5; public const short rsa_pss_rsae_sha512 = 6; public const short rsa_pss_pss_sha256 = 9; public const short rsa_pss_pss_sha384 = 10; public const short rsa_pss_pss_sha512 = 11; public const short ecdsa_brainpoolP256r1tls13_sha256 = 26; public const short ecdsa_brainpoolP384r1tls13_sha384 = 27; public const short ecdsa_brainpoolP512r1tls13_sha512 = 28; public const short gostr34102012_256 = 64; public const short gostr34102012_512 = 65; public static short GetClientCertificateType(short signatureAlgorithm) { switch (signatureAlgorithm) { case 1: case 4: case 5: case 6: case 9: case 10: case 11: return 1; case 2: return 2; case 3: case 7: case 8: return 64; case 64: return 67; case 65: return 68; default: return -1; } } public static string GetName(short signatureAlgorithm) { switch (signatureAlgorithm) { case 0: return "anonymous"; case 1: return "rsa"; case 2: return "dsa"; case 3: return "ecdsa"; case 4: return "rsa_pss_rsae_sha256"; case 5: return "rsa_pss_rsae_sha384"; case 6: return "rsa_pss_rsae_sha512"; case 7: return "ed25519"; case 8: return "ed448"; case 9: return "rsa_pss_pss_sha256"; case 10: return "rsa_pss_pss_sha384"; case 11: return "rsa_pss_pss_sha512"; case 26: return "ecdsa_brainpoolP256r1tls13_sha256"; case 27: return "ecdsa_brainpoolP384r1tls13_sha384"; case 28: return "ecdsa_brainpoolP512r1tls13_sha512"; case 64: return "gostr34102012_256"; case 65: return "gostr34102012_512"; default: return "UNKNOWN"; } } public static string GetText(short signatureAlgorithm) { return GetName(signatureAlgorithm) + "(" + signatureAlgorithm.ToString() + ")"; } public static bool IsRecognized(short signatureAlgorithm) { if ((uint)signatureAlgorithm <= 11 || (uint)(signatureAlgorithm - 26) <= 2 || (uint)(signatureAlgorithm - 64) <= 1) return true; return false; } } }