コード例 #1
0
        public RESTJson CreateClientKeyPath()
        {
            RESTJson result = new RESTJson();

            result.ErrMsg  = ClientEncryptionHelper.GenerateKeys();
            result.ErrCode = 1;

            return(result);
        }
コード例 #2
0
        public RESTJson GetClientEncryptionKey([FromBody] LoginInfo loginInfo)
        {
            RESTJson result = new RESTJson();

            //非业务参数(如:时间戳等)
            HeadersInfo headersInfo = new HeadersInfo();

            //根据非业务参数和业务参数拼接字符串并按照首字母排序
            Dictionary <string, object> dic = new Dictionary <string, object>();

            dic = SignHelper <HeadersInfo> .ObjConvertDic(dic, headersInfo);

            dic = SignHelper <LoginInfo> .ObjConvertDic(dic, loginInfo);

            string str = SignHelper <string> .DicSortToString(dic);

            //使用请求方的私钥进行加密生成签名
            string sign = ClientEncryptionHelper.privateToSign(str);

            //判空
            if (string.IsNullOrEmpty(sign))
            {
                result.ErrMsg = "生成报文失败";
                return(result);
            }

            //使用接收方的公钥进行加密生成加密报文
            string message = ServerEncryptionHelper.PubKeyEncryption(str += '_' + sign);

            if (!string.IsNullOrEmpty(message))
            {
                result.ErrCode = 1;
                result.ErrMsg  = "生成报文成功";
                result.Data    = message;
            }

            return(result);
        }