public CryptoTransformHelperTest() { var provider = new SymmetricAlgorithmProvider <RC2CryptoServiceProvider>( new RC2KeyVectorProvider("P@ssw0rd", 40)); m_algorithm = provider.Create(); }
public void GetSymmetricAlgorithmProvider() { SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(context); SymmetricAlgorithmProvider sym = (SymmetricAlgorithmProvider)factory.CreateSymmetricCryptoProvider("symmetricAlgorithm1"); Assert.IsNotNull(sym); }
public static void TripleDES_Encrypt_Decrypt() { // Arrange var algorithmProvider = new SymmetricAlgorithmProvider <TripleDESCryptoServiceProvider>( new TripleDESKeyVectorProvider("sDE0#2x.4", 192)); // Act Encrypt_Decrypt(algorithmProvider); // Assert }
public static void Rijndael_Encrypt_Decrypt() { // Arrange var algorithmProvider = new SymmetricAlgorithmProvider <RijndaelManaged>( new RijndaelKeyVectorProvider("sDE0#2x.4", 256)); // Act Encrypt_Decrypt(algorithmProvider); // Assert }
public static void RC2_Encrypt_Decrypt() { // Arrange var algorithmProvider = new SymmetricAlgorithmProvider <RC2CryptoServiceProvider>( new RC2KeyVectorProvider("sDE0#2x.4", 128)); // Act Encrypt_Decrypt(algorithmProvider); // Assert }
public void TripleDESEncryptAndDecrypt() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(TripleDESCryptoServiceProvider.Create(), key); byte[] plaintext = new byte[] { 5, 4, 3, 2 }; byte[] ciphertext = provider.Encrypt(plaintext); byte[] plaintext2 = provider.Decrypt(ciphertext); Assert.IsFalse(CommonUtil.CompareBytes(plaintext, ciphertext)); Assert.IsTrue(CommonUtil.CompareBytes(plaintext, plaintext2)); }
/// <summary> /// This method supports the Enterprise Library infrastructure and is not intended to be used directly from your code. /// Builds a <see cref="SymmetricAlgorithmProvider"/> based on an instance of <see cref="SymmetricAlgorithmProviderData"/>. /// </summary> /// <seealso cref="SymmetricCryptoProviderCustomFactory"/> /// <param name="context">The <see cref="IBuilderContext"/> that represents the current building process.</param> /// <param name="objectConfiguration">The configuration object that describes the object to build. Must be an instance of <see cref="SymmetricAlgorithmProviderData"/>.</param> /// <param name="configurationSource">The source for configuration objects.</param> /// <param name="reflectionCache">The cache to use retrieving reflection information.</param> /// <returns>A fully initialized instance of <see cref="SymmetricAlgorithmProvider"/>.</returns> public ISymmetricCryptoProvider Assemble(IBuilderContext context, SymmetricProviderData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { SymmetricAlgorithmProviderData castedObjectConfiguration = (SymmetricAlgorithmProviderData)objectConfiguration; ISymmetricCryptoProvider createdObject = new SymmetricAlgorithmProvider( castedObjectConfiguration.AlgorithmType, castedObjectConfiguration.ProtectedKeyFilename, castedObjectConfiguration.ProtectedKeyProtectionScope); return(createdObject); }
public void SetUp() { nameFormatter = new AppDomainNameFormatter(applicationInstanceName); instrumentationProvider = new SymmetricAlgorithmInstrumentationProvider(instanceName, true, true, nameFormatter); formattedInstanceName = nameFormatter.CreateName(instanceName); totalSymmetricDecryptionPerformedCounter = new EnterpriseLibraryPerformanceCounter(SymmetricAlgorithmInstrumentationProvider.counterCategoryName, SymmetricAlgorithmInstrumentationProvider.TotalSymmetricDecryptionPerformedCounterName, formattedInstanceName); totalSymmetricEncryptionPerformedCounter = new EnterpriseLibraryPerformanceCounter(SymmetricAlgorithmInstrumentationProvider.counterCategoryName, SymmetricAlgorithmInstrumentationProvider.TotalSymmetricEncryptionPerformedCounterName, formattedInstanceName); stream = CreateSymmetricKey(); provider = new SymmetricAlgorithmProvider(typeof(RijndaelManaged), stream, DataProtectionScope.CurrentUser, instrumentationProvider); totalSymmetricDecryptionPerformedCounter.Clear(); totalSymmetricEncryptionPerformedCounter.Clear(); }
public void AESEncryptAndDecryptWithBadKey() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); byte[] plaintext = new byte[] { 5, 4, 6, 2 }; byte[] ciphertext = provider.Encrypt(plaintext); SymmetricAlgorithmProvider badProvider = new SymmetricAlgorithmProvider(new byte[] { 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }); try { byte[] plaintext2 = badProvider.Decrypt(ciphertext); Assert.IsFalse(CommonUtil.CompareBytes(plaintext, plaintext2)); } catch (CryptographicException) { } }
void CreateSymmetricAlgorithmProvider() { if (_SymmetricAlgorithmProvider != null) { return; } TechnicalException te; if (string.IsNullOrEmpty(keyFileName)) { keyFileName = System.Configuration.ConfigurationManager.AppSettings["CrypKeyFile"]; } if (string.IsNullOrEmpty(keyFileName)) { te = new TechnicalException("La clave de encriptacion no puede ser nula"); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4401"; throw te; } if (!File.Exists(keyFileName)) { te = new TechnicalException(string.Concat("La clave de encriptacion ", keyFileName, " no existe")); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4401"; throw te; } try { if (_SymmetricAlgorithmProvider == null) { _SymmetricAlgorithmProvider = new SymmetricAlgorithmProvider(typeof(T), keyFileName, DataProtectionScope.LocalMachine); } } catch (Exception e) { te = new TechnicalException("Error al intentar crear SymmetricAlgorithmProvider ", e); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4400"; throw te; } }
public static string Encriptar(string texto, out Object keysimetric) { string result = ""; try { ProtectedKey key = KeyManager.GenerateSymmetricKey("System.Security.Cryptography.TripleDESCryptoServiceProvider", DataProtectionScope.LocalMachine); SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(typeof(TripleDESCryptoServiceProvider), key); result = Convert.ToBase64String(provider.Encrypt(UnicodeEncoding.Unicode.GetBytes(texto.ToCharArray(), 0, texto.Length))); keysimetric = key; //string decryptedData = UnicodeEncoding.Unicode.GetString(provider.Decrypt(Convert.FromBase64String(result))); //var crypto = EnterpriseLibraryContainer.Current.GetInstance<CryptographyManager>(); //result = crypto.EncryptSymmetric(GetSymmProvider(), texto); } catch (Exception ex) { throw ex; } return(result); }
public static string Desencriptar(string textoEncriptado) { string result = ""; try { string ruta = AppDomain.CurrentDomain.BaseDirectory + "\\" + ConfigurationManager.AppSettings["EntLibSymmProvider"]; ProtectedKey key = (ProtectedKey) new ManejadorArchivos().LeerKey(ruta); SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(typeof(TripleDESCryptoServiceProvider), key); result = UnicodeEncoding.Unicode.GetString(provider.Decrypt(Convert.FromBase64String(textoEncriptado))); //ModifProtectedKeyFilename(); //var crypto = EnterpriseLibraryContainer.Current.GetInstance<CryptographyManager>(); //string clavesimetrica = GetSymmProvider(); //result = crypto.DecryptSymmetric(clavesimetrica, textoEncriptado); } catch (Exception ex) { throw ex; } return(result); }
public void DecryptZeroBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Decrypt(new byte[0]); }
public void DecryptNullBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Decrypt(null); }
public void SetUp() { stream = CreateSymmetricKey(); provider = new SymmetricAlgorithmProvider(typeof(RijndaelManaged), stream, DataProtectionScope.CurrentUser); }