public void EncryptDecrypt_FromFile() { RsaHelpers.GenerateRsaKeys(pubPrivFilePath: _pubPrivFilePath, pubOnlyFilePath: _pubOnlyFilePath); string _cipherText = RsaHelpers.Encrypt(filePath: _pubOnlyFilePath, value: _plainText); Assert.AreEqual(_plainText, RsaHelpers.Decrypt(filePath: _pubPrivFilePath, value: _cipherText)); }
static void RsaEncrypt(string data, string keyContainerName, string keyFilePath, CspProviderFlags flags, bool showHelp) { if (showHelp) { List <Parameter> parms = new List <Parameter> { new Parameter { Key = "data", Type = typeof(string), HelpText = "Text to encrypt" }, new Parameter { Key = "[kcn]", Type = typeof(string), HelpText = "Key container name" }, new Parameter { Key = "[keyFile]", Type = typeof(string), HelpText = "Path to key file" } }; ConsoleColor defaultColor = Console.ForegroundColor; Console_WriteLine($"Parameter options for Rsa encrypt:\r\n", ConsoleColor.Green); WriteMethodParametersHelp(parms); Console.WriteLine("\r\nNote:"); Console.WriteLine("Specify either key container name or path to key file."); Console.ForegroundColor = defaultColor; } else { Console.WriteLine("Encrypting data using Rsa algorithm.\r\n"); Console.WriteLine(RsaHelpers.Encrypt(keyContainerName: keyContainerName, filePath: keyFilePath, flags: flags, value: data)); } }
public void Encrypt_NullAndEmptyInputs() { Assert.Throws <ArgumentException>(() => RsaHelpers.Encrypt()); Assert.Throws <ArgumentException>(() => RsaHelpers.Encrypt(filePath: _pubOnlyFilePath)); Assert.Throws <ArgumentException>(() => RsaHelpers.Encrypt(keyContainerName: _kcn)); Assert.Throws <ArgumentException>(() => RsaHelpers.Encrypt(value: _plainText)); Assert.Throws <ArgumentException>(() => RsaHelpers.Encrypt(filePath: _pubOnlyFilePath, value: string.Empty)); }
public void EncryptDecrypt_FromContainer() { RsaHelpers.GenerateRsaKeys(keyContainerName: _kcn); string _encryptedText = RsaHelpers.Encrypt(keyContainerName: _kcn, value: _plainText); Assert.AreEqual(_plainText, RsaHelpers.Decrypt(keyContainerName: _kcn, value: _encryptedText)); Assert.Throws <FormatException>(() => RsaHelpers.Decrypt(keyContainerName: _kcn, value: _encryptedText + "x")); }
public void EncryptDecrypt_FromFile_LongKey() { RsaHelpers.GenerateRsaKeys(pubPrivFilePath: _pubPrivFilePath, pubOnlyFilePath: _pubOnlyFilePath, keySize: 16384); _plainText = "password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__password__"; string _cipherText = RsaHelpers.Encrypt(filePath: _pubOnlyFilePath, value: _plainText); Assert.AreEqual(_plainText, RsaHelpers.Decrypt(filePath: _pubPrivFilePath, value: _cipherText)); }
public void Encrypt_FromFile_BadFile() { Assert.Throws <DirectoryNotFoundException>(() => RsaHelpers.Encrypt(filePath: _badFilePath, value: _plainText)); }
public void Encrypt_UsingCspFlagsUseExistingKey_InvalidKey() { Assert.Throws <CryptographicException>(() => RsaHelpers.Encrypt(keyContainerName: "nosuchkeycontainername", flags: CspProviderFlags.UseExistingKey, value: _plainText)); Assert.Throws <CryptographicException>(() => RsaHelpers.Decrypt(keyContainerName: "nosuchkeycontainername", flags: CspProviderFlags.UseExistingKey, value: _encryptedText)); }