Added code to support password settings. Fixed a bug where the [FromBody] attribute resulted in null object properties, as well as included more null checks.

This commit is contained in:
2021-03-09 22:14:29 -06:00
parent 70bb9dd9e2
commit 7008621799
53 changed files with 157 additions and 4377 deletions
+38 -9
View File
@@ -1,29 +1,58 @@
using System.IO;
using Microsoft.Extensions.Configuration;
//using Microsoft.Extensions.Configuration.Binder;
namespace SecureCore
{
public static class AppSettingsManager
{
public static bool TryGetConnectionStringByName(string connectionStringName, out string connectionString)
public static bool TryGetConnectionString(string connectionStringName, out string connectionString)
{
connectionString = string.Empty;
try
{
// You could either use this
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
connectionString = builder.GetConnectionString(connectionStringName);
connectionString = GetConfiguration().GetConnectionString(connectionStringName);
if (!string.IsNullOrEmpty(connectionString)) return true;
else return false;
}
catch { return false; }
}
public static bool TryGetSettingString(string sectionName, string key, out string setting)
{
setting = string.Empty;
try
{
setting = GetConfiguration().GetSection(sectionName)[key];
if(!string.IsNullOrEmpty(setting)) return true;
else return false;
}
catch { return false; }
}
public static bool TryGetSettingInt(string sectionName, string key, out int setting)
{
setting = 0;
try
{
var settingString = GetConfiguration().GetSection(sectionName)[key];
if (int.TryParse(settingString, out setting)) return true;
else return false;
}
catch { return false; }
}
private static IConfigurationRoot GetConfiguration()
{
return new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
}
}
}
+59 -9
View File
@@ -7,18 +7,28 @@ namespace SecureCore.Authentication
{
public static class PasswordManager
{
//Add some pepper to the passwords for good measure:
//https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
private static string Pepper { get; } = "rVk/OwQUw01qy76Q+5WimPk+NdqUMMghftMXyJzzckOj/+eFn056PDYzBD61E/ZNjRdgiMK6RhcHEcdfpJdbcw==";
private static int Iterations { get; } = 100000;
private static string Pepper { get; set; }
public static string PasswordPepper
{
get { return Pepper; }
set
{
//As noted here https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html a pepper should be at least
//32 bytes in size.
if (value.Length < 32) throw new Exception("A pepper must be at least 32 characters long for security reasons.");
if (string.IsNullOrEmpty(Pepper)) Pepper = value;
else throw new InvalidOperationException("Pepper can only be set at the startup of the application.");
}
}
private static KeyDerivationPrf KeyType { get; } = KeyDerivationPrf.HMACSHA512;
private static int KeySize { get; } = 512 / 8;
private static int SaltSize { get; } = 128 / 8; //128 bit salt
//As noted here: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#maximum-password-lengths
//allowing passwords that are too long can result in a denial-of-service attack. So we must enforce password length limits.
//The recommended length is between 64 and 128, so I decided to go for the upper bounds.
public static int MaxPasswordLength { get; } = 128;
public static int MinPasswordLength { get; } = 16;
public static string SectionName { get; } = "PasswordSettings";
private static int AbsoluteMinPasswordLength { get; } = 16;
private static int AbsoluteMaxPasswordLength { get; } = 128;
public static (string Hash, string Salt) HashPassword(string password)
{
@@ -31,8 +41,35 @@ namespace SecureCore.Authentication
public static (bool IsValid, string Message) IsPasswordValid(string password)
{
if (password.Length < MinPasswordLength) return (false, $"Your password is too short, it must be at least {MinPasswordLength} characters long and not exceed {MaxPasswordLength} characters.");
if (password.Length > MaxPasswordLength) return (false, $"Your password is too long, it must not exceed {MaxPasswordLength} characters and must contain at least {MinPasswordLength} characters.");
if (string.IsNullOrEmpty(password)) return (false, "No password has been supplied, and thus is not valid.");
if (AppSettingsManager.TryGetSettingInt(SectionName, "MaxLength", out int maxPasswordLength))
{
//As noted in this article https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#maximum-password-lengths
//allowing passwords that are too long can result in a denial-of-service attack. So we must enforce an upper bound
//on the length of passwords. The recommended length is between 64 and 128, so if the length is set long than
//128 characters, just default to 128 as that's a safe upper limit.
if (maxPasswordLength > AbsoluteMaxPasswordLength || maxPasswordLength < AbsoluteMinPasswordLength) maxPasswordLength = AbsoluteMaxPasswordLength;
}
else maxPasswordLength = AbsoluteMaxPasswordLength;
if (AppSettingsManager.TryGetSettingInt(SectionName, "MinLength", out int minPasswordLength))
{
//There was no mention of a min password length in the above article, so I've chosen on a whim that 16 should
//be a safe enough min on a password's length. So as usual, just ignore settings that are out of bounds and
//instead stick to safe values that are in bounds.
if (minPasswordLength < AbsoluteMinPasswordLength || minPasswordLength > AbsoluteMaxPasswordLength) minPasswordLength = AbsoluteMinPasswordLength;
}
else minPasswordLength = AbsoluteMinPasswordLength;
// Validate the settings further.
if(minPasswordLength == maxPasswordLength || minPasswordLength > maxPasswordLength)
{
minPasswordLength = AbsoluteMinPasswordLength;
maxPasswordLength = AbsoluteMaxPasswordLength;
}
if (password.Length < minPasswordLength) return (false, $"Your password is too short, it must be at least {minPasswordLength} characters long and not exceed {maxPasswordLength} characters.");
if (password.Length > maxPasswordLength) return (false, $"Your password is too long, it must not exceed {maxPasswordLength} characters and must contain at least {minPasswordLength} characters.");
return (true, string.Empty);
}
@@ -110,7 +147,20 @@ namespace SecureCore.Authentication
private static string GetHash(string password, byte[] salt)
{
return Convert.ToBase64String(KeyDerivation.Pbkdf2($"{password}{Pepper}", salt, KeyType, Iterations, KeySize));
if (AppSettingsManager.TryGetSettingInt(SectionName, "Iterations", out int iterations))
{
//The work factor must be of a certain strength and if it fails this check then we will be forced to ignore it and use the recommended work factor
//as stated here: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2
//As stated in the above link, 10,000 iterations is the lowest we should ever go. So for security's sake, that's the lower bounds that will be allowed.
if (iterations < 10000) iterations = 10000;
}
//By default, we'll go with the highest security setting if one isn't provided by an admin.
//To quote the above link:
//"The work factor for PBKDF2 is implemented through the iteration count, which should be at least 10,000
//(although values of up to 100,000 may be appropriate in higher security environments)."
else iterations = 100000;
return Convert.ToBase64String(KeyDerivation.Pbkdf2($"{password}{PasswordPepper}", salt, KeyType, iterations, KeySize));
}
}
}
+1 -1
View File
@@ -36,7 +36,7 @@ namespace SecureCore.Authentication
public static bool IsSessionTokenValid(HttpContext context)
{
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
if (!context.Request.Cookies.ContainsKey(SessionCookieName)) return false;
+15 -15
View File
@@ -4,6 +4,7 @@ using System;
using System.Web;
using SecureCore.Services;
using SecureCore.Authentication;
using SecureCore.Models;
namespace SecureCore.Controllers
{
@@ -11,12 +12,13 @@ namespace SecureCore.Controllers
[ApiController]
public class AuthController : Controller
{
public static string BaseUrl { get; set; }
//TODO: Login will only ever return messages like "Wrong username / password." whereas register can return messages like "User exists.", "Password to weak", or "Password in top 100 most used.".
[HttpPost("login")]
[AcceptVerbs("POST")]
public IActionResult Login([FromBody] UserInformation.LoginData info)
public IActionResult Login([FromBody] LoginInfo info)
{
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
try
{
@@ -59,9 +61,9 @@ namespace SecureCore.Controllers
[HttpPost("Register")]
[AcceptVerbs("POST")]
public IActionResult Register([FromBody] UserInformation.RegistrationData info)
public IActionResult Register(RegistrationInfo info)
{
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
//Verify that the username provided is valid, i.e. no whitespace, special characters, etc.
var result = UserDataService.IsUsernameValid(info.Username);
//If the name isn't valid, return the error message to the user.
@@ -75,15 +77,12 @@ namespace SecureCore.Controllers
if (!result.IsValid) return Unauthorized(result.Message);
if (UserDataService.IsEmailInUse(info.Email, connectionString)) return Unauthorized("This email is already in use.");
var (hash, salt) = PasswordManager.HashPassword(info.Password);
var sessionToken = SessionManager.CreateSessionToken();
var agent = HttpContext.Request.Headers[Microsoft.Net.Http.Headers.HeaderNames.UserAgent];
var ip = PasswordManager.HashStringData(Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(), salt);
try
{
var (hash, salt) = PasswordManager.HashPassword(info.Password);
var sessionToken = SessionManager.CreateSessionToken();
var agent = HttpContext.Request.Headers[Microsoft.Net.Http.Headers.HeaderNames.UserAgent];
var ip = PasswordManager.HashStringData(Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(), salt);
var cookieOptions = GetCookieOptions();
var i = UserDataService.RegisterNewUser(info.Username, info.Email, hash, salt, sessionToken, cookieOptions.Expires.Value.UtcDateTime, agent, ip, connectionString);
@@ -94,6 +93,7 @@ namespace SecureCore.Controllers
}
catch (Exception e)
{
//TODO: redo the message that sent back to the client. There could be more than just a SQL Server error here.
return Unauthorized(e.Message);
}
}
@@ -104,7 +104,7 @@ namespace SecureCore.Controllers
{
if (!HttpContext.Request.Cookies.ContainsKey("Session")) return Ok();
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
try
{
@@ -124,7 +124,7 @@ namespace SecureCore.Controllers
[AcceptVerbs("POST")]
public IActionResult ResetPassword([FromQuery] string token, [FromBody] string password)
{
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
try
{
@@ -150,7 +150,7 @@ namespace SecureCore.Controllers
[AcceptVerbs("POST")]
public IActionResult CreatePasswordResetLink([FromBody] string email)
{
AppSettingsManager.TryGetConnectionStringByName("MainDataConnectionString", out string connectionString);
AppSettingsManager.TryGetConnectionString("MainDataConnectionString", out string connectionString);
//Validate the email input.
var (IsValid, Message) = UserDataService.IsEmailValid(email);
@@ -168,7 +168,7 @@ namespace SecureCore.Controllers
PasswordManager.InsertPasswordResetRequest(email, token, DateTime.Now.AddHours(1), agent, ip, connectionString);
token = HttpUtility.UrlEncode(token);
//TODO: Allow the admin to configure the address that this function creates when doing password resets.
return Ok($"192.168.255.200:5000/auth/ResetPassword?token={token}{Environment.NewLine}");
}
catch(Exception e)
+9
View File
@@ -0,0 +1,9 @@
namespace SecureCore.Models
{
public class LoginInfo
{
public string Username { get; set; }
public string Password { get; set; }
}
}
+10
View File
@@ -0,0 +1,10 @@
namespace SecureCore.Models
{
public class RegistrationInfo
{
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
}
}
-18
View File
@@ -1,18 +0,0 @@
namespace SecureCore.Services
{
public class UserInformation
{
public struct LoginData
{
public string Username;
public string Password;
}
public struct RegistrationData
{
public string Username;
public string Password;
public string Email;
}
}
}
@@ -403,14 +403,20 @@ BEGIN
BEGIN TRANSACTION;
IF dbo.UserExists(@UserName) = 1
BEGIN;
THROW 51000, 'User already exists', 1;
THROW 51000, 'This username is already in use', 1;
END;
IF dbo.EmailInUse(@Email) = 1
BEGIN;
THROW 51001, 'This email is already in use', 1
END;
SELECT @EventID = [Event ID] FROM [Event] WHERE [Event Name] = 'Registration'
IF @EventID = NULL OR @EventID = 0
BEGIN;
THROW 51001, 'Registration event type not found', 1;
THROW 51002, 'Registration event type not found', 1;
END;
INSERT INTO [User] (Name, Email) VALUES (@UserName, @Email)
+2 -1
View File
@@ -7,7 +7,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="5.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="5.0.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.2" />
</ItemGroup>
+3 -3
View File
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
@@ -9,12 +7,13 @@ namespace SecureCore.Services
{
public static class UserDataService
{
//
public static int UserNameMaxLength { get; } = 64;
public static int UserNameMinLength { get; } = 3;
public static int EmailMaxLength { get; } = 512;
public static (bool IsValid, string Message) IsUsernameValid(string userName)
{
if (string.IsNullOrEmpty(userName) || userName.Length < UserNameMinLength) return (false, $"Username is too short, the user name must be at least {UserNameMinLength} characters long.");
if (userName.Length > UserNameMaxLength) return (false, $"Username too long, must not exceed {UserNameMaxLength} characters.");
var invalidChars = new List<char>();
@@ -62,6 +61,7 @@ namespace SecureCore.Services
public static (bool IsValid, string Message) IsEmailValid(string email)
{
if (string.IsNullOrEmpty(email)) return (false, "The provided email is not in the correct format.");
if (email.Length > EmailMaxLength) return (false, $"Email exceeds the maximum length of {EmailMaxLength} characters.");
//Code taken from user "Cogwheel" on StackOverflow: https://stackoverflow.com/questions/1365407/c-sharp-code-to-validate-email-address
+9 -1
View File
@@ -8,6 +8,14 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"MainDataConnectionString": "Server=DESKTOP-OEDDVKC\\SQLEXPRESS;Database=main;Integrated Security=true;"
"MainDataConnectionString": "Server=DESKTOP-HJES64T;Database=main;Integrated Security=true;"
},
"CookieOptions": {
"doamin": "copyrightcrusader.org"
},
"PasswordSettings": {
"Pepper": "rVk/OwQUw01qy76Q+5WimPk+NdqUMMghftMXyJzzckOj/+eFn056PDYzBD61E/ZNjRdgiMK6RhcHEcdfpJdbcw==",
"MaxLength": 128,
"MinLength": 17
}
}
@@ -1 +0,0 @@
255c6f799c1ef1b1b7ac4f69e9ca737a8e1db09d
@@ -1,29 +0,0 @@
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\appsettings.Development.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\appsettings.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.exe
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.deps.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.runtimeconfig.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.runtimeconfig.dev.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\SecureCore.pdb
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.csprojAssemblyReference.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.AssemblyInfoInputs.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.AssemblyInfo.cs
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.csproj.CoreCompileInputs.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.MvcApplicationPartsAssemblyInfo.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\staticwebassets\SecureCore.StaticWebAssets.Manifest.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\staticwebassets\SecureCore.StaticWebAssets.xml
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\scopedcss\bundle\SecureCore.styles.css
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.RazorTargetAssemblyInfo.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.pdb
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.genruntimeconfig.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\Microsoft.AspNetCore.Cryptography.Internal.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\Microsoft.AspNetCore.Cryptography.KeyDerivation.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Debug\netcoreapp3.1\SecureCore.csproj.CopyComplete
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\System.Data.SqlClient.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\runtimes\win-arm64\native\sni.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\runtimes\win-x64\native\sni.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\runtimes\win-x86\native\sni.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\runtimes\unix\lib\netcoreapp2.1\System.Data.SqlClient.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Debug\netcoreapp3.1\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll
@@ -1 +0,0 @@
ee70aa993eacaf9a5e33fd4b4886ab7cb301532d
Binary file not shown.
@@ -1 +0,0 @@
<StaticWebAssets Version="1.0" />
@@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
File diff suppressed because it is too large Load Diff
@@ -1,13 +0,0 @@
{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.AspNetCore.App",
"version": "3.1.0"
},
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -1,9 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
@@ -1,10 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\SecureCore.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 54262d78-f047-4693-a998-21e024113afe-->
@@ -1,9 +0,0 @@
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\SecureCore.exe
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\appsettings.Development.json
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\appsettings.json
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\SecureCore.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\SecureCore.deps.json
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\SecureCore.runtimeconfig.json
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\SecureCore.pdb
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\Microsoft.AspNetCore.Cryptography.Internal.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\PubTmp\Out\Microsoft.AspNetCore.Cryptography.KeyDerivation.dll
@@ -1,24 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("e3dff1d0-8e29-4bc2-8020-8999a38530f3")]
[assembly: System.Reflection.AssemblyCompanyAttribute("SecureCore")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("SecureCore")]
[assembly: System.Reflection.AssemblyTitleAttribute("SecureCore")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.
@@ -1 +0,0 @@
bd9b42e28f5d4a6267f3ff1048ad19486e89e204
@@ -1 +0,0 @@
3c4ca9d77de062243efb59e1e12123a87eb44e18
@@ -1 +0,0 @@
bcb5d7715e4b62750b8707cb5830a8376ef8a29b
@@ -1,23 +0,0 @@
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\appsettings.Development.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\appsettings.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.exe
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.deps.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.runtimeconfig.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.runtimeconfig.dev.json
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\SecureCore.pdb
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.csprojAssemblyReference.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.AssemblyInfoInputs.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.AssemblyInfo.cs
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.csproj.CoreCompileInputs.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.MvcApplicationPartsAssemblyInfo.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\staticwebassets\SecureCore.StaticWebAssets.Manifest.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\staticwebassets\SecureCore.StaticWebAssets.xml
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\scopedcss\bundle\SecureCore.styles.css
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.RazorTargetAssemblyInfo.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.pdb
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.genruntimeconfig.cache
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\Microsoft.AspNetCore.Cryptography.Internal.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\bin\Release\netcoreapp3.1\Microsoft.AspNetCore.Cryptography.KeyDerivation.dll
C:\Users\admin\source\repos\SecureCore\SecureCore\obj\Release\netcoreapp3.1\SecureCore.csproj.CopyComplete
Binary file not shown.
@@ -1 +0,0 @@
ee70aa993eacaf9a5e33fd4b4886ab7cb301532d
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
<StaticWebAssets Version="1.0" />
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="GetEFProjectMetadata" Condition="">
<MSBuild Condition=" '$(TargetFramework)' == '' "
Projects="$(MSBuildProjectFile)"
Targets="GetEFProjectMetadata"
Properties="TargetFramework=$(TargetFrameworks.Split(';')[0]);EFProjectMetadataFile=$(EFProjectMetadataFile)" />
<ItemGroup Condition=" '$(TargetFramework)' != '' ">
<EFProjectMetadata Include="AssemblyName: $(AssemblyName)" />
<EFProjectMetadata Include="Language: $(Language)" />
<EFProjectMetadata Include="OutputPath: $(OutputPath)" />
<EFProjectMetadata Include="Platform: $(Platform)" />
<EFProjectMetadata Include="PlatformTarget: $(PlatformTarget)" />
<EFProjectMetadata Include="ProjectAssetsFile: $(ProjectAssetsFile)" />
<EFProjectMetadata Include="ProjectDir: $(ProjectDir)" />
<EFProjectMetadata Include="RootNamespace: $(RootNamespace)" />
<EFProjectMetadata Include="RuntimeFrameworkVersion: $(RuntimeFrameworkVersion)" />
<EFProjectMetadata Include="TargetFileName: $(TargetFileName)" />
<EFProjectMetadata Include="TargetFrameworkMoniker: $(TargetFrameworkMoniker)" />
</ItemGroup>
<WriteLinesToFile Condition=" '$(TargetFramework)' != '' "
File="$(EFProjectMetadataFile)"
Lines="@(EFProjectMetadata)" />
</Target>
</Project>
@@ -1,75 +0,0 @@
{
"format": 1,
"restore": {
"C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj": {}
},
"projects": {
"C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj",
"projectName": "SecureCore",
"projectPath": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netcoreapp3.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": {
"target": "Package",
"version": "[5.0.1, )"
},
"System.Data.SqlClient": {
"target": "Package",
"version": "[4.8.2, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}
}
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.8.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="$([MSBuild]::EnsureTrailingSlash($(NuGetPackageFolders)))" />
</ItemGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>
-586
View File
@@ -1,586 +0,0 @@
{
"version": 3,
"targets": {
".NETCoreApp,Version=v3.1": {
"Microsoft.AspNetCore.Cryptography.Internal/5.0.1": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.1": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "5.0.1"
},
"compile": {
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {}
}
},
"Microsoft.NETCore.Platforms/3.1.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/_._": {}
},
"runtime": {
"lib/netstandard1.0/_._": {}
}
},
"Microsoft.Win32.Registry/4.7.0": {
"type": "package",
"dependencies": {
"System.Security.AccessControl": "4.7.0",
"System.Security.Principal.Windows": "4.7.0"
},
"compile": {
"ref/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Win32.Registry.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"type": "package",
"dependencies": {
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
}
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-arm64/native/sni.dll": {
"assetType": "native",
"rid": "win-arm64"
}
}
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-x64/native/sni.dll": {
"assetType": "native",
"rid": "win-x64"
}
}
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-x86/native/sni.dll": {
"assetType": "native",
"rid": "win-x86"
}
}
},
"System.Data.SqlClient/4.8.2": {
"type": "package",
"dependencies": {
"Microsoft.Win32.Registry": "4.7.0",
"System.Security.Principal.Windows": "4.7.0",
"runtime.native.System.Data.SqlClient.sni": "4.7.0"
},
"compile": {
"ref/netcoreapp2.1/System.Data.SqlClient.dll": {}
},
"runtime": {
"lib/netcoreapp2.1/System.Data.SqlClient.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Security.AccessControl/4.7.0": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "3.1.0",
"System.Security.Principal.Windows": "4.7.0"
},
"compile": {
"ref/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.AccessControl.dll": {}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Security.Principal.Windows/4.7.0": {
"type": "package",
"compile": {
"ref/netcoreapp3.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.Principal.Windows.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll": {
"assetType": "runtime",
"rid": "win"
}
}
}
}
},
"libraries": {
"Microsoft.AspNetCore.Cryptography.Internal/5.0.1": {
"sha512": "VGfj77RBkyWpPxvX6oSghE3DPObvg171HRdwr/t3aJQ9Y5cgaZE8BUNLhHZ0yBFa218r7e9Qou+DLGfRtve4CQ==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.internal/5.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net461/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.Internal.xml",
"microsoft.aspnetcore.cryptography.internal.5.0.1.nupkg.sha512",
"microsoft.aspnetcore.cryptography.internal.nuspec"
]
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/5.0.1": {
"sha512": "kYiQ5AZMKVIB+28+ImC6GihJTSh2Sr6iofiYtsOOnCbgCmNBljH4n+r8Qfocxv78xeeby5lwZorq05OvriDbOQ==",
"type": "package",
"path": "microsoft.aspnetcore.cryptography.keyderivation/5.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net461/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/net5.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.xml",
"microsoft.aspnetcore.cryptography.keyderivation.5.0.1.nupkg.sha512",
"microsoft.aspnetcore.cryptography.keyderivation.nuspec"
]
},
"Microsoft.NETCore.Platforms/3.1.0": {
"sha512": "z7aeg8oHln2CuNulfhiLYxCVMPEwBl3rzicjvIX+4sUuCwvXw5oXQEtbiU2c0z4qYL5L3Kmx0mMA/+t/SbY67w==",
"type": "package",
"path": "microsoft.netcore.platforms/3.1.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/netstandard1.0/_._",
"microsoft.netcore.platforms.3.1.0.nupkg.sha512",
"microsoft.netcore.platforms.nuspec",
"runtime.json",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.Win32.Registry/4.7.0": {
"sha512": "KSrRMb5vNi0CWSGG1++id2ZOs/1QhRqROt+qgbEAdQuGjGrFcl4AOl4/exGPUYz2wUnU42nvJqon1T3U0kPXLA==",
"type": "package",
"path": "microsoft.win32.registry/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/Microsoft.Win32.Registry.dll",
"lib/net461/Microsoft.Win32.Registry.dll",
"lib/net461/Microsoft.Win32.Registry.xml",
"lib/netstandard1.3/Microsoft.Win32.Registry.dll",
"lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"lib/netstandard2.0/Microsoft.Win32.Registry.xml",
"microsoft.win32.registry.4.7.0.nupkg.sha512",
"microsoft.win32.registry.nuspec",
"ref/net46/Microsoft.Win32.Registry.dll",
"ref/net461/Microsoft.Win32.Registry.dll",
"ref/net461/Microsoft.Win32.Registry.xml",
"ref/net472/Microsoft.Win32.Registry.dll",
"ref/net472/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/Microsoft.Win32.Registry.dll",
"ref/netstandard1.3/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/de/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/es/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/it/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml",
"ref/netstandard2.0/Microsoft.Win32.Registry.dll",
"ref/netstandard2.0/Microsoft.Win32.Registry.xml",
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.xml",
"runtimes/win/lib/net46/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/net461/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/net461/Microsoft.Win32.Registry.xml",
"runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.xml",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
"sha512": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
"type": "package",
"path": "runtime.native.system.data.sqlclient.sni/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
"runtime.native.system.data.sqlclient.sni.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
"type": "package",
"path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-arm64.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-arm64/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
"type": "package",
"path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-x64.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-x64/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
"type": "package",
"path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-x86.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-x86/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Data.SqlClient/4.8.2": {
"sha512": "80vGtW6uLB4AkyrdVuKTXYUyuXDPAsSKbTVfvjndZaRAYxzFzWhJbvUfeAKrN+128ycWZjLIAl61dFUwWHOOTw==",
"type": "package",
"path": "system.data.sqlclient/4.8.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net451/System.Data.SqlClient.dll",
"lib/net46/System.Data.SqlClient.dll",
"lib/net461/System.Data.SqlClient.dll",
"lib/net461/System.Data.SqlClient.xml",
"lib/netcoreapp2.1/System.Data.SqlClient.dll",
"lib/netcoreapp2.1/System.Data.SqlClient.xml",
"lib/netstandard1.2/System.Data.SqlClient.dll",
"lib/netstandard1.2/System.Data.SqlClient.xml",
"lib/netstandard1.3/System.Data.SqlClient.dll",
"lib/netstandard1.3/System.Data.SqlClient.xml",
"lib/netstandard2.0/System.Data.SqlClient.dll",
"lib/netstandard2.0/System.Data.SqlClient.xml",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net451/System.Data.SqlClient.dll",
"ref/net46/System.Data.SqlClient.dll",
"ref/net461/System.Data.SqlClient.dll",
"ref/net461/System.Data.SqlClient.xml",
"ref/netcoreapp2.1/System.Data.SqlClient.dll",
"ref/netcoreapp2.1/System.Data.SqlClient.xml",
"ref/netstandard1.2/System.Data.SqlClient.dll",
"ref/netstandard1.2/System.Data.SqlClient.xml",
"ref/netstandard1.2/de/System.Data.SqlClient.xml",
"ref/netstandard1.2/es/System.Data.SqlClient.xml",
"ref/netstandard1.2/fr/System.Data.SqlClient.xml",
"ref/netstandard1.2/it/System.Data.SqlClient.xml",
"ref/netstandard1.2/ja/System.Data.SqlClient.xml",
"ref/netstandard1.2/ko/System.Data.SqlClient.xml",
"ref/netstandard1.2/ru/System.Data.SqlClient.xml",
"ref/netstandard1.2/zh-hans/System.Data.SqlClient.xml",
"ref/netstandard1.2/zh-hant/System.Data.SqlClient.xml",
"ref/netstandard1.3/System.Data.SqlClient.dll",
"ref/netstandard1.3/System.Data.SqlClient.xml",
"ref/netstandard1.3/de/System.Data.SqlClient.xml",
"ref/netstandard1.3/es/System.Data.SqlClient.xml",
"ref/netstandard1.3/fr/System.Data.SqlClient.xml",
"ref/netstandard1.3/it/System.Data.SqlClient.xml",
"ref/netstandard1.3/ja/System.Data.SqlClient.xml",
"ref/netstandard1.3/ko/System.Data.SqlClient.xml",
"ref/netstandard1.3/ru/System.Data.SqlClient.xml",
"ref/netstandard1.3/zh-hans/System.Data.SqlClient.xml",
"ref/netstandard1.3/zh-hant/System.Data.SqlClient.xml",
"ref/netstandard2.0/System.Data.SqlClient.dll",
"ref/netstandard2.0/System.Data.SqlClient.xml",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll",
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.xml",
"runtimes/unix/lib/netstandard1.3/System.Data.SqlClient.dll",
"runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll",
"runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.xml",
"runtimes/win/lib/net451/System.Data.SqlClient.dll",
"runtimes/win/lib/net46/System.Data.SqlClient.dll",
"runtimes/win/lib/net461/System.Data.SqlClient.dll",
"runtimes/win/lib/net461/System.Data.SqlClient.xml",
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll",
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.xml",
"runtimes/win/lib/netstandard1.3/System.Data.SqlClient.dll",
"runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll",
"runtimes/win/lib/netstandard2.0/System.Data.SqlClient.xml",
"runtimes/win/lib/uap10.0.16299/System.Data.SqlClient.dll",
"runtimes/win/lib/uap10.0.16299/System.Data.SqlClient.xml",
"system.data.sqlclient.4.8.2.nupkg.sha512",
"system.data.sqlclient.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.AccessControl/4.7.0": {
"sha512": "JECvTt5aFF3WT3gHpfofL2MNNP6v84sxtXxpqhLBCcDRzqsPBmHhQ6shv4DwwN2tRlzsUxtb3G9M3763rbXKDg==",
"type": "package",
"path": "system.security.accesscontrol/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/System.Security.AccessControl.dll",
"lib/net461/System.Security.AccessControl.dll",
"lib/net461/System.Security.AccessControl.xml",
"lib/netstandard1.3/System.Security.AccessControl.dll",
"lib/netstandard2.0/System.Security.AccessControl.dll",
"lib/netstandard2.0/System.Security.AccessControl.xml",
"lib/uap10.0.16299/_._",
"ref/net46/System.Security.AccessControl.dll",
"ref/net461/System.Security.AccessControl.dll",
"ref/net461/System.Security.AccessControl.xml",
"ref/netstandard1.3/System.Security.AccessControl.dll",
"ref/netstandard1.3/System.Security.AccessControl.xml",
"ref/netstandard1.3/de/System.Security.AccessControl.xml",
"ref/netstandard1.3/es/System.Security.AccessControl.xml",
"ref/netstandard1.3/fr/System.Security.AccessControl.xml",
"ref/netstandard1.3/it/System.Security.AccessControl.xml",
"ref/netstandard1.3/ja/System.Security.AccessControl.xml",
"ref/netstandard1.3/ko/System.Security.AccessControl.xml",
"ref/netstandard1.3/ru/System.Security.AccessControl.xml",
"ref/netstandard1.3/zh-hans/System.Security.AccessControl.xml",
"ref/netstandard1.3/zh-hant/System.Security.AccessControl.xml",
"ref/netstandard2.0/System.Security.AccessControl.dll",
"ref/netstandard2.0/System.Security.AccessControl.xml",
"ref/uap10.0.16299/_._",
"runtimes/win/lib/net46/System.Security.AccessControl.dll",
"runtimes/win/lib/net461/System.Security.AccessControl.dll",
"runtimes/win/lib/net461/System.Security.AccessControl.xml",
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll",
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.xml",
"runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll",
"runtimes/win/lib/uap10.0.16299/_._",
"system.security.accesscontrol.4.7.0.nupkg.sha512",
"system.security.accesscontrol.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.Principal.Windows/4.7.0": {
"sha512": "ojD0PX0XhneCsUbAZVKdb7h/70vyYMDYs85lwEI+LngEONe/17A0cFaRFqZU+sOEidcVswYWikYOQ9PPfjlbtQ==",
"type": "package",
"path": "system.security.principal.windows/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/System.Security.Principal.Windows.dll",
"lib/net461/System.Security.Principal.Windows.dll",
"lib/net461/System.Security.Principal.Windows.xml",
"lib/netstandard1.3/System.Security.Principal.Windows.dll",
"lib/netstandard2.0/System.Security.Principal.Windows.dll",
"lib/netstandard2.0/System.Security.Principal.Windows.xml",
"lib/uap10.0.16299/_._",
"ref/net46/System.Security.Principal.Windows.dll",
"ref/net461/System.Security.Principal.Windows.dll",
"ref/net461/System.Security.Principal.Windows.xml",
"ref/netcoreapp3.0/System.Security.Principal.Windows.dll",
"ref/netcoreapp3.0/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/System.Security.Principal.Windows.dll",
"ref/netstandard1.3/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/de/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/es/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/fr/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/it/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ja/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ko/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ru/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml",
"ref/netstandard2.0/System.Security.Principal.Windows.dll",
"ref/netstandard2.0/System.Security.Principal.Windows.xml",
"ref/uap10.0.16299/_._",
"runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll",
"runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.xml",
"runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.dll",
"runtimes/unix/lib/netcoreapp2.1/System.Security.Principal.Windows.xml",
"runtimes/win/lib/net46/System.Security.Principal.Windows.dll",
"runtimes/win/lib/net461/System.Security.Principal.Windows.dll",
"runtimes/win/lib/net461/System.Security.Principal.Windows.xml",
"runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll",
"runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.xml",
"runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.dll",
"runtimes/win/lib/netcoreapp2.1/System.Security.Principal.Windows.xml",
"runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll",
"runtimes/win/lib/uap10.0.16299/_._",
"system.security.principal.windows.4.7.0.nupkg.sha512",
"system.security.principal.windows.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
}
},
"projectFileDependencyGroups": {
".NETCoreApp,Version=v3.1": [
"Microsoft.AspNetCore.Cryptography.KeyDerivation >= 5.0.1",
"System.Data.SqlClient >= 4.8.2"
]
},
"packageFolders": {
"C:\\Users\\admin\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj",
"projectName": "SecureCore",
"projectPath": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netcoreapp3.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": {
"target": "Package",
"version": "[5.0.1, )"
},
"System.Data.SqlClient": {
"target": "Package",
"version": "[4.8.2, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.101\\RuntimeIdentifierGraph.json"
}
}
}
}
-20
View File
@@ -1,20 +0,0 @@
{
"version": 2,
"dgSpecHash": "fVeCOMKMiay8UO7cX9PN2RymJzVcimdlM2Cinb8QMlDNUE8Cv5a5pJaQr2Ef6Pz56CeNVo5a+3+s/XGFd22oNg==",
"success": true,
"projectFilePath": "C:\\Users\\admin\\source\\repos\\SecureCore\\SecureCore\\SecureCore.csproj",
"expectedPackageFiles": [
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\5.0.1\\microsoft.aspnetcore.cryptography.internal.5.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\5.0.1\\microsoft.aspnetcore.cryptography.keyderivation.5.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.data.sqlclient\\4.8.2\\system.data.sqlclient.4.8.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.accesscontrol\\4.7.0\\system.security.accesscontrol.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512"
],
"logs": []
}