百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

TLS版本及CipherSuites确认及设置

bigegpt 2025-02-11 11:00 6 浏览

在使用Https(AS2、RosettaNet等协议)传输协议进行数据传输中,有时会遇到下面这些报错信息:

①276–Error during handshake:接收到的消息异常,或格式不正确。
②13003:Connot conclude ssl
handshake.Cause:Connection reset.

③533 – An MDN was expected in the HTTP reply,but was not returned.
④32000 – Remote host disconnected during SSL negotiation.
⑤286:Unable to execute work queue.: Received fatal alert: HANDSHAKE_FAILURE

这些报错,有时是因为数据传输双方设置的TLS版本不一致导致,所以如果出现上述报错我们可在确认网络正常的情况下,排除是否是TLS的问题,一般交易伙伴双方确认下彼此使用的TLS版本和Cipher Suites,然后不支持的一方进行设置即可。同时,我们可以通过网络抓包来确认客户端和服务器支持的TLS版本和Cipher Suites,参考如下:

以下截图表示客户端告知服务器, 客户端支持的TLS版本和Cipher Suites:

以下截图表示服务器端回复客户端,服务器支持的TLS版本和Cipher Suites:

如果确认是TLS版本和Cipher Suites不支持的问题,我们该如何查看知行之桥支持的TLS版本及TLS Cipher Suites,并进行修改或者设置呢?

如何查看服务器支持的TLS版本

1.可以借助一些测试工具,比如SSL Server Test:
https://www.ssllabs.com/ssltest/

输入需要测试的服务器的IP或者域名即可

查看测试结果:

如上图表示,该服务器支持TLS 1.0、TLS 1.1、TLS1.2。

2.使用openssl命令

openssl s_client -connect :<端口>


以上结果表示,目前使用的是TLS1.2版本。

如果确认是因为TLS版本不一致导致数据传输失败时,可以参考以下步骤针对客户端和服务器设置TLS版本:

设置TLS版本

作为客户端

以AS2协议为例,在知行之桥中创建AS2端口,前往高级设置页面“启用TLS功能”,勾选对应的TLS版本即可:

目前大多数客户使用的都是TLS1.2版本,有些客户已经升级到TLS1.3版本。

作为服务器

如果EDI服务器系统是Windows系统

需要修改服务器的注册表来实现

1.点击“开始”,选择“运行”,在对话框中输入“regedit”,进入注册表编辑器中:

2.找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols选项,如下图:

3.确认这里没有你需要的TLS版本,比如TLS1.2,右击-新建(New)->项(Key)->新建名为TLS 1.2的项(注意TLS与1.2之间有个空格),如下图:

在新建的TLS 1.2项上右击->新建->项->新建Server, Client两个项,如下图:

在新建的Server和Client中都新建DWORD 32位值,如下图:

添加两个DWORD 32位值,名称分别为DisabledByDefault和 Enabled ,参考如下:

其中DisabledByDefault的值为0,Enabled的值为1,参考如下:

注意,设置好后,需要重启服务器才可以生效。

如果EDI服务器是Linux系统

如果在Linux操作系统上部署的知行之桥,知行之桥是直接运行的其内置的Jetty Server(Jetty版本号:10.0.9)启动的,是默认支持到最新的TLS1.3的,可以通过以下命令确认使用的TLS版本:

openssl s_client -connect :<端口> -debug | grep TLS

如何查看服务器支持的TLS Cipher Suites并修改

在EDI通信中有时也会因为双方使用的TLS Cipher Suites不同,导致数据传输失败。或者一方进行了升级,改用了更安全的Cipher Suites,要求另一方同步升级。那么如何确认你的服务器支持哪些TLS Cipher Suites并进行修改呢?

Windows服务器

1.Win+R快捷键,调出运行窗口,输入gpedit.msc回车

2.查看:Computer Configuration→Administrative Templates→Network → SSL Configuration Settings

3. 双击右侧的SSL Cipher Suite Order,会弹出SSL Cipher Suite Order设置框,选择Enabled,在左下侧可以看到支持的SSL Cipher Suite,全选复制出来,可以看到详细的列表:

在这里可以删除不安全的SSL Cipher Suite,添加安全的SSL Cipher Suite,进行应用。

