internal void ComputeSHA() { // Compute all file block sha1. var allSha = (from b in this.BlockSet select b.SHA1).ToArray(); string longSha = string.Join("", allSha); this.SHA1 = SHAHelper.ToSHA1(longSha); }
public static Package FromNupkg(string filePath, IList <Package> packages) { var pkg = new Package(); pkg.Path = filePath; pkg.PackageHash = SHAHelper.CalculateSHA512Hash(File.ReadAllText(filePath)); pkg.PackageHashAlgorithm = "SHA512"; var fInfo = new FileInfo(filePath); pkg.Updated = fInfo.LastWriteTimeUtc; pkg.Published = fInfo.LastWriteTimeUtc; pkg.PackageSize = fInfo.Length; using (var zipArchive = ZipFile.OpenRead(filePath)) { var nuspecEntry = zipArchive.Entries.First(x => x.Name.Contains(".nuspec")); var reader = XmlReader.Create(nuspecEntry.Open()); XElement element = XElement.Load(reader); XNamespace ns = element.GetDefaultNamespace(); var nsm = new XmlNamespaceManager(reader.NameTable); nsm.AddNamespace("ns", ns.NamespaceName); pkg.Title = pkg.Id = element.XPathSelectElement("//ns:id", nsm).AsString(); pkg.Version = new Version(element.XPathSelectElement("//ns:version", nsm).AsString()); pkg.Author = element.XPathSelectElement("//ns:authors", nsm).AsString(); pkg.LicenceUrl = element.XPathSelectElement("//ns:licenseUrl", nsm).AsString(); pkg.ProjectUrl = element.XPathSelectElement("//ns:projectUrl", nsm).AsString(); pkg.IconUrl = element.XPathSelectElement("//ns:iconUrl", nsm).AsString(); pkg.RequireLicenseAcceptance = element.XPathSelectElement("//ns:requireLicenseAcceptance", nsm).As <bool>(false); pkg.Description = element.XPathSelectElement("//ns:description", nsm).AsString(); pkg.Summary = element.XPathSelectElement("//ns:summary", nsm).AsString(); pkg.Copyright = element.XPathSelectElement("//ns:copyright", nsm).AsString(); pkg.Tags = element.XPathSelectElement("//ns:tags", nsm).AsString(); pkg.Language = element.XPathSelectElement("//ns:language", nsm).AsString(); var minClientVersionAttr = element.XPathSelectElement("//ns:metadata", nsm).Attribute("minClientVersion"); pkg.MinClientVersion = minClientVersionAttr != null ? minClientVersionAttr.Value : null; var dependencyNodes = element.Descendants(ns + "dependency"); if (dependencyNodes.Any()) { pkg.Dependencies = dependencyNodes.Select(x => x.Attribute("id").Value + ":" + x.Attribute("version").Value).Aggregate((x, y) => x + "|" + y); } pkg.IsLatestVersion = pkg.IsAbsoluteLatestVersion = !packages.Where(x => x.Id == pkg.Id && x.Version > pkg.Version).Any(); } return(pkg); }
public bool VerifyHeader(out string ErrorMsg) { string ipaddress = "5555555"; StringValues api_key; StringValues EmpCode; var isValidHeader = false; //APIITVendor //VendorData = new APIITVendor(); if (Request.Headers.TryGetValue("api_Accesskey", out api_key)) { string AccessKey = api_key.First(); string EmpCodeKey = EmpCode.First(); if (!string.IsNullOrEmpty(AccessKey)) { bool CorrectACKey = SHAHelper.VerifyHash("APiCRMMobile", "SHA512", AccessKey); if (CorrectACKey) { ErrorMsg = ""; return(true); } } } else { if (!isValidHeader) { //_log.LogDebug(ipaddress + " :: Missing Authorization Header."); ErrorMsg = ipaddress + " :: Missing Authorization Header."; //VendorData = new APIITVendor(); return(false); // return BadRequest("Missing Authorization Header."); } } //VendorData = new APIITVendor(); ErrorMsg = "SomeThing Wrong with Header Contact Developer ASAP"; return(false); }
public async Task <object> loginHash([FromBody] LoginHashData data) { try { var userName = SHAHelper.TwoWayDecrypt(data.UserName, "APFamilyAPThaiAP"); var password = SHAHelper.TwoWayDecrypt(data.Password, "APFamilyAPThaiAP"); var appCode = "Defect"; string APApiKey = Environment.GetEnvironmentVariable("API_Key"); if (APApiKey == null) { APApiKey = UtilsProvider.AppSetting.ApiKey; } string APApiToken = Environment.GetEnvironmentVariable("Api_Token"); if (APApiToken == null) { APApiToken = UtilsProvider.AppSetting.ApiToken; } var client = new HttpClient(); var Content = new StringContent(JsonConvert.SerializeObject(data)); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); Content.Headers.Add("api_key", APApiKey); Content.Headers.Add("api_token", APApiToken); string PostURL = Environment.GetEnvironmentVariable("AuthenticationURL"); PostURL = PostURL + "JWTUserLogin"; if (PostURL == null) { PostURL = UtilsProvider.AppSetting.AuthorizeURL + "JWTUserLogin"; } var Respond = await client.PostAsync(PostURL, Content); if (Respond.StatusCode != System.Net.HttpStatusCode.OK) { return(new { success = false, data = new AutorizeDataJWT(), valid = false }); } var RespondData = await Respond.Content.ReadAsStringAsync(); AutorizeDataJWT Result = JsonConvert.DeserializeObject <AutorizeDataJWT>(RespondData); AutorizeDataJWTReturnObject Return = new AutorizeDataJWTReturnObject(); Return.AccountExpirationDate = Result.AccountExpirationDate; Return.AppUserRole = Result.AppUserRole; Return.AuthenticationProvider = Result.AuthenticationProvider; Return.CostCenterCode = Result.CostCenterCode; Return.CostCenterName = Result.CostCenterName; Return.DisplayName = Result.DisplayName; Return.Division = Result.Division; Return.DomainUserName = Result.DomainUserName; Return.Email = Result.Email; Return.EmployeeID = Result.EmployeeID; Return.FirstName = Result.FirstName; Return.LastLogon = Result.LastLogon; Return.LastName = Result.LastName; Return.LoginResult = Result.LoginResult; Return.LoginResultMessage = Result.LoginResultMessage; Return.SysAppCode = Result.SysAppCode; Return.SysUserData = JsonConvert.DeserializeObject <UserModel>(Result.SysUserData); Return.SysUserId = Result.SysUserId; Return.SysUserRoles = JsonConvert.DeserializeObject <CustomModel.vwUserRole>(Result.SysUserRoles); Return.Token = Result.Token; Return.UserApp = JsonConvert.DeserializeObject <List <vwUserApp> >(Result.UserApp); Return.UserPrincipalName = Result.UserPrincipalName; List <UserProject> userProjects = JsonConvert.DeserializeObject <List <UserProject> >(Result.UserProject); List <UserProjectType> userProjectTypes = new List <UserProjectType>(); for (int i = 0; i < userProjects.Count(); i++) { ICONEntFormsProduct Prd = _masterRepo.GetProductDataFromCRM_Sync(userProjects[i].ProjectCode); string obj = JsonConvert.SerializeObject(userProjects[i]); UserProjectType ProductObj = JsonConvert.DeserializeObject <UserProjectType>(obj); if (Prd != null) { if (Prd.Producttype == "โครงการแนวราบ") { ProductObj.producttypecate = "H"; } if (Prd.Producttype == "โครงการแนวสูง") { ProductObj.producttypecate = "V"; } } userProjectTypes.Add(ProductObj); } Return.UserProject = userProjectTypes; if (Result.LoginResult == false) { return(new { success = false, data = Result.LoginResultMessage, valid = false }); } AccessKeyControl AC = _UserRepository.GetUserAccessKey(Result.EmployeeID); if (AC == null) { AccessKeyControl accessKeyControl = new AccessKeyControl(); accessKeyControl.EmpCode = Result.EmployeeID; accessKeyControl.AccessKey = generateAccessKey(Result.EmployeeID); accessKeyControl.LoginDate = DateTime.Now; bool Insert = _UserRepository.InsertUserAccessKey(accessKeyControl); return(new { success = true, data = Return, AccessKey = accessKeyControl.AccessKey, valid = false }); } else { AC.AccessKey = generateAccessKey(Result.EmployeeID); AC.LoginDate = DateTime.Now; bool Update = _UserRepository.UpdateUserAccessKey(AC); return(new { success = true, data = Return, AccessKey = AC.AccessKey, valid = false }); } } catch (Exception ex) { return(StatusCode(500, "Internal server error :: " + ex.Message)); } }
internal void ComputeSHA() { this.SHA1 = SHAHelper.ToSHA1(RawData); }