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));
        }
Beispiel #2
0
 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));
 }