/// <summary> /// Imports the <see cref="ManagedAuthenticatedEncryptorDescriptor"/> from serialized XML. /// </summary> public IAuthenticatedEncryptorDescriptor ImportFromXml(XElement element) { if (element == null) { throw new ArgumentNullException(nameof(element)); } // <descriptor> // <!-- managed implementations --> // <encryption algorithm="..." keyLength="..." /> // <validation algorithm="..." /> // <masterKey>...</masterKey> // </descriptor> var options = new ManagedAuthenticatedEncryptionOptions(); var encryptionElement = element.Element("encryption"); options.EncryptionAlgorithmType = FriendlyNameToType((string)encryptionElement.Attribute("algorithm")); options.EncryptionAlgorithmKeySize = (int)encryptionElement.Attribute("keyLength"); var validationElement = element.Element("validation"); options.ValidationAlgorithmType = FriendlyNameToType((string)validationElement.Attribute("algorithm")); Secret masterKey = ((string)element.Element("masterKey")).ToSecret(); return new ManagedAuthenticatedEncryptorDescriptor(options, masterKey, _services); }
/// <summary> /// Imports the <see cref="ManagedAuthenticatedEncryptorDescriptor"/> from serialized XML. /// </summary> public IAuthenticatedEncryptorDescriptor ImportFromXml(XElement element) { if (element == null) { throw new ArgumentNullException(nameof(element)); } // <descriptor> // <!-- managed implementations --> // <encryption algorithm="..." keyLength="..." /> // <validation algorithm="..." /> // <masterKey>...</masterKey> // </descriptor> var options = new ManagedAuthenticatedEncryptionOptions(); var encryptionElement = element.Element("encryption"); options.EncryptionAlgorithmType = FriendlyNameToType((string)encryptionElement.Attribute("algorithm")); options.EncryptionAlgorithmKeySize = (int)encryptionElement.Attribute("keyLength"); var validationElement = element.Element("validation"); options.ValidationAlgorithmType = FriendlyNameToType((string)validationElement.Attribute("algorithm")); Secret masterKey = ((string)element.Element("masterKey")).ToSecret(); return(new ManagedAuthenticatedEncryptorDescriptor(options, masterKey, _services)); }
public DataProtectionConfiguration UseCustomCryptographicAlgorithms(ManagedAuthenticatedEncryptionOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } return(UseCryptographicAlgorithmsCore(options)); }
public ManagedAuthenticatedEncryptorConfiguration(ManagedAuthenticatedEncryptionOptions options, IServiceProvider services) { if (options == null) { throw new ArgumentNullException(nameof(options)); } Options = options; _services = services; }
public ManagedAuthenticatedEncryptorDescriptor(ManagedAuthenticatedEncryptionOptions options, ISecret masterKey, IServiceProvider services) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (masterKey == null) { throw new ArgumentNullException(nameof(masterKey)); } Options = options; MasterKey = masterKey; _log = services.GetLogger <ManagedAuthenticatedEncryptorDescriptor>(); }
public ManagedAuthenticatedEncryptorDescriptor(ManagedAuthenticatedEncryptionOptions options, ISecret masterKey, IServiceProvider services) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (masterKey == null) { throw new ArgumentNullException(nameof(masterKey)); } Options = options; MasterKey = masterKey; _log = services.GetLogger<ManagedAuthenticatedEncryptorDescriptor>(); }
private IEnumerable <ServiceDescriptor> ResolvePolicyCore() { // Read the encryption options type: CNG-CBC, CNG-GCM, Managed IInternalAuthenticatedEncryptionOptions options = null; string encryptionType = (string)_policyRegKey.GetValue("EncryptionType"); if (String.Equals(encryptionType, "CNG-CBC", StringComparison.OrdinalIgnoreCase)) { options = new CngCbcAuthenticatedEncryptionOptions(); } else if (String.Equals(encryptionType, "CNG-GCM", StringComparison.OrdinalIgnoreCase)) { options = new CngGcmAuthenticatedEncryptionOptions(); } else if (String.Equals(encryptionType, "Managed", StringComparison.OrdinalIgnoreCase)) { options = new ManagedAuthenticatedEncryptionOptions(); } else if (!String.IsNullOrEmpty(encryptionType)) { throw CryptoUtil.Fail("Unrecognized EncryptionType: " + encryptionType); } if (options != null) { PopulateOptions(options, _policyRegKey); yield return(DataProtectionServiceDescriptors.IAuthenticatedEncryptorConfiguration_FromOptions(options)); } // Read ancillary data int?defaultKeyLifetime = (int?)_policyRegKey.GetValue("DefaultKeyLifetime"); if (defaultKeyLifetime.HasValue) { yield return(DataProtectionServiceDescriptors.ConfigureOptions_DefaultKeyLifetime(defaultKeyLifetime.Value)); } var keyEscrowSinks = ReadKeyEscrowSinks(_policyRegKey); foreach (var keyEscrowSink in keyEscrowSinks) { yield return(DataProtectionServiceDescriptors.IKeyEscrowSink_FromTypeName(keyEscrowSink)); } }
public ManagedAuthenticatedEncryptorDescriptor(ManagedAuthenticatedEncryptionOptions options, ISecret masterKey) : this(options, masterKey, services : null) { }
private IEnumerable<ServiceDescriptor> ResolvePolicyCore() { // Read the encryption options type: CNG-CBC, CNG-GCM, Managed IInternalAuthenticatedEncryptionOptions options = null; string encryptionType = (string)_policyRegKey.GetValue("EncryptionType"); if (String.Equals(encryptionType, "CNG-CBC", StringComparison.OrdinalIgnoreCase)) { options = new CngCbcAuthenticatedEncryptionOptions(); } else if (String.Equals(encryptionType, "CNG-GCM", StringComparison.OrdinalIgnoreCase)) { options = new CngGcmAuthenticatedEncryptionOptions(); } else if (String.Equals(encryptionType, "Managed", StringComparison.OrdinalIgnoreCase)) { options = new ManagedAuthenticatedEncryptionOptions(); } else if (!String.IsNullOrEmpty(encryptionType)) { throw CryptoUtil.Fail("Unrecognized EncryptionType: " + encryptionType); } if (options != null) { PopulateOptions(options, _policyRegKey); yield return DataProtectionServiceDescriptors.IAuthenticatedEncryptorConfiguration_FromOptions(options); } // Read ancillary data int? defaultKeyLifetime = (int?)_policyRegKey.GetValue("DefaultKeyLifetime"); if (defaultKeyLifetime.HasValue) { yield return DataProtectionServiceDescriptors.ConfigureOptions_DefaultKeyLifetime(defaultKeyLifetime.Value); } var keyEscrowSinks = ReadKeyEscrowSinks(_policyRegKey); foreach (var keyEscrowSink in keyEscrowSinks) { yield return DataProtectionServiceDescriptors.IKeyEscrowSink_FromTypeName(keyEscrowSink); } }
public ManagedAuthenticatedEncryptorConfiguration(ManagedAuthenticatedEncryptionOptions options) : this(options, services : null) { }
public ManagedAuthenticatedEncryptorDescriptor(ManagedAuthenticatedEncryptionOptions options, ISecret masterKey) : this(options, masterKey, services: null) { }
public ManagedAuthenticatedEncryptorConfiguration(ManagedAuthenticatedEncryptionOptions options) : this(options, services: null) { }