Exemplo n.º 1
0
        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())));
        }
Exemplo n.º 2
0
        //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);
        }