ошибка createServerSocket - PullRequest
       1

ошибка createServerSocket

0 голосов
/ 21 марта 2012

Я пытаюсь собрать простой Java SSL-сервер в Ubuntu, и хотя он запускается без предупреждений при запуске, я получаю следующие ошибки на 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();

1 Ответ

4 голосов
/ 21 марта 2012

ВСЕГДА проверяйте все «вызванные» записи вашей трассировки стека:

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

Вы неправильно настроили хранилище ключей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...