我正在将一个嵌入式TLS1.0实现更新到TLS1.2(具有1MB或更少代码空间的设备,并且没有操作系统)。在这一点上,我有AES-128和AES-256 CBC密码与SHA-1和SHA-256摘要一起工作,以实现最小的实现。库无法协商SSLv2、SSLv3、TLS 1.0或TLS 1.1连接。
我觉得这就足够了,因为RFC5246指出,“TLS_RSA_WITH_AES_128_CBC_SHA现在是实现密码套件的强制要求。”
然而,当我阅读html" target="_blank">安全博客上的各种帖子时,我看到一些建议让用户禁用该套件,并且(例如)只允许ECDHE_RSA或DHE_RSA变体。
所以我的问题是,使用我们库的设备是否会与现代web浏览器(作为服务器)和现代HTTPS/SMTPS/POP服务器(作为客户端)互操作。是否有TLS1.2客户机/服务器无法协商TLS_RSA_WITH_AES_128_CBC_SHA连接?
我不确定当前是否有许多支持TLS的服务器无法将TLS_RSA_WITH_AES_128_CBC_SHA
与TLSV1.2
协商,因为它是TLSV1.2
的强制密码套件。
然而,有一些事情需要记住:
TLS_RSA_WITH_3DES_EDE_CBC_SHA
对于TLSV1.0
和TLSV1.1
是必需的,但由于安全原因,不再为所有服务器所支持,AES128
而不是AES256
所以,如果我能给你提供4个密码套件(数量与你相同),我会说这些从最强到最弱:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
我想说,这4个密码套件为TLSV1.2
服务器带来了足够的安全性和兼容性。
我想在java上创建一个客户机/服务器应用程序,服务器的IP地址为192.168.1.100,在端口4500上等待客户机请求。 客户端从键盘上读取字符串,向服务器发送连接请求。一旦建立了连接,它就会将字符串发送到服务器。 这是我尝试的代码: 对于服务者: 对于客户端: 但这段代码有一个问题:
我在Java开发了一个客户端-服务器游戏(称为“Set”)。 在调试过程中遇到了一个非常尴尬的问题: 如果在同一台机器上同时运行客户端和服务器(客户端连接到localhost),这个游戏工作得很棒(如果我运行服务器和大量客户端的话也是如此)。 但是,如果我在两台不同的机器上运行客户端和服务器,那么客户端和服务器都挂起了Inputstream readLine方法。 我会提到我正在使用writeBy
编辑2:我切换到,并用包装客户端工厂,这样设备就可以很好地到达后端。但是当后端发回一些东西时,我会得到错误的出站套接字,客户机套接字死亡。我认为这是因为后端没有正确路由消息所必需的头。如何捕获此信息?我的配置类如下:
我在做一个客户端/服务器应用程序。目前它的功能很好,但我需要添加一个“选项”。 server类如下所示: 因此许多客户端都能够连接到服务器。我的观点是:我希望一个连接的客户机(比如说,Client1)能够向他选择的另一个连接的客户机(Client2)发送一些东西。 我的问题是:Client1如何找到/拥有/检索Client2的套接字,因为所有的Client1都通过这个clientSocket在不同
创建Eureka发现客户端和服务器架构。在客户端有userInfo服务CRUD opeartion。它在启动时显示错误。错误是创建在类路径资源[org/springFramework/cloud/autoconfiure/ConfigurationProperty tiesRebinderAutoConfiguration.class]中定义的名为“配置属性Beans”的bean的错误:合并bea