簡體   English   中英

使用Java SSLSocket時,Windows和Linux / OS X有什么區別?

[英]What's the difference between Windows and Linux/OS X when using the Java SSLSocket?

我在Windows下編寫了一個基於Java的多服務器聊天系統。 在安全性部分,我創建了一個密鑰庫來創建SSLSocket。 當我啟動3台服務器時,它可以在Windows(Win10 14393.321)上運行,但在OS X(版本10.12(16A323))和Linux(Ubuntu 14.04.4 LTS)上無法運行。 這真的讓我感到困惑。 這是密鑰庫部分:

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:連接被拒絕

在java.net.PlainSocketImpl.socketConnect(本地方法)在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)在java.net.AbstractPlainSocketImpl.connect (java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)的java.net.Socket.connect(Socket.java:589)的sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl。)(AbstractPlainSocketImpl.java:188) java:668)在sun.security.ssl.SSLSocketImpl。(SSLSocketImpl.java:427)在sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)在server.AuthorizeServer.MessageReceive(AuthorizeServer.java:99)在server.AuthorizeServer.main(AuthorizeServer.java:64)在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor .java:43),請訪問java.lang.reflect.Method。 在org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)處調用(Method.java:497)

這是我第一次詢問StackOverflow,非常期待您的幫助。 謝謝!

java.net.ConnectException:連接被拒絕

連接被拒絕是來自TCP堆棧的錯誤消息,表示它無法與TCP連接到另一端。 由於SSL / TLS是TCP之上的一層,並且僅在TCP連接成功后才啟動,因此這意味着問題不是由SSL / TLS層上的不同行為引起的。

這不是由SSL層引起的,而TCP層也可以由stacktrace看到: java.net上的連接被拒絕。 PlainSocket Impl.socketConnect

更有可能的是,有某些東西阻止了TCP連接(防火牆),或者您試圖偵聽/連接到錯誤的IP地址(例如,嘗試從Linux系統訪問Windows 127.0.0.1上的服務器)。 但是從當前提供的信息中無法確切地說出情況是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM