摘要
SSL/TLS加密的介绍,重点是mbedtls的基础以及移植说明。

1、引言

1.1 为什么要加密

互联网是开放环境,通信双方都是未知身份,为通信双方的有效信息不被第三方窃听、篡改或者被冒充身份进行通信,需要为信息加上保护措施。也就是对所有信息都进行加密,避免被第三方窃听;采用校验机制,可以识别出信息是否被篡改,配备身份认证防止被冒充身份。互联网的通信安全,就是建立在SSL/TLS协议之上。

1.2 SSL/TLS协议的历史

1996年,在前面的基础上,SSL 3.0版问世并得到大规模应用;

1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版,也称为SSL 3.1;SSL和TLS指的是同一套加密协议,只是不同时期的名字差异。

2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。

一般推荐使用TLS 1.2,主流的浏览器都支持。

2、SSL/TLS演化

熟悉一套技术的演进步骤,比直接看最新版本,更容量理解。

2.1 明文时代

小帅向小美发送信息,直接以明文形式发送。
在这里插入图片描述

缺点显而易见,第三方小黑很容易就窃取到信息,也可以进行篡改后发给小美,而且小美收到后并不知情,以为是小帅发来的。

2.2 对称加密时代

小帅和小美保存一份相同的秘钥,小帅发出的信息先经过加密,小美收到后使用同样的密码进行解密。这种加密和解密使用同一个密钥的算法称为对称加密算法。
在这里插入图片描述

短期内小黑对加密数据无能为力,但是每次变更秘钥需要事先协商,如果协商出问题,小帅告知小美新秘钥时,秘钥被小黑截取,那后续的密文对小黑来说,他也可以解密成明文。也可以篡改明文信息后,再使用同样的秘钥加密后发给小美。

2.3 非对称加密时代

既然进行秘钥交换存在风险,小帅和小美采用非对称加密算法。双方各自保存私钥、公钥,两者配对,私钥自己保存,公钥由私钥运算生成发给对方,不能由公钥反推算出私钥;但是使用公钥加密的密文,却可以使用私钥解密;使用私钥签名,使用公钥验证;这种加密和解密使用不同的密钥的算法成为非对称加密算法。
在这里插入图片描述

通信前,双发先将自己的公钥发给对方,私钥保密;小帅先使用小美提供的公钥加密数据,同时也使用自己的私钥进行签名标记,一起打包后发给小美,小美使用自己的私钥进行解密,再使用小帅的公钥进行验证,确认收到的信息是否来自小帅。
这种形式的加密通信,协商传输的是公钥,即使被小黑截取,他也不能解密后续的信息,因为解密得使用私钥。
但是百密一疏,如果小黑子在最初交互公钥时,截取公钥,把小帅发给小美的公钥截取,把自己的假公钥发给小美;截取小美发出的数据,小黑用自己的私钥解密,然后再使用自己的私钥加密后发给小帅。
在这里插入图片描述
整了这么复杂的一套加密协议,结果还是存在隐患。

2.4 公证时代

问题就出在公钥交换,小美收到一份公钥,如何证明这公钥确实是小帅发出的?譬如买房,只有房管局确认盖章导入系统的房产证,才是真的房产证,才能放心进行交易。通过CA(Certificate Authority)证书颁发机构来保证公钥的真实性,为公钥的真实性进行担保公证。

CA也是基于非对称加密算法,小帅先先把自己的公钥交给CA,CA用自己的私钥加密这些数据,加密完的数据称为小帅的数字证书,先前小帅发给小美的公钥,改为发送CA加密之后的数字证书。小美收到以后,通过CA发布的CA证书(包含了CA的公钥),来解密小帅的数字证书,从而获得小帅的公钥。
在这里插入图片描述

问题是小美怎么确保CA证书不是小黑伪造的?CA证书是提前预置在浏览器或操作系统,或者嵌入式设备内,不需要联网获取,自然也不存在劫持篡改的问题。

虽然小黑还是可以拦截带公钥的数字签名证书,可以用CA公钥解密看到内容;但是他没CA的秘钥,无法伪造出正确的数字签名证书,也就是小帅的真实公钥小黑可见不可改,改了小美会发现异常,但只有公钥并没什么价值。

2.5 TLS协议时代

公证时代的解决方案就是SSL/TLS协议加密通信基础。
因为使用非对称加密算法比对称加密算法要复杂,消耗运算资源,为考虑效率,非对称加密只会用来传递一条信息,即对称加密的密钥。对称加密的密钥确定,后续有效信息使用对称加密算法进行网络传输。既保证了网络通信的安全性,又不影响效率。

SSL/TLS协议的基本过程:
1、通过CA体系交换公钥
2、使用非对称加密算法,交换用于对称加密的密钥
3、有效数据使用对称加密算法,进行密文传输
前两步又称为"握手阶段"(handshake),是SSL/TLS加密通信的基础。

2.6 TLS的应用

在SSL/TLS出现之前,很多应用层协议(http、ftp、smtp等)都存在着网络安全问题。最常见的http协议,在传输过程中使用的是明文信息,传输报文一旦被截获便会泄露传输内容;传输过程中报文如果被篡改,对方无法轻易发现;无法保证消息交换的对端身份的可靠性。为了解决此类安全问题,在应用层和传输层之间加入了SSL/TLS协议,升级为https。SSL/TLS目前已经广泛用于数据安全协议。关于SSL/TLS有很多开源软件包,如openSSL,mbedtls等。openSSL功能更强大,mbedtls小巧更适合嵌入式设备。

3、 mbedtls

随着物联网的发展,设备节点的安全问题也越来越重要,相比互联网的openSSL,物联网的嵌入式设备适合小巧灵活的MbedTLS,曾用名PolarSSL,可以根据需求进行配置,降低对硬件资源的消耗。mbedtls内置了非常多的加密解密,散列算法源码,即使不使用tls加密,也从里面挖掘各种算法,诸如AES/RSA/MD5等。但是openSSL功能更强大,

mbedtls是一款采用Apache 2.0许可证协议开源软件加密库,使用标准C语言编写;独立的模块设计,降低模块之间的耦合度。从功能上看,主要包括加密库、X509证书、SSL/TLS协议三部分。

3.1 软件包

进入https://tls.mbed.org/,点击download,在https://github.com/ARMmbed/mbedtls下载源码。

Git下载界面有说明编译方式

Compiling

There are currently three active build systems used within Mbed TLS releases:

GNU Make

CMake

Microsoft Visual Studio (Microsoft Visual Studio 2013 or later)

目前个人接触的芯片SDK内置mbedtls有v2.4.0,v2.4.2和v2.14.1三种,将git版本切到v2.14.1,最后提交是2018年。前期先在电脑模拟测试,选择Visual Studio 2013。

3.2 软件结构

mbedtls源码结构如下图
在这里插入图片描述

mbedtls\include\mbedtls下面,可以version.h查看版本信息,重点是config.h配置,mbedtls是一套加密集合,实际项目使用中仅需选择少部分即可,配置功能宏裁剪代码,简化运算,毕竟mbedtls跑一遍,一般的arm单片机不一定扛得住。

programs\ssl下是参考范例,TLS的客户端和服务端范例,以及UDP版本的DTLS。嵌入式设备以客户端应用居多,主要参考ssl_client2.c里面很多配置参数可选,也可以针对应用替换ssl_client1.c

测试TLS客户端首先要准备3个文件,CA证书,客户端公钥数字证书以及私钥。一般情况下命名后缀如下:

.crt CA证书
.pem 公钥,经CA加密后的公钥,也称为数字证书
.key 私钥
有时crt和pem混用,其本质都是CA公钥加密后的文件

如果没有服务器联调,也可以使用自身的ssl_server2.c做服务器。

3.3 demo流程分析

