public void SetUp()
 {
     fileFactory = new FileFactory(1);
     decipher    = new RsaFileDecipher(fileFactory);
     DeleteTestFolder();
     Directory.CreateDirectory(testFolder);
 }
Ejemplo n.º 2
0
        public void Decipher_PrivateKeyIsIncorrect()
        {
            var rsaFileDecipher = new RsaFileDecipher(new FileFactory(4));
            var manager         = new DecipherManager(environmentHelper.Object, rsaFileDecipher, messageHelper.Object, fileUnifier);
            var bytes           = new byte[] {
                4, 7, 0, 54, 0, 0, 0, 0, 0, 0, 0,                                 // rsa header
                6, 53, 47, 52, 49, 87, 159, 197, 184, 234, 6, 229, 57, 107, 51, 226, 235, 36, 89,
                167, 102, 203, 58, 114, 235, 109, 203, 136, 37, 136, 233, 169, 128, 211, 14, 226,
                139, 74, 33, 212, 6, 28, 102, 27, 32, 141, 244, 197, 74, 241, 8, 73, 220, 55, 193,
                12, 0, 0, 240, 100, 185, 0, 0
            };
            // public key: 05#2039A8720B186BDD
            // private key: 0671E7E40596528D#2039A8720B186BDD
            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 privateKey    = new PrivateKey(d, n);
            var inputFileName = Path.Combine(testFolder, "file.rsa");

            File.WriteAllBytes(inputFileName, bytes);
            var outputDirectoryPath = Path.Combine(testFolder, "output");
            var temporaryFileName   = Path.Combine(testFolder, "temporary.bin");

            environmentHelper.Setup(x => x.GetTempFileName()).Returns(temporaryFileName);

            manager.Decipher(privateKey, inputFileName, outputDirectoryPath);

            messageHelper.Verify(x => x.Show("Incorrect private key.", "Неправильный закрытый ключ."));
        }