public void DecryptedTextIsEqualToOriginalPlainText(BlockCipherEngines engine, BlockCipherModes mode)
 {
     var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode);
     var cipherText = cryptoProvider.Encrypt(_plainText, _encryptionKey);
     var decryptedCipherText = cryptoProvider.Decrypt(cipherText, _encryptionKey);
     Assert.That(decryptedCipherText, Is.EqualTo(_plainText));
 }
 public void EncryptionModeSerialized(BlockCipherEngines engine, BlockCipherModes mode)
 {
     var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode);
     var element = _rootNodeSerializer.SerializeRootNodeInfo(_rootNodeInfo, cryptoProvider);
     var attributeValue = element.Attribute(XName.Get("BlockCipherMode"))?.Value;
     Assert.That(attributeValue, Is.EqualTo(mode.ToString()));
 }
Exemplo n.º 3
0
 public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine,
                                BlockCipherModes blockCipherMode,
                                RootNodeInfo rootNodeInfo)
 {
     _cryptographyProvider = new CryptoProviderFactory(blockCipherEngine, blockCipherMode).Build();
     _rootNodeInfo         = rootNodeInfo;
 }
        public void EncryptionModeSerialized(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider = new CryptoProviderFactory(engine, mode).Build();
            var element        = _rootNodeSerializer.SerializeRootNodeInfo(_rootNodeInfo, cryptoProvider);
            var attributeValue = element.Attribute(XName.Get("BlockCipherMode"))?.Value;

            Assert.That(attributeValue, Is.EqualTo(mode.ToString()));
        }
 private IAeadBlockCipher ChooseBlockCipherMode(BlockCipherModes mode, IBlockCipher blockCipher)
 {
     switch (mode)
     {
         case BlockCipherModes.GCM:
             return new GcmBlockCipher(blockCipher);
         case BlockCipherModes.CCM:
             return new CcmBlockCipher(blockCipher);
         case BlockCipherModes.EAX:
             return new EaxBlockCipher(blockCipher);
         default:
             throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
     }
 }
        private IAeadBlockCipher ChooseBlockCipherMode(BlockCipherModes mode, IBlockCipher blockCipher)
        {
            switch (mode)
            {
            case BlockCipherModes.GCM:
                return(new GcmBlockCipher(blockCipher));

            case BlockCipherModes.CCM:
                return(new CcmBlockCipher(blockCipher));

            case BlockCipherModes.EAX:
                return(new EaxBlockCipher(blockCipher));

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }
        }
        public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode);

            Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
        }
        public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cipherEngine = ChooseBlockCipherEngine(engine);
            var cipher       = ChooseBlockCipherMode(mode, cipherEngine);

            return(new AeadCryptographyProvider(cipher));
        }
        public CryptoProviderFactory(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cipherEngine = ChooseBlockCipherEngine(engine);

            _aeadBlockCipher = ChooseBlockCipherMode(mode, cipherEngine);
        }
Exemplo n.º 10
0
 public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo)
 {
     _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode);
     _rootNodeInfo = rootNodeInfo;
 }
        public void DecryptedTextIsEqualToOriginalPlainText(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider      = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode);
            var cipherText          = cryptoProvider.Encrypt(_plainText, _encryptionKey);
            var decryptedCipherText = cryptoProvider.Decrypt(cipherText, _encryptionKey);

            Assert.That(decryptedCipherText, Is.EqualTo(_plainText));
        }
Exemplo n.º 12
0
 private string GenerateXml(BlockCipherEngines engine = BlockCipherEngines.AES, BlockCipherModes mode = BlockCipherModes.GCM, int interations = 1000)
 {
     return($"<Credentials EncryptionEngine=\"{engine}\" BlockCipherMode=\"{mode}\" KdfIterations=\"{interations}\" SchemaVersion=\"1.0\">" +
            $"<Credential Id=\"{_id}\" Title=\"{Title}\" Username=\"{Username}\" Domain=\"{Domain}\" Password=\"{PlaintextPassword}\" />" +
            $"<Credential Id=\"{Guid.NewGuid()}\" Title=\"{Title}\" Username=\"{Username}\" Domain=\"{Domain}\" Password=\"{PlaintextPassword}\" />" +
            "</Credentials>");
 }
 public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode)
 {
     var cipherEngine = ChooseBlockCipherEngine(engine);
     var cipher = ChooseBlockCipherMode(mode, cipherEngine);
     return new AeadCryptographyProvider(cipher);
 }
 public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode)
 {
     var cryptoProvider = _cryptographyProviderFactory.CreateAeadCryptographyProvider(engine, mode);
     Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
 }
 public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode)
 {
     var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(engine, mode);
     Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
 }
Exemplo n.º 16
0
 public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo)
 {
     _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode);
     ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations;
     _rootNodeInfo = rootNodeInfo;
 }
Exemplo n.º 17
0
        public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider = new CryptoProviderFactory(engine, mode).Build();

            Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
        }
Exemplo n.º 18
0
 public ConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode)
 {
     _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode);
     ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations;
 }
        public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider = _cryptographyProviderFactory.CreateAeadCryptographyProvider(engine, mode);

            Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
        }
Exemplo n.º 20
0
        public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode)
        {
            var cryptoProvider = new CryptoProviderFactory(engine, mode).Build();

            Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode));
        }