ssl_client2.c范例都在main函数,其大体流程如下:

  • 1、先加载各种证书、秘钥,配置opt结构体成员初始化,如TLS版本,加密套件类型等

  • 2、然后开始连接服务器 mbedtls_net_connect

  • 3、初始化tls参数 mbedtls_ssl_config_defaults,设置网络收发回调函数等

  • 4、SSL/TLS握手流程,过程比较复杂,简化就是通信双方校验对方身份,获取对方的公钥,确认加密方式,后续数据进行加密或解密做准备 mbedtls_ssl_handshake

  • 5、校验服务端返回的证书 mbedtls_ssl_get_verify_result

  • 6、如果前面流程顺畅,就可以使用mbedtls_ssl_write,mbedtls_ssl_read收发数据了

  • 7、测试结束后的清理工作

  • 8、与标准socket编程对比,接口存在一定的对应关系:
    在这里插入图片描述

4、 mbedtls移植

先在电脑端模拟测试,确定参数,简化范例里的赋值,因为实际项目参数不会经常变更,优化代码,尤其是秘钥加载,嵌入式都是以数组保存文件内容,而不会使用文件形式加载。另外结合加密等级,确定加密套件类型。

模拟测试正常后,再移植到ARM平台,主要改动涉及网络连接、内存管理和定时器三个方面。

4.1 网络接口

mbedtls默认的网络接口mbedtls/library/net_socket.c,可以在windows下运行,特别注意,默认的socket操作都是阻塞模式;一般不适合ARM平台,关闭MBEDTLS_NET_C,结合硬件平台重新实现网络接口。主要包括以下函数:

void mbedtls_net_init( mbedtls_net_context *ctx );
int mbedtls_net_connect( mbedtls_net_context *ctx, const char *host, const char *port, int proto );
int mbedtls_net_recv( void *ctx, unsigned char *buf, size_t len );
int mbedtls_net_recv_timeout( void *ctx, unsigned char *buf, size_t len, uint32_t timeout );
int mbedtls_net_send( void *ctx, const unsigned char *buf, size_t len );
void mbedtls_net_free( mbedtls_net_context *ctx );

若需要DUP版本的DTLS,还需要实现该文件下另外几个接口,具体流程参考dtls_client.c

自定义实现的网络收发接口,需要注册mbedtls_ssl_set_bio告知底层。

