gpt4 book ai didi

java - 创建服务器套接字错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:51 25 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 上构建一个简单的 Java SSL 服务器,虽然它在我运行时编译时没有警告,但我在 gcc 上遇到了这些错误:

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at javax.net.ssl.DefaultSSLServerSocketFactory.throwException(SSLServerSocketFactory.java:159)
at javax.net.ssl.DefaultSSLServerSocketFactory.createServerSocket(SSLServerSocketFactory.java:171)
at Server.main(Server.java:15)
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
at java.security.Provider$Service.newInstance(Provider.java:1262)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
at javax.net.ssl.SSLContext.getDefault(SSLContext.java:97)
at javax.net.ssl.SSLServerSocketFactory.getDefault(SSLServerSocketFactory.java:113)
at Server.main(Server.java:14)
Caused by: java.security.PrivilegedActionException: java.io.FileNotFoundException: server.ks (No such file or directory)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.ssl.SSLContextImpl$DefaultSSLContext.getDefaultKeyManager(SSLContextImpl.java:571)
at sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(SSLContextImpl.java:486)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at java.security.Provider$Service.newInstance(Provider.java:1238)
... 6 more
Caused by: java.io.FileNotFoundException: server.ks (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at sun.security.ssl.SSLContextImpl$DefaultSSLContext$2.run(SSLContextImpl.java:574)
at sun.security.ssl.SSLContextImpl$DefaultSSLContext$2.run(SSLContextImpl.java:572)
... 16 more

我认为原因是以下代码中的 createServerSocket 行,但很长一段时间后我猜不出原因。有任何想法吗?这是代码的一部分:

SSLServerSocketFactory sssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket ss = (SSLServerSocket) sssf.createServerSocket(4444);
SSLSocket s = (SSLSocket) ss.accept();
BufferedReader buff = new BufferedReader (new InputStreamReader(s.getInputStream()));
String line;
Thread t = new Thread(new Write(s));
t.start();

最佳答案

始终检查堆栈跟踪中的所有“由”条目:

Caused by: java.io.FileNotFoundException: server.ks (No such file or directory)

你没有正确设置你的 keystore

关于java - 创建服务器套接字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com