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 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 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 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())); }
public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); var cipher = ChooseBlockCipherMode(mode, cipherEngine); return(new AeadCryptographyProvider(cipher)); }
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())); }
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)); }
private IBlockCipher ChooseBlockCipherEngine(BlockCipherEngines engine) { switch (engine) { case BlockCipherEngines.AES: return new AesEngine(); case BlockCipherEngines.Twofish: return new TwofishEngine(); case BlockCipherEngines.Serpent: return new SerpentEngine(); default: throw new ArgumentOutOfRangeException(nameof(engine), engine, null); } }
public IBlockCipherEngine GetSymmetricCipherPrimitive(BlockCipherEngines blockCipherEngine) { switch (blockCipherEngine) { case BlockCipherEngines.Aes: return(new AesEngine()); case BlockCipherEngines.Tdes: return(new TdesEngine()); default: throw new ArgumentException(nameof(blockCipherEngine)); } }
private IBlockCipher ChooseBlockCipherEngine(BlockCipherEngines engine) { switch (engine) { case BlockCipherEngines.AES: return(new AesEngine()); case BlockCipherEngines.Twofish: return(new TwofishEngine()); case BlockCipherEngines.Serpent: return(new SerpentEngine()); default: throw new ArgumentOutOfRangeException(nameof(engine), engine, null); } }
public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); _rootNodeInfo = rootNodeInfo; }
public ICryptographyProvider CreateAeadCryptographyProvider(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); var cipher = ChooseBlockCipherMode(mode, cipherEngine); return new AeadCryptographyProvider(cipher); }
public XmlConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode, RootNodeInfo rootNodeInfo) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations; _rootNodeInfo = rootNodeInfo; }
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)); }
public void GetCipherMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptoProviderFactory(engine, mode).Build(); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }
public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = _cryptographyProviderFactory.CreateAeadCryptographyProvider(engine, mode); Assert.That(cryptoProvider.CipherMode, Is.EqualTo(mode)); }
public ConnectionsDecryptor(BlockCipherEngines blockCipherEngine, BlockCipherModes blockCipherMode) { _cryptographyProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(blockCipherEngine, blockCipherMode); ((AeadCryptographyProvider)_cryptographyProvider).KeyDerivationIterations = KeyDerivationIterations; }
public CryptoProviderFactory(BlockCipherEngines engine, BlockCipherModes mode) { var cipherEngine = ChooseBlockCipherEngine(engine); _aeadBlockCipher = ChooseBlockCipherMode(mode, cipherEngine); }
public void CanCreateAeadProvidersWithCorrectMode(BlockCipherEngines engine, BlockCipherModes mode) { var cryptoProvider = new CryptoProviderFactory(engine, mode).Build(); 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)); }