mbedtls_ssl_set_bio(&ssl, &server_fd,mbedtls_custom_send,//改写后的mbedtls_net_send,为底层提供发送接口mbedtls_custom_recv,//为底层提供接收接口mbedtls_custom_recv_timeout)

4.2 内存管理

自定义实现类型如下内存的申请和释放接口:

void* calloc(unsigned int num,unsigned int size)
void free(void * ptr)

实现后将函数注册给底层

mbedtls_platform_set_calloc_free(custom_calloc, custom_free)

4.3 定时器

对DTLS定时器接口,并注册到底层。

   #if defined (__MBEDTLS_DTLS__)//Set delays to watchvoid platform_timing_set_delay(void *data, uint32_t int_ms, uint32_t fin_ms){platform_timing_delay_context *ctx = (platform_timing_delay_context *) data;ctx->int_ms = int_ms;ctx->fin_ms = fin_ms;if(fin_ms != 0){ctx->snapshot = custom_get_systicks();}    }    //Get number of delays expiredint platform_timing_get_delay(void *data){platform_timing_delay_context *ctx = (platform_timing_delay_context *) data;unsigned long elapsed_ms;if(ctx->fin_ms == 0){return(-1);}elapsed_ms = custom_ticks_to_milli_secs(custom_get_systicks() - ctx->snapshot); //转换成毫秒if(elapsed_ms >= ctx->fin_ms){return(2);}if(elapsed_ms >= ctx->int_ms){return(1);}return 0;}#endif /* __MBEDTLS_DTLS__ *///注册到底层mbedtls_ssl_set_timer_cb( &ssl, &platform_timer, platform_timing_set_delay, platform_timing_get_delay );

4.4 网络阻塞与非阻塞机制

mbedtls在电脑模拟测试时其网络连接非常顺畅,而且测试只是跑这一项功能,即使采用阻塞模式也不会有其它问题。实际嵌入式设备在联网时,肯定还有其他任务需要执行。

如果设备支持操作系统,可以为mbedtls单独分配一个线程或者任务,推荐使用阻塞机制实现接口,而且容易调试,尤其是https下载这种场景。但是特殊情况下不支持阻塞的,在改写网络接口时,需要特殊处理。

例如范例mbedtls_net_connect进行域名解析、连接服务器,嵌入式设备的无线网络在这个步骤,基本会返回异常表示阻塞等待中,要解决这个问题,需要将后续的握手流程拆分执行。原本联网后执行mbedtls_ssl_handshake,在while里面等待握手流程MBEDTLS_SSL_HANDSHAKE_OVER结束或者错误,改为每次收到读消息的事件,执行一次或多次mbedtls_ssl_handshake_step。(这个并没亲自验证

mbedtls_ssl_set_bio注册的读写接口支持设为非阻塞,mbedtls_ssl_write和mbedtls_ssl_read对应用层接口,在底层socket上报read_ready之后,判断当前握手已经完成,再执行mbedtls_ssl_read。

4.5 证书与密钥

测试可以使用mbedtls范例自带的证书和公钥、私钥,但实际项目需要自己根据服务器域名生成ca证书,以及双方的公钥、私钥。
在源码programs\pkey下有秘钥生成的代码,作为客户端,需要验证服务器提供的公钥证书,因此本地还要CA证书,类似首次登录12306提示要下载的证书,再加上客户端自身的公钥和私钥,一共3个文件。
gen_key.c生成keyfile.key私钥,默认秘钥长度是4096,虽然1024理论上有风险,但是运算更快;后面再使用openSSL 命令行生成公钥。

OpenSSL> rsa -in private.key -pubout -out public.key

openSSL下载地址 https://www.openssl.org/,安装后提示使用收费,实际使用未见异常。秘钥也可使用openSSL生成

OpenSSL>genrsa -out private.key 2048

如果使用未知,使用help查看说明。至于CA证书,需要平台侧生成再提供给设备端。

4.6 加密套件与配置裁剪

确定合适的加密套件,未使用的算法就可以屏蔽;在电脑运行瞬间完成,在实际arm硬件可能需要较长时间,比如使用RSA在握手阶段可能需要较长时间,可以选择ECDSA或者减小秘钥长度。

5、 小节

目前的物联网对数据安全不是很关注,使用自定义协议近似明文的方式交互,或者使用单一加密方式,未来智能家居、涉及财物计费的、特殊行业的设备节点,可能会逐渐使用加密通信,而mbedtls则是较好的选择之一。即使不使用TLS,也可以选择简单的对称加密,mbedtls也是一个加密算法库,可根据需求提取合适的源码集成。

版权声明


原文链接:https://blog.csdn.net/chengjunchengjun/article/details/111348713

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. std::enable_if与boost::enable_if,boost::enable_if_c的区别与联系

    标准库与boost的这三个enable_if系列的函数可以帮助我们实现模板函数的重载。 一般函数的重载 先看一个一般函数重载的例子&#xff1a; #include <iostream>void print(int i) {std::cout << "Integral: " << i << std::endl; }void pri…...

    2024/5/2 20:19:36
  2. T31项目-Day4(对于设计原则的一些感悟)

    前言 成长是苦涩的&#xff0c;没有舒舒服服的成功&#xff0c;不要抱怨&#xff0c;如果觉得命运不公平&#xff0c;那就改变命运&#xff0c;但是先从改变自己开始。 前几天温习了一下七大设计原则&#xff08;单一职责&#xff0c;里氏替换原则&#xff0c;接口隔离原则&am…...

    2024/5/2 20:19:32
  3. 全国室内射箭锦标赛

    简介 全国室内射箭锦标赛由国家体育总局射运中心、中国射箭协会主办&#xff0c;是国内室内射箭最高级别赛事。 历届 年份 时间 冠名 地点 备注 2020 2019 2018 2017 2016 2015 2014201320122011201020092007...

    2024/5/2 20:19:28
  4. Day Seven -- 画船听雨眠

    leetcode每日一题: 次元门 一道脑筋急转弯 , 实际上只有三种交叉的图像. class Solution { public:bool isSelfCrossing(vector<int>& distance) {int n distance.size();if(n < 4) return false;for(int i 0;i < n;i ){if(i 3 < n && distanc…...

    2024/5/2 20:19:23
  5. 41.Linux 共享内存

    IPC和文件IO函数的比较 文件I/OIPCopen Msg_get Shm_get Sem_get read write msgsnd msgrecv shmat shmdt semop close msgctrl shmctrl semctrl 打开或创建一个共享内存对象&#xff0c;共享内核在内核是什么样子的&#xff1f; 一块缓存&#xff0c;变类似于用户空…...

    2024/5/2 20:19:19
  6. 2021年氯碱电解工艺考试及氯碱电解工艺新版试题

    题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通&#xff1a;氯碱电解工艺考试考前必练&#xff01;安全生产模拟考试一点通每个月更新氯碱电解工艺新版试题题目及答案&#xff01;多做几遍&#xff0c;其实通过氯碱电解工艺模拟试题很简单。…...

    2024/5/2 20:19:16
  7. ACW734. 能量石

    题目 贪心的微扰邻项目和dp的结合. **题意:**给定n个物品的消耗时间s,初始价值e,每秒价值的衰减值l. 对于每个物品&#xff0c;当选择它的时候&#xff0c;获得的价值为当前的价值&#xff0c;而不用考虑再衰减。 能量最多衰减至0. 思路: 先贪心&#xff0c;后dp. 假设最优解…...

    2024/5/2 20:19:11
  8. DAY1_深度学习基础知识

    基础知识 线性代数 标量&#xff08;scalar&#xff09;&#xff1a;一个单独的数向量&#xff08;vector&#xff09;&#xff1a;一列数&#xff0c;可以被看作空间中的坐标&#xff08;每一个元素是对应坐标轴上的坐标&#xff09;。向量也可以被看作一维的张量矩阵&#…...

    2024/5/2 20:19:07
  9. QT5.9.1下载与安装

    首先&#xff0c;安装Qt就要去Qt官网上下载Index of /archive/qt 点击绿色的5.9/&#xff0c;就可以进入下载5.9版本的Qt软件啦&#xff01; 5.9里也有多个版本&#xff0c;选择5.9.1/版 选择Windows版本进行下载 &#xff0c;或者百度网盘 请输入提取码&#xff0c;提取码 l8z…...

    2024/5/2 20:19:03
  10. 词法分析总结

    词法分析 词法分析是对自然语言进行较浅层次处理的过程。 中文分词 英文有空格可以将单词分开。但是中文都是连续的字串&#xff0c;因此将中文切分成词&#xff0c;面临着困难。主要有&#xff1a; 交集型歧义&#xff1a;例如 下雨天地面积水。可以分成下雨天/地面/积水。…...

    2024/5/2 20:19:00
  11. [MySQL刷题]Day 4.上升的温度

    197.上升的温度 表 Weather ------------------------ | Column Name | Type | ------------------------ | id | int | | recordDate | date | | temperature | int | ------------------------id 是这个表的主键 该表包含特定日期的温度信息…...

    2024/5/2 20:18:56
  12. 冬天pvc塑胶地板运输和施工要注意几个方面

    冬天即将来临&#xff0c;pvc塑胶地板运输和铺装就需要注意很多地方&#xff0c;这些塑胶地板从出货开始&#xff0c;一路从工厂运到货站&#xff0c;然后马不停蹄再被运到全国各地不同环境的地方&#xff0c;可谓是冷暖交替&#xff0c;经历了大起大落的温差变化。 在工程之前…...

    2024/5/2 20:18:51
  13. 2021年继电保护考试题及继电保护找解析

    题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通&#xff1a;2021年继电保护考试题为正在备考继电保护操作证的学员准备的理论考试专题&#xff0c;每个月更新的继电保护找解析祝您顺利通过继电保护考试。 1、【单选题】低压配电网中所有设备…...

    2024/5/2 20:18:48
  14. channel_setup_fwd_listener_tcpip: cannot listen to port: 8888

    本地连接服务器上的jupyter lab &#xff0c;没想到电脑突然死机&#xff0c;重新开机后再次连接&#xff0c;结果报错了&#xff0c;错误提示如下图&#xff1a; 不是很清楚具体原因是什么&#xff0c;以及如何继续使用8888端口&#xff1f;或许是端口号被占用之类&#xff1…...

    2024/5/2 19:37:27
  15. Zookeeper配置:Error contacting service:It is probably not running解决办法

    配置zookeeper时&#xff0c;发现启动没有问题&#xff0c;但是查看状态status时发生Error contacting service:It is probably not running 1、去到你配置的dataDir目录下查看zookeeper.out输出日志 发现其实是因为2181端口被占用的原因! 2、找出占用该端口的进程 3、杀死该进…...

    2024/5/2 20:18:43
  16. [2021.10.28]<UE4学习日记>入门

    <不知道要持续多久的入门篇> &#xff08;不知道是不是UE4本身更好上手&#xff0c;还是会了Unity更容易上手&#xff0c;略欣慰&#xff09; 一、 1.Blocking Volume 空气墙 2.Kill Volume 死亡谷 3. World Setting Kill Z 预设死亡高度 二、关于创建Blueprints&…...

    2024/5/2 20:18:39
  17. 正则表达式的替换

    其实工作中一直在用到正则表达式,只是用来替换的操作显然没有那么多,今天偶然遇到,还是有点陌生的,这里记录一下,希望可以熟练的掌握正则这个万能的工具。使用之前首先要熟悉一下这个功能的参数re.sub的功能re是regular expression的缩写,表示正则表达式;sub是substitud…...

    2024/5/2 20:18:36
  18. ffmpeg批量从视频中提取出mp3音频

    1、新建一个txt文件&#xff0c;并复制如下代码进入&#xff0c;然后保存。 echo off & titlecd /d %~dp0for %%a in (*.mp4) do (ffmpeg -i "%%~sa" -y -vn -acodec libmp3lame -aq 0 "%%~na--.mp3")pause 2、把文件后缀修改为bat 。 3、把后缀为b…...

    2024/5/2 20:18:31
  19. “21天好习惯” 第一期-6

    练习等差数列第n项求法 #include <stdio.h> #include <math.h> int main() { int a,b,c,d; scanf("%d %d %d",&a, &b, &c); da(c-1)*(b-a); printf("%d",d); return 0; }...

    2024/5/2 20:18:28
  20. 单体应用会遇到的问题

    这里主要针对比较庞大的单体应用来讲&#xff0c;因为微服务本身在带来各种优势的同时也会引入非常多的问题&#xff0c;而处理这些问题需要攻克很多技术难题&#xff0c;而这些代价对于整个业务功能而言并没有什么好处。所以如果是小型应用&#xff0c;单体会更好一些。就像is…...

    2024/5/2 20:18:23

最新文章

  1. 每日OJ题_贪心算法二③_力扣1005. K 次取反后最大化的数组和

    目录 力扣1005. K 次取反后最大化的数组和 解析代码 力扣1005. K 次取反后最大化的数组和 1005. K 次取反后最大化的数组和 难度 简单 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。…...

    2024/5/3 20:22:32
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【开源语音项目OpenVoice](一)——实操演示

    目录 一、前菜 1、Python选择 2、pip源切换 3、ffmpeg配置问题 4、VSCode添加Jupyter扩展 二、配置虚拟环境 1、下载源码 方法一 直接下载源码压缩包 方法二 使用git 1&#xff09;git加入鼠标右键 2&#xff09;git clone源码 2、VSCode出场 1&#xff09;创建pyth…...

    2024/4/30 4:00:30
  4. 磁盘管理与文件管理

    文章目录 一、磁盘结构二、MBR与磁盘分区分区的优势与缺点分区的方式文件系统分区工具挂载与解挂载 一、磁盘结构 1.硬盘结构 硬盘分类&#xff1a; 1.机械硬盘&#xff1a;靠磁头转动找数据 慢 便宜 2.固态硬盘&#xff1a;靠芯片去找数据 快 贵 硬盘的数据结构&#xff1a;…...

    2024/5/1 13:00:58
  5. [Spring Cloud] gateway全局异常捕捉统一返回值

    文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…...

    2024/5/1 13:04:53
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57