TestKeyExchange.cs 3.4 KB

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