From 6f8a60ec524291b5eba1058c6dcea55dfc2ef240 Mon Sep 17 00:00:00 2001 From: Marius Thesing Date: Fri, 18 Apr 2025 14:25:19 +0200 Subject: [PATCH] use extension members for CryptoAbstractions --- .../Abstractions/CryptoAbstraction.cs | 72 ------------------- .../Abstractions/MD5Extensions.cs | 19 +++++ .../RandomNumberGeneratorExtensions.cs | 22 ++++++ .../Abstractions/SHA1Extensions.cs | 18 +++++ .../Abstractions/SHA256Extensions.cs | 19 +++++ .../Abstractions/SHA384Extensions.cs | 19 +++++ .../Abstractions/SHA512Extensions.cs | 19 +++++ src/Renci.SshNet/Common/HostKeyEventArgs.cs | 6 +- src/Renci.SshNet/Messages/Message.cs | 6 +- .../Transport/KeyExchangeInitMessage.cs | 4 +- src/Renci.SshNet/PrivateKeyFile.PuTTY.cs | 5 +- src/Renci.SshNet/Security/Certificate.cs | 4 +- .../Security/KeyExchangeECCurve25519.cs | 6 +- .../Security/KeyExchangeECDH256.cs | 8 +-- .../Security/KeyExchangeECDH384.cs | 8 +-- .../Security/KeyExchangeECDH521.cs | 8 +-- .../KeyExchangeMLKem768X25519Sha256.cs | 5 +- .../KeyExchangeSNtruP761X25519Sha512.cs | 5 +- .../Classes/AbstractionsTest.cs | 7 +- .../Connection/ChannelDataMessageTest.cs | 6 +- ...tpFileReader_EndLStatThrowsSshException.cs | 4 +- ...izeIsAlmostSixTimesGreaterThanChunkSize.cs | 4 +- ...tpFileReader_FileSizeIsEqualToChunkSize.cs | 4 +- ...eIsExactlyFiveTimesGreaterThanChunkSize.cs | 4 +- ...pFileReader_FileSizeIsLessThanChunkSize.cs | 4 +- ...leMoreThanFiveTimesGreaterThanChunkSize.cs | 4 +- ...IsMoreThanMaxPendingReadsTimesChunkSize.cs | 4 +- ...est_CreateSftpFileReader_FileSizeIsZero.cs | 4 +- .../Classes/SessionTest_ConnectingBase.cs | 3 +- .../SftpSessionTest_Connected_RequestRead.cs | 6 +- ...tipleSftpMessagesInSingleSshDataMessage.cs | 6 +- ...essagesSplitOverMultipleSshDataMessages.cs | 6 +- ...eived_SingleSftpMessageInSshDataMessage.cs | 6 +- .../Classes/ShellStreamTest_ReadExpect.cs | 4 +- ...ferEmptyAndWriteLessBytesThanBufferSize.cs | 4 +- ...ferEmptyAndWriteMoreBytesThanBufferSize.cs | 4 +- ...yAndWriteNumberOfBytesEqualToBufferSize.cs | 4 +- ...fferFullAndWriteLessBytesThanBufferSize.cs | 6 +- ..._Write_WriteBufferFullAndWriteZeroBytes.cs | 4 +- ...tyAndWriteLessBytesThanBufferCanContain.cs | 6 +- ...tyAndWriteMoreBytesThanBufferCanContain.cs | 6 +- ...te_WriteBufferNotEmptyAndWriteZeroBytes.cs | 4 +- 42 files changed, 207 insertions(+), 160 deletions(-) create mode 100644 src/Renci.SshNet/Abstractions/MD5Extensions.cs create mode 100644 src/Renci.SshNet/Abstractions/RandomNumberGeneratorExtensions.cs create mode 100644 src/Renci.SshNet/Abstractions/SHA1Extensions.cs create mode 100644 src/Renci.SshNet/Abstractions/SHA256Extensions.cs create mode 100644 src/Renci.SshNet/Abstractions/SHA384Extensions.cs create mode 100644 src/Renci.SshNet/Abstractions/SHA512Extensions.cs diff --git a/src/Renci.SshNet/Abstractions/CryptoAbstraction.cs b/src/Renci.SshNet/Abstractions/CryptoAbstraction.cs index 0081e886..70cec1e7 100644 --- a/src/Renci.SshNet/Abstractions/CryptoAbstraction.cs +++ b/src/Renci.SshNet/Abstractions/CryptoAbstraction.cs @@ -10,77 +10,5 @@ namespace Renci.SshNet.Abstractions private static readonly RandomNumberGenerator Randomizer = RandomNumberGenerator.Create(); internal static readonly SecureRandom SecureRandom = new SecureRandom(new CryptoApiRandomGenerator(Randomizer)); - - /// - /// Generates a array of the specified length, and fills it with a - /// cryptographically strong random sequence of values. - /// - /// The length of the array generate. - public static byte[] GenerateRandom(int length) - { - var random = new byte[length]; - Randomizer.GetBytes(random); - return random; - } - - public static byte[] HashMD5(byte[] source) - { -#if NET - return MD5.HashData(source); -#else - using (var md5 = MD5.Create()) - { - return md5.ComputeHash(source); - } -#endif - } - - public static byte[] HashSHA1(byte[] source) - { -#if NET - return SHA1.HashData(source); -#else - using (var sha1 = SHA1.Create()) - { - return sha1.ComputeHash(source); - } -#endif - } - - public static byte[] HashSHA256(byte[] source) - { -#if NET - return SHA256.HashData(source); -#else - using (var sha256 = SHA256.Create()) - { - return sha256.ComputeHash(source); - } -#endif - } - - public static byte[] HashSHA384(byte[] source) - { -#if NET - return SHA384.HashData(source); -#else - using (var sha384 = SHA384.Create()) - { - return sha384.ComputeHash(source); - } -#endif - } - - public static byte[] HashSHA512(byte[] source) - { -#if NET - return SHA512.HashData(source); -#else - using (var sha512 = SHA512.Create()) - { - return sha512.ComputeHash(source); - } -#endif - } } } diff --git a/src/Renci.SshNet/Abstractions/MD5Extensions.cs b/src/Renci.SshNet/Abstractions/MD5Extensions.cs new file mode 100644 index 00000000..bb253215 --- /dev/null +++ b/src/Renci.SshNet/Abstractions/MD5Extensions.cs @@ -0,0 +1,19 @@ +#nullable enable +namespace System.Security.Cryptography +{ + internal static class MD5Extensions + { + extension(MD5) + { +#if !NET + public static byte[] HashData(byte[] source) + { + using (var md5 = MD5.Create()) + { + return md5.ComputeHash(source); + } + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Abstractions/RandomNumberGeneratorExtensions.cs b/src/Renci.SshNet/Abstractions/RandomNumberGeneratorExtensions.cs new file mode 100644 index 00000000..e1df6868 --- /dev/null +++ b/src/Renci.SshNet/Abstractions/RandomNumberGeneratorExtensions.cs @@ -0,0 +1,22 @@ +#nullable enable +namespace System.Security.Cryptography +{ + internal static class RandomNumberGeneratorExtensions + { +#if !NET + private static readonly RandomNumberGenerator Randomizer = RandomNumberGenerator.Create(); +#endif + + extension(RandomNumberGenerator) + { +#if !NET + public static byte[] GetBytes(int length) + { + var random = new byte[length]; + Randomizer.GetBytes(random); + return random; + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Abstractions/SHA1Extensions.cs b/src/Renci.SshNet/Abstractions/SHA1Extensions.cs new file mode 100644 index 00000000..fcf779b3 --- /dev/null +++ b/src/Renci.SshNet/Abstractions/SHA1Extensions.cs @@ -0,0 +1,18 @@ +namespace System.Security.Cryptography +{ + internal static class SHA1Extensions + { + extension(SHA1) + { +#if !NET + public static byte[] HashData(byte[] source) + { + using (var sha1 = SHA1.Create()) + { + return sha1.ComputeHash(source); + } + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Abstractions/SHA256Extensions.cs b/src/Renci.SshNet/Abstractions/SHA256Extensions.cs new file mode 100644 index 00000000..4d50a400 --- /dev/null +++ b/src/Renci.SshNet/Abstractions/SHA256Extensions.cs @@ -0,0 +1,19 @@ +#nullable enable +namespace System.Security.Cryptography +{ + internal static class SHA256Extensions + { + extension(SHA256) + { +#if !NET + public static byte[] HashData(byte[] source) + { + using (var sha256 = SHA256.Create()) + { + return sha256.ComputeHash(source); + } + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Abstractions/SHA384Extensions.cs b/src/Renci.SshNet/Abstractions/SHA384Extensions.cs new file mode 100644 index 00000000..917dc8fb --- /dev/null +++ b/src/Renci.SshNet/Abstractions/SHA384Extensions.cs @@ -0,0 +1,19 @@ +#nullable enable +namespace System.Security.Cryptography +{ + internal static class SHA384Extensions + { + extension(SHA384) + { +#if !NET + public static byte[] HashData(byte[] source) + { + using (var sha384 = SHA384.Create()) + { + return sha384.ComputeHash(source); + } + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Abstractions/SHA512Extensions.cs b/src/Renci.SshNet/Abstractions/SHA512Extensions.cs new file mode 100644 index 00000000..78f0f318 --- /dev/null +++ b/src/Renci.SshNet/Abstractions/SHA512Extensions.cs @@ -0,0 +1,19 @@ +#nullable enable +namespace System.Security.Cryptography +{ + internal static class SHA512Extensions + { + extension(SHA512) + { +#if !NET + public static byte[] HashData(byte[] source) + { + using (var sha512 = SHA512.Create()) + { + return sha512.ComputeHash(source); + } + } +#endif + } + } +} diff --git a/src/Renci.SshNet/Common/HostKeyEventArgs.cs b/src/Renci.SshNet/Common/HostKeyEventArgs.cs index 37fe829a..8ebb67ea 100644 --- a/src/Renci.SshNet/Common/HostKeyEventArgs.cs +++ b/src/Renci.SshNet/Common/HostKeyEventArgs.cs @@ -1,7 +1,7 @@ #nullable enable using System; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; using Renci.SshNet.Security; namespace Renci.SshNet.Common @@ -104,9 +104,9 @@ namespace Renci.SshNet.Common HostKeyName = host.Name; KeyLength = host.Key.KeyLength; - _lazyFingerPrint = new Lazy(() => CryptoAbstraction.HashMD5(HostKey)); + _lazyFingerPrint = new Lazy(() => MD5.HashData(HostKey)); - _lazyFingerPrintSHA256 = new Lazy(() => Convert.ToBase64String(CryptoAbstraction.HashSHA256(HostKey)).TrimEnd('=')); + _lazyFingerPrintSHA256 = new Lazy(() => Convert.ToBase64String(SHA256.HashData(HostKey)).TrimEnd('=')); _lazyFingerPrintMD5 = new Lazy(() => { diff --git a/src/Renci.SshNet/Messages/Message.cs b/src/Renci.SshNet/Messages/Message.cs index ea8f6a9b..96815378 100644 --- a/src/Renci.SshNet/Messages/Message.cs +++ b/src/Renci.SshNet/Messages/Message.cs @@ -1,6 +1,6 @@ using System.IO; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; using Renci.SshNet.Compression; @@ -83,7 +83,7 @@ namespace Renci.SshNet.Messages var paddingLength = GetPaddingLength(paddingMultiplier, excludePacketLengthFieldWhenPadding ? packetLength - 4 : packetLength); // add padding bytes - var paddingBytes = CryptoAbstraction.GenerateRandom(paddingLength); + var paddingBytes = RandomNumberGenerator.GetBytes(paddingLength); sshDataStream.Write(paddingBytes, 0, paddingLength); var packetDataLength = GetPacketDataLength(messageLength, paddingLength); @@ -127,7 +127,7 @@ namespace Renci.SshNet.Messages WriteBytes(sshDataStream); // add padding bytes - var paddingBytes = CryptoAbstraction.GenerateRandom(paddingLength); + var paddingBytes = RandomNumberGenerator.GetBytes(paddingLength); sshDataStream.Write(paddingBytes, 0, paddingLength); return sshDataStream.ToArray(); diff --git a/src/Renci.SshNet/Messages/Transport/KeyExchangeInitMessage.cs b/src/Renci.SshNet/Messages/Transport/KeyExchangeInitMessage.cs index a0e7979e..d846e86f 100644 --- a/src/Renci.SshNet/Messages/Transport/KeyExchangeInitMessage.cs +++ b/src/Renci.SshNet/Messages/Transport/KeyExchangeInitMessage.cs @@ -1,4 +1,4 @@ -using Renci.SshNet.Abstractions; +using System.Security.Cryptography; namespace Renci.SshNet.Messages.Transport { @@ -12,7 +12,7 @@ namespace Renci.SshNet.Messages.Transport /// public KeyExchangeInitMessage() { - Cookie = CryptoAbstraction.GenerateRandom(16); + Cookie = RandomNumberGenerator.GetBytes(16); } #region Message Properties diff --git a/src/Renci.SshNet/PrivateKeyFile.PuTTY.cs b/src/Renci.SshNet/PrivateKeyFile.PuTTY.cs index 34c46c90..118f9873 100644 --- a/src/Renci.SshNet/PrivateKeyFile.PuTTY.cs +++ b/src/Renci.SshNet/PrivateKeyFile.PuTTY.cs @@ -9,7 +9,6 @@ using System.Text; using Org.BouncyCastle.Crypto.Generators; using Org.BouncyCastle.Crypto.Parameters; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; using Renci.SshNet.Security; using Renci.SshNet.Security.Cryptography.Ciphers; @@ -103,7 +102,7 @@ namespace Renci.SshNet cipherKey = keyData.Take(32); cipherIV = new byte[16]; - macKey = CryptoAbstraction.HashSHA1(Encoding.UTF8.GetBytes("putty-private-key-file-mac-key" + _passPhrase)).Take(20); + macKey = SHA1.HashData(Encoding.UTF8.GetBytes("putty-private-key-file-mac-key" + _passPhrase)).Take(20); hmac = new HMACSHA1(macKey); break; @@ -124,7 +123,7 @@ namespace Renci.SshNet hmac = new HMACSHA256(Array.Empty()); break; case "2": - var macKey = CryptoAbstraction.HashSHA1(Encoding.UTF8.GetBytes("putty-private-key-file-mac-key")); + var macKey = SHA1.HashData(Encoding.UTF8.GetBytes("putty-private-key-file-mac-key")); hmac = new HMACSHA1(macKey); break; default: diff --git a/src/Renci.SshNet/Security/Certificate.cs b/src/Renci.SshNet/Security/Certificate.cs index ccc358fc..5a412a5b 100644 --- a/src/Renci.SshNet/Security/Certificate.cs +++ b/src/Renci.SshNet/Security/Certificate.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Numerics; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; namespace Renci.SshNet.Security @@ -228,7 +228,7 @@ namespace Renci.SshNet.Security { get { - return Convert.ToBase64String(CryptoAbstraction.HashSHA256(CertificateAuthorityKey)).TrimEnd('='); + return Convert.ToBase64String(SHA256.HashData(CertificateAuthorityKey)).TrimEnd('='); } } diff --git a/src/Renci.SshNet/Security/KeyExchangeECCurve25519.cs b/src/Renci.SshNet/Security/KeyExchangeECCurve25519.cs index 55827887..b7f13cfb 100644 --- a/src/Renci.SshNet/Security/KeyExchangeECCurve25519.cs +++ b/src/Renci.SshNet/Security/KeyExchangeECCurve25519.cs @@ -1,4 +1,6 @@ -using Org.BouncyCastle.Crypto.Agreement; +using System.Security.Cryptography; + +using Org.BouncyCastle.Crypto.Agreement; using Org.BouncyCastle.Crypto.Generators; using Org.BouncyCastle.Crypto.Parameters; @@ -70,7 +72,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA256(hashData); + return SHA256.HashData(hashData); } private void Session_KeyExchangeEcdhReplyMessageReceived(object sender, MessageEventArgs e) diff --git a/src/Renci.SshNet/Security/KeyExchangeECDH256.cs b/src/Renci.SshNet/Security/KeyExchangeECDH256.cs index 1272ec9f..58454669 100644 --- a/src/Renci.SshNet/Security/KeyExchangeECDH256.cs +++ b/src/Renci.SshNet/Security/KeyExchangeECDH256.cs @@ -1,7 +1,7 @@ -using Org.BouncyCastle.Asn1.Sec; -using Org.BouncyCastle.Asn1.X9; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; +using Org.BouncyCastle.Asn1.Sec; +using Org.BouncyCastle.Asn1.X9; namespace Renci.SshNet.Security { @@ -59,7 +59,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA256(hashData); + return SHA256.HashData(hashData); } } } diff --git a/src/Renci.SshNet/Security/KeyExchangeECDH384.cs b/src/Renci.SshNet/Security/KeyExchangeECDH384.cs index 0bd96470..9c587058 100644 --- a/src/Renci.SshNet/Security/KeyExchangeECDH384.cs +++ b/src/Renci.SshNet/Security/KeyExchangeECDH384.cs @@ -1,7 +1,7 @@ -using Org.BouncyCastle.Asn1.Sec; -using Org.BouncyCastle.Asn1.X9; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; +using Org.BouncyCastle.Asn1.Sec; +using Org.BouncyCastle.Asn1.X9; namespace Renci.SshNet.Security { @@ -59,7 +59,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA384(hashData); + return SHA384.HashData(hashData); } } } diff --git a/src/Renci.SshNet/Security/KeyExchangeECDH521.cs b/src/Renci.SshNet/Security/KeyExchangeECDH521.cs index a73eedd6..a97c658d 100644 --- a/src/Renci.SshNet/Security/KeyExchangeECDH521.cs +++ b/src/Renci.SshNet/Security/KeyExchangeECDH521.cs @@ -1,7 +1,7 @@ -using Org.BouncyCastle.Asn1.Sec; -using Org.BouncyCastle.Asn1.X9; +using System.Security.Cryptography; -using Renci.SshNet.Abstractions; +using Org.BouncyCastle.Asn1.Sec; +using Org.BouncyCastle.Asn1.X9; namespace Renci.SshNet.Security { @@ -59,7 +59,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA512(hashData); + return SHA512.HashData(hashData); } } } diff --git a/src/Renci.SshNet/Security/KeyExchangeMLKem768X25519Sha256.cs b/src/Renci.SshNet/Security/KeyExchangeMLKem768X25519Sha256.cs index 469a5373..d860c922 100644 --- a/src/Renci.SshNet/Security/KeyExchangeMLKem768X25519Sha256.cs +++ b/src/Renci.SshNet/Security/KeyExchangeMLKem768X25519Sha256.cs @@ -1,5 +1,6 @@ using System.Globalization; using System.Linq; +using System.Security.Cryptography; using Org.BouncyCastle.Crypto.Agreement; using Org.BouncyCastle.Crypto.Generators; @@ -86,7 +87,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA256(hashData); + return SHA256.HashData(hashData); } private void Session_KeyExchangeHybridReplyMessageReceived(object sender, MessageEventArgs e) @@ -128,7 +129,7 @@ namespace Renci.SshNet.Security var x25519PublicKey = new X25519PublicKeyParameters(serverExchangeValue, _mlkemDecapsulator.EncapsulationLength); _x25519Agreement.CalculateAgreement(x25519PublicKey, secret, _mlkemDecapsulator.SecretLength); - SharedKey = CryptoAbstraction.HashSHA256(secret); + SharedKey = SHA256.HashData(secret); } } } diff --git a/src/Renci.SshNet/Security/KeyExchangeSNtruP761X25519Sha512.cs b/src/Renci.SshNet/Security/KeyExchangeSNtruP761X25519Sha512.cs index 1b327f56..b7db0116 100644 --- a/src/Renci.SshNet/Security/KeyExchangeSNtruP761X25519Sha512.cs +++ b/src/Renci.SshNet/Security/KeyExchangeSNtruP761X25519Sha512.cs @@ -1,6 +1,7 @@ using System; using System.Globalization; using System.Linq; +using System.Security.Cryptography; using Org.BouncyCastle.Crypto.Agreement; using Org.BouncyCastle.Crypto.Generators; @@ -86,7 +87,7 @@ namespace Renci.SshNet.Security /// protected override byte[] Hash(byte[] hashData) { - return CryptoAbstraction.HashSHA512(hashData); + return SHA512.HashData(hashData); } private void Session_KeyExchangeEcdhReplyMessageReceived(object sender, MessageEventArgs e) @@ -129,7 +130,7 @@ namespace Renci.SshNet.Security Array.Resize(ref secret, sntrup761SecretLength + _x25519Agreement.AgreementSize); _x25519Agreement.CalculateAgreement(x25519PublicKey, secret, sntrup761SecretLength); - SharedKey = CryptoAbstraction.HashSHA512(secret); + SharedKey = SHA512.HashData(secret); } } } diff --git a/test/Renci.SshNet.Tests/Classes/AbstractionsTest.cs b/test/Renci.SshNet.Tests/Classes/AbstractionsTest.cs index e79eb856..97f8e688 100644 --- a/test/Renci.SshNet.Tests/Classes/AbstractionsTest.cs +++ b/test/Renci.SshNet.Tests/Classes/AbstractionsTest.cs @@ -2,6 +2,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading; +using System.Security.Cryptography; namespace Renci.SshNet.Tests.Classes { @@ -17,7 +18,7 @@ namespace Renci.SshNet.Tests.Classes [TestMethod] public void CryptoAbstraction_GenerateRandom_ShouldPerformNoOpWhenDataIsZeroLength() { - Assert.AreEqual(0, CryptoAbstraction.GenerateRandom(0).Length); + Assert.AreEqual(0, RandomNumberGenerator.GetBytes(0).Length); } [TestMethod] @@ -25,8 +26,8 @@ namespace Renci.SshNet.Tests.Classes { var dataLength = new Random().Next(1, 100); - var dataA = CryptoAbstraction.GenerateRandom(dataLength); - var dataB = CryptoAbstraction.GenerateRandom(dataLength); + var dataA = RandomNumberGenerator.GetBytes(dataLength); + var dataB = RandomNumberGenerator.GetBytes(dataLength); Assert.AreEqual(dataLength, dataA.Length); Assert.AreEqual(dataLength, dataB.Length); diff --git a/test/Renci.SshNet.Tests/Classes/Messages/Connection/ChannelDataMessageTest.cs b/test/Renci.SshNet.Tests/Classes/Messages/Connection/ChannelDataMessageTest.cs index 2f96b11d..031135b7 100644 --- a/test/Renci.SshNet.Tests/Classes/Messages/Connection/ChannelDataMessageTest.cs +++ b/test/Renci.SshNet.Tests/Classes/Messages/Connection/ChannelDataMessageTest.cs @@ -1,9 +1,9 @@ using System; using System.Linq; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; using Renci.SshNet.Messages.Connection; using Renci.SshNet.Tests.Common; @@ -101,7 +101,7 @@ namespace Renci.SshNet.Tests.Classes.Messages.Connection var random = new Random(); var localChannelNumber = (uint)random.Next(0, int.MaxValue); - var data = CryptoAbstraction.GenerateRandom(random.Next(10, 20)); + var data = RandomNumberGenerator.GetBytes(random.Next(10, 20)); var offset = random.Next(0, data.Length - 1); var size = random.Next(0, data.Length - offset); @@ -135,7 +135,7 @@ namespace Renci.SshNet.Tests.Classes.Messages.Connection var random = new Random(); var localChannelNumber = (uint)random.Next(0, int.MaxValue); - var data = CryptoAbstraction.GenerateRandom(random.Next(10, 20)); + var data = RandomNumberGenerator.GetBytes(random.Next(10, 20)); var offset = random.Next(0, data.Length - 1); var size = random.Next(0, data.Length - offset); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs index 77e226b3..be27ed6e 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_EndLStatThrowsSshException.cs @@ -1,11 +1,11 @@ using System; +using System.Security.Cryptography; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; using Renci.SshNet.Sftp; @@ -31,7 +31,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1, int.MaxValue); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs index a869f48f..148b12e9 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsAlmostSixTimesGreaterThanChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, 5000); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs index 29a0c9c7..da84d512 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsEqualToChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, int.MaxValue); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs index 47a446c1..af95d4f1 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsExactlyFiveTimesGreaterThanChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, 5000); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs index b2202b18..d7410adb 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLessThanChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, int.MaxValue); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs index c0439cba..5f14aee1 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsLittleMoreThanFiveTimesGreaterThanChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, 5000); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanMaxPendingReadsTimesChunkSize.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanMaxPendingReadsTimesChunkSize.cs index 105085a2..53a57f5f 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanMaxPendingReadsTimesChunkSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsMoreThanMaxPendingReadsTimesChunkSize.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -34,7 +34,7 @@ namespace Renci.SshNet.Tests.Classes _maxPendingReads = 100; _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1000, 5000); diff --git a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs index 06886580..39fb6a89 100644 --- a/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs +++ b/test/Renci.SshNet.Tests/Classes/ServiceFactoryTest_CreateSftpFileReader_FileSizeIsZero.cs @@ -1,10 +1,10 @@ using System; +using System.Security.Cryptography; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Sftp; using Renci.SshNet.Tests.Common; @@ -32,7 +32,7 @@ namespace Renci.SshNet.Tests.Classes _bufferSize = (uint)random.Next(1, int.MaxValue); _openAsyncResult = new SftpOpenAsyncResult(null, null); - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _statAsyncResult = new SFtpStatAsyncResult(null, null); _fileName = random.Next().ToString(); _chunkSize = (uint)random.Next(1, int.MaxValue); diff --git a/test/Renci.SshNet.Tests/Classes/SessionTest_ConnectingBase.cs b/test/Renci.SshNet.Tests/Classes/SessionTest_ConnectingBase.cs index 957bf2ec..d425afdb 100644 --- a/test/Renci.SshNet.Tests/Classes/SessionTest_ConnectingBase.cs +++ b/test/Renci.SshNet.Tests/Classes/SessionTest_ConnectingBase.cs @@ -10,7 +10,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Common; using Renci.SshNet.Compression; using Renci.SshNet.Connection; @@ -174,7 +173,7 @@ namespace Renci.SshNet.Tests.Classes var serviceAcceptMessage = ServiceAcceptMessageBuilder.Create(ServiceName.UserAuthentication) .Build(ServerOutboundPacketSequence); - var hash = CryptoAbstraction.HashSHA256(serviceAcceptMessage); + var hash = SHA256.HashData(serviceAcceptMessage); var packet = new byte[serviceAcceptMessage.Length - 4 + hash.Length]; diff --git a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_Connected_RequestRead.cs b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_Connected_RequestRead.cs index 50125eb7..5a7fd28a 100644 --- a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_Connected_RequestRead.cs +++ b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_Connected_RequestRead.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Sftp; @@ -78,10 +78,10 @@ namespace Renci.SshNet.Tests.Classes.Sftp #endregion SftpSession.Connect() - _handle = CryptoAbstraction.GenerateRandom(random.Next(1, 10)); + _handle = RandomNumberGenerator.GetBytes(random.Next(1, 10)); _offset = (uint)random.Next(1, 5); _length = (uint)random.Next(30, 50); - _data = CryptoAbstraction.GenerateRandom((int)_length); + _data = RandomNumberGenerator.GetBytes((int)_length); _sftpReadRequestBytes = new SftpReadRequestBuilder().WithProtocolVersion(_protocolVersion) .WithRequestId(2) .WithHandle(_handle) diff --git a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs index 45bf5c02..762436eb 100644 --- a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs +++ b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesInSingleSshDataMessage.cs @@ -1,4 +1,5 @@ using System; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -6,7 +7,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Sftp; @@ -81,10 +81,10 @@ namespace Renci.SshNet.Tests.Classes.Sftp #endregion SftpSession.Connect() _path = random.Next().ToString(); - _handle = CryptoAbstraction.GenerateRandom(4); + _handle = RandomNumberGenerator.GetBytes(4); _offset = (uint)random.Next(1, 5); _length = (uint)random.Next(30, 50); - _data = CryptoAbstraction.GenerateRandom(200); + _data = RandomNumberGenerator.GetBytes(200); _sftpOpenRequestBytes = new SftpOpenRequestBuilder().WithProtocolVersion(_protocolVersion) .WithRequestId(2) .WithFileName(_path) diff --git a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs index e0e809af..e2a6cf58 100644 --- a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs +++ b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_MultipleSftpMessagesSplitOverMultipleSshDataMessages.cs @@ -1,4 +1,5 @@ using System; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -6,7 +7,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Sftp; @@ -81,10 +81,10 @@ namespace Renci.SshNet.Tests.Classes.Sftp #endregion SftpSession.Connect() _path = random.Next().ToString(); - _handle = CryptoAbstraction.GenerateRandom(4); + _handle = RandomNumberGenerator.GetBytes(4); _offset = (uint)random.Next(1, 5); _length = (uint)random.Next(30, 50); - _data = CryptoAbstraction.GenerateRandom(200); + _data = RandomNumberGenerator.GetBytes(200); _sftpOpenRequestBytes = new SftpOpenRequestBuilder().WithProtocolVersion(_protocolVersion) .WithRequestId(2) .WithFileName(_path) diff --git a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs index 88aad7e6..3e8e2890 100644 --- a/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs +++ b/test/Renci.SshNet.Tests/Classes/Sftp/SftpSessionTest_DataReceived_SingleSftpMessageInSshDataMessage.cs @@ -1,4 +1,5 @@ using System; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -6,7 +7,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Sftp; @@ -76,10 +76,10 @@ namespace Renci.SshNet.Tests.Classes.Sftp #endregion SftpSession.Connect() - _handle = CryptoAbstraction.GenerateRandom(4); + _handle = RandomNumberGenerator.GetBytes(4); _offset = (uint)random.Next(1, 5); _length = (uint)random.Next(30, 50); - _data = CryptoAbstraction.GenerateRandom(200); + _data = RandomNumberGenerator.GetBytes(200); _sftpReadRequestBytes = new SftpReadRequestBuilder().WithProtocolVersion(_protocolVersion) .WithRequestId(2) .WithHandle(_handle) diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_ReadExpect.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_ReadExpect.cs index b4b07170..377214c7 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_ReadExpect.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_ReadExpect.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -10,7 +11,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -94,7 +94,7 @@ namespace Renci.SshNet.Tests.Classes public void Channel_DataReceived_MoreThanBufferSize() { // Test buffer resizing - byte[] expectedData = CryptoAbstraction.GenerateRandom(BufferSize * 3); + byte[] expectedData = RandomNumberGenerator.GetBytes(BufferSize * 3); _channelSessionStub.Receive(expectedData); byte[] actualData = new byte[expectedData.Length + 1]; diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs index 54e97d59..f46fe9f9 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteLessBytesThanBufferSize.cs @@ -1,12 +1,12 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -51,7 +51,7 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _data = CryptoAbstraction.GenerateRandom(_bufferSize - 10); + _data = RandomNumberGenerator.GetBytes(_bufferSize - 10); _offset = random.Next(1, 5); _count = _data.Length - _offset - random.Next(1, 10); } diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs index 977f4781..7bdb2f6b 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteMoreBytesThanBufferSize.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -55,7 +55,7 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _data = CryptoAbstraction.GenerateRandom((_bufferSize * 2) + 10); + _data = RandomNumberGenerator.GetBytes((_bufferSize * 2) + 10); _offset = 0; _count = _data.Length; diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs index e14dcc10..52377bd0 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferEmptyAndWriteNumberOfBytesEqualToBufferSize.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -52,7 +52,7 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _data = CryptoAbstraction.GenerateRandom(_bufferSize); + _data = RandomNumberGenerator.GetBytes(_bufferSize); _offset = 0; _count = _data.Length; } diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs index 08ec7a65..96701553 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteLessBytesThanBufferSize.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -53,8 +53,8 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _bufferData = CryptoAbstraction.GenerateRandom(_bufferSize); - _data = CryptoAbstraction.GenerateRandom(_bufferSize - 10); + _bufferData = RandomNumberGenerator.GetBytes(_bufferSize); + _data = RandomNumberGenerator.GetBytes(_bufferSize - 10); _offset = 0; _count = _data.Length; } diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs index c5928291..d43ac979 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferFullAndWriteZeroBytes.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -53,7 +53,7 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _bufferData = CryptoAbstraction.GenerateRandom(_bufferSize); + _bufferData = RandomNumberGenerator.GetBytes(_bufferSize); _data = new byte[0]; _offset = 0; _count = _data.Length; diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs index f4739bd2..2993609f 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteLessBytesThanBufferCanContain.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -53,8 +53,8 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _bufferData = CryptoAbstraction.GenerateRandom(_bufferSize - 60); - _data = CryptoAbstraction.GenerateRandom(_bufferSize + 100); + _bufferData = RandomNumberGenerator.GetBytes(_bufferSize - 60); + _data = RandomNumberGenerator.GetBytes(_bufferSize + 100); _offset = 0; _count = _bufferSize - _bufferData.Length - random.Next(1, 10); } diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs index 30de20fb..3aa6b65c 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteMoreBytesThanBufferCanContain.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; using Renci.SshNet.Tests.Common; @@ -55,8 +55,8 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _bufferData = CryptoAbstraction.GenerateRandom(_bufferSize - 60); - _data = CryptoAbstraction.GenerateRandom(_bufferSize - _bufferData.Length + random.Next(1, 10)); + _bufferData = RandomNumberGenerator.GetBytes(_bufferSize - 60); + _data = RandomNumberGenerator.GetBytes(_bufferSize - _bufferData.Length + random.Next(1, 10)); _offset = 0; _count = _data.Length; diff --git a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs index 23c82bfc..18a9156d 100644 --- a/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs +++ b/test/Renci.SshNet.Tests/Classes/ShellStreamTest_Write_WriteBufferNotEmptyAndWriteZeroBytes.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging.Abstractions; @@ -7,7 +8,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; -using Renci.SshNet.Abstractions; using Renci.SshNet.Channels; using Renci.SshNet.Common; @@ -53,7 +53,7 @@ namespace Renci.SshNet.Tests.Classes _terminalModes = new Dictionary(); _bufferSize = random.Next(100, 1000); - _bufferData = CryptoAbstraction.GenerateRandom(_bufferSize - 60); + _bufferData = RandomNumberGenerator.GetBytes(_bufferSize - 60); _data = new byte[0]; _offset = 0; _count = _data.Length;