internal static byte[] DecryptSymmetric(string symmetricInstance, byte[] ciphertext, ConfigurationContext context) { ArgumentValidation.CheckForNullReference(symmetricInstance, "symmetricInstance"); ArgumentValidation.CheckForEmptyString(symmetricInstance, "symmetricInstance"); SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(context); ISymmetricCryptoProvider symmetricProvider = factory.CreateSymmetricCryptoProvider(symmetricInstance); return(symmetricProvider.Decrypt(ciphertext)); }
/// <summary> /// Decrypts a cipher text using a specified symmetric cryptography provider. /// </summary> /// <param name="symmetricInstance">A symmetric instance from configuration.</param> /// <param name="ciphertext">The cipher text for which you want to decrypt.</param> /// <returns>The resulting plain text.</returns> public static byte[] DecryptSymmetric(string symmetricInstance, byte[] ciphertext) { if (string.IsNullOrEmpty(symmetricInstance)) { throw new ArgumentException(Resources.ExceptionNullOrEmptyString, "symmetricInstance"); } try { SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(ConfigurationSourceFactory.Create()); ISymmetricCryptoProvider symmetricProvider = factory.Create(symmetricInstance); return(symmetricProvider.Decrypt(ciphertext)); } catch (ConfigurationErrorsException configurationException) { TryLogSymmetricConfigurationError(configurationException, symmetricInstance); throw; } }
/// <summary> /// Decrypts a cipher text using a specified symmetric cryptography provider. /// </summary> /// <param name="symmetricInstance">A symmetric instance from configuration.</param> /// <param name="ciphertext">The cipher text for which you want to decrypt.</param> /// <returns>The resulting plain text.</returns> public static byte[] DecryptSymmetric(string symmetricInstance, byte[] ciphertext) { if (string.IsNullOrEmpty(symmetricInstance)) throw new ArgumentException(Resources.ExceptionNullOrEmptyString, "symmetricInstance"); try { SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(ConfigurationSourceFactory.Create()); ISymmetricCryptoProvider symmetricProvider = factory.Create(symmetricInstance); return symmetricProvider.Decrypt(ciphertext); } catch (ConfigurationErrorsException configurationException) { TryLogSymmetricConfigurationError(configurationException, symmetricInstance); throw; } }
internal static byte[] EncryptSymmetric(string symmetricInstance, byte[] plaintext, ConfigurationContext context) { ArgumentValidation.CheckForNullReference(symmetricInstance, "symmetricInstance"); ArgumentValidation.CheckForEmptyString(symmetricInstance, "symmetricInstance"); SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(context); ISymmetricCryptoProvider symmetricProvider = factory.CreateSymmetricCryptoProvider(symmetricInstance); return symmetricProvider.Encrypt(plaintext); }
private ISymmetricCryptoProvider CreateProvider() { SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(cachingConfigurationView.ConfigurationContext); SymmetricStorageEncryptionProviderData data = (SymmetricStorageEncryptionProviderData) cachingConfigurationView.GetStorageEncryptionProviderData(ConfigurationName); return factory.CreateSymmetricCryptoProvider(data.SymmetricInstance); }