TestKeyExchange.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Renci.SshClient.Security;
  3. using Renci.SshClient.Tests.Properties;
  4. namespace Renci.SshClient.Tests.Security
  5. {
  6. [TestClass]
  7. public class TestKeyExchange
  8. {
  9. [TestMethod]
  10. public void Test_KeyExchange_GroupExchange_Sha1_Connection()
  11. {
  12. var connectionInfo = new PasswordConnectionInfo(Resources.HOST, 22, Resources.USERNAME, Resources.PASSWORD);
  13. connectionInfo.KeyExchangeAlgorithms.Clear();
  14. connectionInfo.KeyExchangeAlgorithms.Add("diffie-hellman-group-exchange-sha1", typeof(KeyExchangeDiffieHellmanGroupExchangeSha1));
  15. using (var client = new SshClient(connectionInfo))
  16. {
  17. client.Connect();
  18. client.Disconnect();
  19. }
  20. }
  21. [TestMethod]
  22. public void Test_KeyExchange_Group14_Sha1_Connection()
  23. {
  24. var connectionInfo = new PasswordConnectionInfo(Resources.HOST, 22, Resources.USERNAME, Resources.PASSWORD);
  25. connectionInfo.KeyExchangeAlgorithms.Clear();
  26. connectionInfo.KeyExchangeAlgorithms.Add("diffie-hellman-group14-sha1", typeof(KeyExchangeDiffieHellmanGroup14Sha1));
  27. using (var client = new SshClient(connectionInfo))
  28. {
  29. client.Connect();
  30. client.Disconnect();
  31. }
  32. }
  33. [TestMethod]
  34. public void Test_KeyExchange_Group1_Sha1_Connection()
  35. {
  36. var connectionInfo = new PasswordConnectionInfo(Resources.HOST, 22, Resources.USERNAME, Resources.PASSWORD);
  37. connectionInfo.KeyExchangeAlgorithms.Clear();
  38. connectionInfo.KeyExchangeAlgorithms.Add("diffie-hellman-group1-sha1", typeof(KeyExchangeDiffieHellmanGroup1Sha1));
  39. using (var client = new SshClient(connectionInfo))
  40. {
  41. client.Connect();
  42. client.Disconnect();
  43. }
  44. }
  45. [TestMethod]
  46. public void Test_KeyExchange_GroupExchange_Sha256_Connection()
  47. {
  48. var connectionInfo = new PasswordConnectionInfo(Resources.HOST, 22, Resources.USERNAME, Resources.PASSWORD);
  49. connectionInfo.KeyExchangeAlgorithms.Clear();
  50. connectionInfo.KeyExchangeAlgorithms.Add("diffie-hellman-group-exchange-sha256", typeof(KeyExchangeDiffieHellmanGroupExchangeSha256));
  51. using (var client = new SshClient(connectionInfo))
  52. {
  53. client.Connect();
  54. client.Disconnect();
  55. }
  56. }
  57. [TestMethod]
  58. public void Test_KeyExchange_Rekeying()
  59. {
  60. var connectionInfo = new PasswordConnectionInfo(Resources.HOST, 22, Resources.USERNAME, Resources.PASSWORD);
  61. using (var client = new SshClient(connectionInfo))
  62. {
  63. client.Connect();
  64. // TODO: Add test to test re-keying
  65. Assert.Inconclusive();
  66. client.Disconnect();
  67. }
  68. }
  69. }
  70. }