当前位置: 首页 > 知识库问答 >
问题:

当使用Java SSLSocket时,Windows和Linux/OS X有什么区别?

东郭骁
2023-03-14

我在Windows下写了一个基于Java的多服务器聊天系统。在安全部分,我创建了一个keystore来创建SSLSocket。当我启动3个服务器时,它在Windows(Win10 14393.321)上工作,但在OS X(版本10.12(16a323))和Linux(Ubuntu 14.04.4LTS)上失败。我真的很困惑。下面是密钥库部分:

System.setProperty("javax.net.ssl.keyStore",keyFilepath);
System.setProperty("javax.net.ssl.trustStore",keyFilepath);
System.setProperty("javax.net.ssl.keyStorePassword","password");
System.setProperty("javax.net.ssl.trustStorePassword", "password");

当我在OS X或Linux上运行第三台服务器时,它显示:

java.net.ConnectException:连接被拒绝

共有1个答案

仇龙光
2023-03-14

java.net.ConnectException:连接被拒绝

Connection Referend是来自TCP堆栈的错误消息,表示它无法通过TCP连接到另一端。由于SSL/TLS是TCP之上的一个层,并且只有在TCP连接成功后才启动,这意味着问题不是由SSL/TLS层的不同行为引起的。

这不是由SSL层造成的,而是由TCP层造成的,也可以通过stacktrace:java.net.PlainSockeTimpl.SocketConnect处拒绝的连接看出

更有可能的情况是,有什么东西阻止了TCP连接(防火墙),或者您试图侦听/连接到错误的IP地址(例如,试图从Linux系统到达在Windows上侦听127.0.0.1的服务器)。但从目前提供的资料无法说出具体情况。

 类似资料:
  • 本文向大家介绍使用button当按钮和使用div当按钮有什么区别?相关面试题,主要包含被问及使用button当按钮和使用div当按钮有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 button具有默认样式 button在表单中具有默认的提交事件 button具有disabled属性可以禁用

  • 问题内容: Windows Server 2016 似乎内置了 Windows 上的Docker?并支持在Docker容器中运行Windows并将Windows用作Docker容器主机。这是否支持Linux?我不这么认为,我认为它仅支持运行Windows Docker容器。这似乎也由Microsoft维护。 用于Windows的Docker似乎是由Docker团队创建的单独安装,用于将Linux

  • 本文向大家介绍Windows和Linux之间的根本区别是什么?,包括了Windows和Linux之间的根本区别是什么?的使用技巧和注意事项,需要的朋友参考一下 视窗 窗口操作系统是磁盘操作系统的扩展。 Windows是最流行,最简单的操作系统,任何可以阅读和理解基本英语的人都可以使用Windows,因为它不需要任何特殊培训。 它要求DOS最初运行各种应用程序。因此,应该将DOS安装到内存中,然后才

  • Windows上的Docker似乎是Windows Server2016内置的功能?并支持在Docker容器内运行Windows以及使用Windows作为Docker容器宿主。这支持Linux吗?我不这么认为,我认为它只支持运行Windows Docker容器。这似乎也是微软维护的。 Docker for Windows似乎是Docker团队为将Linux Docker引入Windows而创建的一

  • 问题内容: 使用Java 11时,JDK_JAVA_OPTIONS和JAVA_TOOL_OPTIONS之间的确切区别是什么? 它们似乎执行相同的操作,但是输出略有不同。这使我相信他们可能有不同的用例: 我正在使用一个很小的测试程序: 它显示优先于: 但是最终命令行胜出了: 但是,在构建时,仅读取: 我目前正在使用AdoptOpenJDK 11 build 28。 问题答案: @gjoranv的答案