private static string CreateSignature(HDSSRequest hdssRq) { var concatBuilder = new StringBuilder(); concatBuilder.Append(hdssRq.requestId).Append(hdssRq.requestTime); concatBuilder.Append(hdssRq.requestType).Append(hdssRq.identityCard); concatBuilder.Append(hdssRq.identityCardName).Append(hdssRq.phone); concatBuilder.Append(hdssRq.loanNo).Append(HdbRSA.Salt); //var hash = RSAHelper.Hash($"{hdssRq.requestId}" + // $"{hdssRq.requestTime}{hdssRq.requestType}" + // $"{hdssRq.identityCard}{hdssRq.identityCardName}" + // $"{hdssRq.phone}{hdssRq.loanNo}{RSAHelper.SecretKey}"); return(HdbRSA.SignData(HdbRSA.Hash(concatBuilder.ToString()))); }
//Substring here to match HDBs requirements public static HDSSRequest ToHDSSRequest(Request rq, CustomerInfo customerInfo) { var hdssRq = new HDSSRequest() { //TODO: //Home or Contact address is must? //interchangeable? requestId = Guid.NewGuid().ToString(), //Hardcoded as HDB requested TODO: store this requestTime = DateTime.Now.ToString(RequestTimeFormat), //Hardcoded as HDB requested requestType = rq.RequestType, identityCard = customerInfo.IdentityCard, gender = customerInfo.Gender, address = customerInfo.HomeAddress, birthDate = customerInfo.Dob.ToString(DOBDateFormat), identityCardName = customerInfo.FullName, issuePlace = customerInfo.Issuer, issueDate = customerInfo.IssueDate.ToString(DOBDateFormat), phone = customerInfo.Phone, loanNo = rq.LoanNo, branch = rq.UsernameNavigation.DivisionNameNavigation.BranchId.ToString(), amount = customerInfo.LoanAmount.ToString() }; hdssRq.signature = CreateSignature(hdssRq);; //logger.Info(hdssRq.requestId); //logger.Info(hdssRq.requestTime); //logger.Info(hdssRq.requestType); //logger.Info(hdssRq.identityCard); //logger.Info(hdssRq.gender); //logger.Info(hdssRq.address); //logger.Info(hdssRq.birthDate); //logger.Info(hdssRq.identityCardName); //logger.Info(hdssRq.issuePlace); //logger.Info(hdssRq.issueDate); //logger.Info(hdssRq.phone); //logger.Info(hdssRq.loanNo); //logger.Info(hdssRq.signature); return(hdssRq); }