Windows服务器可以在Microsoft官网查看操作系统支持的SSL Cipher Suite:
https://learn.microsoft.com/en-us/windows/win32/secauthn/cipher-suites-in-schannel,如果是因为操作系统本来就不支持需要的SSL Cipher Suite,那就需要更换服务器或者重新安装系统了。

Linux服务器

查看知行之桥内置Jetty支持的SSL Cipher Suite命令

java -Dorg.eclipse.jetty.util.ssl.SslContextFactory.LEVEL=DEBUG -jar arc.jar

设置SSL Cipher Suite

在arc.xml中添加以下设置即可:

Q&A分享

Q:在运维工作中有些客户必须要使用https,但是有时在成功设置https后,浏览器无法访问https地址,报错如下:

A:这种情况常常就是因为服务器不支持TLS1.2及以上版本,参考上述设置TLS版本的操作进行设置,设置后重启服务器后即可。

相关推荐

php-fpm的配置和优化

目录概述php-fpm配置php-fpm进程优化配置慢日志查询配置php7进阶到架构师相关阅读概述这是关于php进阶到架构之php7核心技术与实战学习的系列课程:php-fpm的配置和优化学习目标:理...

成功安装 Magento2.4.3最新版教程「技术干货」

外贸独立站设计公司xingbell.com经过多次的反复实验,最新版的magento2.4.3在oneinstack的环境下的详细安装教程如下:一.vps系统:LinuxCentOS7.7.19...

十分钟让你学会LNMP架构负载均衡

业务架构、应用架构、数据架构和技术架构一、几个基本概念1、pv值pv值(pageviews):页面的浏览量概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)2、u...

php从远程URL获取(mp4 mp3)音视频的流媒体数据

/***从远程URL中获取媒体(如mp4mp3)的内容*@parammixed$file_url*@parammixed$media_type...

Zabbix5.0安装部署

全盘展示运行状态,减轻运维人员的重复性工作量,提高系统排错速度,加速运维知识学习积累。1.png1、环境安装关闭SELinux并重启系统2.png安装httpd、mariadb、php运行yum-...

php 常见配置详解

以下是PHP常见的配置项及其含义:error_reporting:设置错误报告级别,可以控制PHP显示哪些错误。例如,设置为E_ALL将显示所有错误,而设置为0将禁止显示任何错误。displa...

实践分享|基于基石智算 DeepSeek API + WordPress 插件自动生成访客回复

基石智算举办的DeepSeek案例大赛汇集了不少基于CoresHubDeepSeekAPI服务或模型部署服务的精彩实践。本次我们将分享个人实践:通过DeepSeekAPI+Word...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

MySQL自我保护参数

#头条创作挑战赛#之前(MySQL自我保护工具--pt-kill)提到用pt-kill工具来kill相关的会话,来达到保护数据库的目的,本文再通过修改数据库参数的方式达到阻断长时间运行的SQL的目...

Python闭包深度解析:掌握数据封装的高级技巧

闭包作为Python高级编程特性之一,为开发者提供了一种优雅的方式来实现数据封装和状态保持。这一概念源于函数式编程理论,在现代Python开发中发挥着重要作用。理解和掌握闭包的使用不仅能够提升代码的表...

Java服务网格故障注入与熔断实战

在分布式系统的高可用性挑战中,服务网格的故障注入与熔断机制是检验系统韧性的终极试金石。以下是10道逐步升级的"地狱关卡",每个关卡都对应真实生产环境中可能遇到的致命场景,并附具体场景示...

MySQL数据库性能优化全攻略:程序员必知的七大核心策略

作为程序员,我们每天都要与数据库打交道。当系统用户量突破百万级时,数据库往往成为性能瓶颈的首要怀疑对象。本文将深入探讨MySQL优化的七大核心策略,并提供可直接落地的优化方案,助您构建高效稳定的数据库...

如何在 Windows 11 上使用单个命令安装 XAMPP

XAMPP是一种广泛使用的软件,用于在Windows操作系统上快速运行LAMP服务器包,包括Windows11。尽管LAMP通常用于Linux系统,但XAMPP并不使用Li...

uTorrent怎样将bt种子转换为磁力

如何用uTorrent把BT种子转为磁力链接?以下方法希望能帮到你。1、在uTorrent窗口里,点击工具栏的按钮,所示。2、在打开窗口里,选取要转为磁力的种子文件,然后点击打开按钮,参照图示操作...

支持向量机SVM 分类和回归的实例

支持向量机(SupportVectorMachine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他...