2
0

HostKeyAlgorithm.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. namespace Renci.SshNet.TestTools.OpenSSH
  2. {
  3. public sealed class HostKeyAlgorithm
  4. {
  5. public static readonly HostKeyAlgorithm EcdsaSha2Nistp256CertV01OpenSSH = new HostKeyAlgorithm("ecdsa-sha2-nistp256-cert-v01@openssh.com");
  6. public static readonly HostKeyAlgorithm EcdsaSha2Nistp384CertV01OpenSSH = new HostKeyAlgorithm("ecdsa-sha2-nistp384-cert-v01@openssh.com");
  7. public static readonly HostKeyAlgorithm EcdsaSha2Nistp521CertV01OpenSSH = new HostKeyAlgorithm("ecdsa-sha2-nistp521-cert-v01@openssh.com");
  8. public static readonly HostKeyAlgorithm SshEd25519CertV01OpenSSH = new HostKeyAlgorithm("ssh-ed25519-cert-v01@openssh.com");
  9. public static readonly HostKeyAlgorithm RsaSha2256CertV01OpenSSH = new HostKeyAlgorithm("rsa-sha2-256-cert-v01@openssh.com");
  10. public static readonly HostKeyAlgorithm RsaSha2512CertV01OpenSSH = new HostKeyAlgorithm("rsa-sha2-512-cert-v01@openssh.com");
  11. public static readonly HostKeyAlgorithm SshRsaCertV01OpenSSH = new HostKeyAlgorithm("ssh-rsa-cert-v01@openssh.com");
  12. public static readonly HostKeyAlgorithm EcdsaSha2Nistp256 = new HostKeyAlgorithm("ecdsa-sha2-nistp256");
  13. public static readonly HostKeyAlgorithm EcdsaSha2Nistp384 = new HostKeyAlgorithm("ecdsa-sha2-nistp384");
  14. public static readonly HostKeyAlgorithm EcdsaSha2Nistp521 = new HostKeyAlgorithm("ecdsa-sha2-nistp521");
  15. public static readonly HostKeyAlgorithm SshEd25519 = new HostKeyAlgorithm("ssh-ed25519");
  16. public static readonly HostKeyAlgorithm RsaSha2512 = new HostKeyAlgorithm("rsa-sha2-512");
  17. public static readonly HostKeyAlgorithm RsaSha2256 = new HostKeyAlgorithm("rsa-sha2-256");
  18. public static readonly HostKeyAlgorithm SshRsa = new HostKeyAlgorithm("ssh-rsa");
  19. public HostKeyAlgorithm(string name)
  20. {
  21. Name = name;
  22. }
  23. public string Name { get; }
  24. public override bool Equals(object? obj)
  25. {
  26. if (obj == null)
  27. {
  28. return false;
  29. }
  30. if (obj is HostKeyAlgorithm otherHka)
  31. {
  32. return otherHka.Name == Name;
  33. }
  34. return false;
  35. }
  36. public override int GetHashCode()
  37. {
  38. return Name.GetHashCode();
  39. }
  40. public override string ToString()
  41. {
  42. return Name;
  43. }
  44. }
  45. }