diff --git a/src/Umbraco.Configuration/Models/MemberPasswordConfigurationSettings.cs b/src/Umbraco.Configuration/Models/MemberPasswordConfigurationSettings.cs index 62066e2846..c7b147349e 100644 --- a/src/Umbraco.Configuration/Models/MemberPasswordConfigurationSettings.cs +++ b/src/Umbraco.Configuration/Models/MemberPasswordConfigurationSettings.cs @@ -29,9 +29,6 @@ namespace Umbraco.Configuration.Models public bool RequireUppercase => _configuration.GetValue(Prefix + "RequireUppercase", false); - public bool UseLegacyEncoding => - _configuration.GetValue(Prefix + "UseLegacyEncoding", false); - public string HashAlgorithmType => _configuration.GetValue(Prefix + "HashAlgorithmType", "HMACSHA256"); diff --git a/src/Umbraco.Configuration/Models/UserPasswordConfigurationSettings.cs b/src/Umbraco.Configuration/Models/UserPasswordConfigurationSettings.cs index 19f975c13e..5e68b16203 100644 --- a/src/Umbraco.Configuration/Models/UserPasswordConfigurationSettings.cs +++ b/src/Umbraco.Configuration/Models/UserPasswordConfigurationSettings.cs @@ -27,9 +27,6 @@ namespace Umbraco.Configuration.Models public bool RequireUppercase => _configuration.GetValue(Prefix + "RequireUppercase", false); - public bool UseLegacyEncoding => - _configuration.GetValue(Prefix + "UseLegacyEncoding", false); - public string HashAlgorithmType => _configuration.GetValue(Prefix + "HashAlgorithmType", "HMACSHA256"); diff --git a/src/Umbraco.Core/Configuration/IPasswordConfiguration.cs b/src/Umbraco.Core/Configuration/IPasswordConfiguration.cs index 98cd1010c0..6a5fd8e73f 100644 --- a/src/Umbraco.Core/Configuration/IPasswordConfiguration.cs +++ b/src/Umbraco.Core/Configuration/IPasswordConfiguration.cs @@ -6,13 +6,11 @@ /// public interface IPasswordConfiguration { - int RequiredLength { get; } + int RequiredLength { get; } bool RequireNonLetterOrDigit { get; } bool RequireDigit { get; } bool RequireLowercase { get; } bool RequireUppercase { get; } - - bool UseLegacyEncoding { get; } string HashAlgorithmType { get; } // TODO: This doesn't really belong here diff --git a/src/Umbraco.Core/Configuration/PasswordConfiguration.cs b/src/Umbraco.Core/Configuration/PasswordConfiguration.cs index 6827695b35..0c5ed9adb0 100644 --- a/src/Umbraco.Core/Configuration/PasswordConfiguration.cs +++ b/src/Umbraco.Core/Configuration/PasswordConfiguration.cs @@ -17,7 +17,6 @@ namespace Umbraco.Core.Configuration RequireDigit = configSettings.RequireDigit; RequireLowercase = configSettings.RequireLowercase; RequireUppercase = configSettings.RequireUppercase; - UseLegacyEncoding = configSettings.UseLegacyEncoding; HashAlgorithmType = configSettings.HashAlgorithmType; MaxFailedAccessAttemptsBeforeLockout = configSettings.MaxFailedAccessAttemptsBeforeLockout; } @@ -32,8 +31,6 @@ namespace Umbraco.Core.Configuration public bool RequireUppercase { get; } - public bool UseLegacyEncoding { get; } - public string HashAlgorithmType { get; } public int MaxFailedAccessAttemptsBeforeLockout { get; } diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs b/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs index 93f37a1e35..2eccd50295 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs @@ -66,12 +66,6 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(UserPasswordConfiguration.RequireUppercase == false); } - [Test] - public void UserPasswordConfiguration_UseLegacyEncoding() - { - Assert.IsTrue(UserPasswordConfiguration.UseLegacyEncoding == false); - } - [Test] public void UserPasswordConfiguration_HashAlgorithmType() { @@ -114,12 +108,6 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings Assert.IsTrue(MemberPasswordConfiguration.RequireUppercase == false); } - [Test] - public void MemberPasswordConfiguration_UseLegacyEncoding() - { - Assert.IsTrue(MemberPasswordConfiguration.UseLegacyEncoding == false); - } - [Test] public void MemberPasswordConfiguration_HashAlgorithmType() { diff --git a/src/Umbraco.Tests/Security/PasswordSecurityTests.cs b/src/Umbraco.Tests/Security/PasswordSecurityTests.cs index 9ed130a62b..b1646edd28 100644 --- a/src/Umbraco.Tests/Security/PasswordSecurityTests.cs +++ b/src/Umbraco.Tests/Security/PasswordSecurityTests.cs @@ -14,14 +14,6 @@ namespace Umbraco.Tests.Security [TestFixture] public class PasswordSecurityTests { - [Test] - public void Get_Hash_Algorithm_Legacy() - { - var passwordSecurity = new PasswordSecurity(Mock.Of(x => x.UseLegacyEncoding == true && x.HashAlgorithmType == "HMACSHA256")); - var alg = passwordSecurity.GetHashAlgorithm("blah"); - Assert.IsTrue(alg is HMACSHA1); - } - [Test] public void Get_Hash_Algorithm_Default() { diff --git a/src/Umbraco.Web/Security/PasswordSecurity.cs b/src/Umbraco.Web/Security/PasswordSecurity.cs index 3e5d65dfd7..e061478117 100644 --- a/src/Umbraco.Web/Security/PasswordSecurity.cs +++ b/src/Umbraco.Web/Security/PasswordSecurity.cs @@ -72,11 +72,6 @@ namespace Umbraco.Core.Security /// public string FormatPasswordForStorage(string hashedPassword, string salt) { - if (PasswordConfiguration.UseLegacyEncoding) - { - return hashedPassword; - } - return salt + hashedPassword; } @@ -88,13 +83,6 @@ namespace Umbraco.Core.Security /// public string HashPassword(string pass, string salt) { - //if we are doing it the old way - - if (PasswordConfiguration.UseLegacyEncoding) - { - return LegacyEncodePassword(pass); - } - //This is the correct way to implement this (as per the sql membership provider) var bytes = Encoding.Unicode.GetBytes(pass); @@ -183,11 +171,6 @@ namespace Umbraco.Core.Security public string ParseStoredHashPassword(string storedString, out string salt) { if (string.IsNullOrWhiteSpace(storedString)) throw new ArgumentException("Value cannot be null or whitespace.", nameof(storedString)); - if (PasswordConfiguration.UseLegacyEncoding) - { - salt = string.Empty; - return storedString; - } var saltLen = GenerateSalt(); salt = storedString.Substring(0, saltLen.Length); @@ -208,15 +191,6 @@ namespace Umbraco.Core.Security /// public HashAlgorithm GetHashAlgorithm(string password) { - if (PasswordConfiguration.UseLegacyEncoding) - { - return new HMACSHA1 - { - //the legacy salt was actually the password :( - Key = Encoding.Unicode.GetBytes(password) - }; - } - if (PasswordConfiguration.HashAlgorithmType.IsNullOrWhiteSpace()) throw new InvalidOperationException("No hash algorithm type specified"); @@ -239,9 +213,9 @@ namespace Umbraco.Core.Security return encodedPassword; } - - + + } }