private void StartCipher()
        {
            var manager = new CipherManager(rsaFileCipher, fileUnifier, environmentHelper, messageHelper);

            manager.Cipher(publicKey, inputFileEntities, cipherForm.OutputFileName);
            if (rsaFileCipher.Status == ProcessStatus.Complete)
            {
                if (cipherForm.CloseWindowAfterComlete)
                {
                    cipherForm.DialogResult = DialogResult.Cancel;
                }
            }
            cipherForm.ProgressPercent = 0;
            cipherForm.CipherEnabled   = true;
            commandsContainer.RefreshDirectoryCommand.Execute();
        }
Ejemplo n.º 2
0
        public void Cipher_Decipher()
        {
            var outputFileName    = Path.Combine(testFolder, "outputFileName.rsa");
            var temporaryFileName = Path.Combine(testFolder, "temporary.bin");

            environmentHelper.Setup(x => x.GetTempFileName()).Returns(temporaryFileName);
            var fileFactory   = new FileFactory(4);
            var rsaFileCipher = new RsaFileCipher(fileFactory);
            var fileUnifier   = new FileUnifier();
            var manager       = new CipherManager(rsaFileCipher, fileUnifier, environmentHelper.Object, messageHelper.Object);
            // public key: 05#B781262C2090AD
            // private key: 6E1A49FEAC0471#B781262C2090AD
            var e              = BigNumber.FromInt(5);
            var d              = BigNumber.FromBytes(new[] { 113, 4, 172, 254, 73, 26, 110 });
            var n              = BigNumber.FromBytes(new[] { 173, 144, 32, 44, 38, 129, 183 });
            var publicKey      = new PublicKey(e, n);
            var privateKey     = new PrivateKey(d, n);
            var sourceFileName = Path.Combine(testFolder, "file.bin");

            File.WriteAllBytes(sourceFileName, new byte[] { 45, 129, 240 });
            var directoryInfoWrapper = new DirectoryInfoWrapper(testFolder);
            var fileInfoWrapper      = new FileInfoWrapper(new FileInfo(sourceFileName), directoryInfoWrapper);
            var fileEntity           = new FileEntity(fileInfoWrapper);

            manager.Cipher(publicKey, new FileSystemEntity[] { fileEntity }, outputFileName);

            var decipherManager = new DecipherManager(environmentHelper.Object, new RsaFileDecipher(fileFactory),
                                                      messageHelper.Object, fileUnifier);
            var outputPath = Path.Combine(testFolder, "outputPath");

            decipherManager.Decipher(privateKey, outputFileName, outputPath);

            Assert.IsTrue(Directory.Exists(outputPath));
            var fileName = Path.Combine(outputPath, "file.bin");

            Assert.IsTrue(File.Exists(fileName));
            TestHelper.CheckFile(fileName, new byte[] { 45, 129, 240 });
        }
Ejemplo n.º 3
0
        public void Cipher_InputFileEntitiesIsEmpty()
        {
            var publicKey = CreatePublicKey(3, 20);

            Assert.Throws(typeof(ArgumentException), () => cipherManager.Cipher(publicKey, new FileSystemEntity[0], "hello"));
        }