2017-04-13 273 views
0

的Java說,在這一行,該文件ssc.store沒有被發現:SSL java.security.NoSuchAlgorithmException

server = ((SSLServerSocketFactory) SSLServerSocketFactory.getDefault()).createServerSocket(port); 

(服務器是一個ServerSocket)

我嘗試使用含有此一libary代碼,但我無法打開此ServerSocket。

完全錯誤

Error opening ServerSocket 
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(Unknown Source) 
at javax.net.ssl.DefaultSSLServerSocketFactory.createServerSocket(Unknown Source) 
at com.blogspot.debukkitsblog.Net.Server.start(Server.java:327) 
at com.blogspot.debukkitsblog.Net.Server.<init>(Server.java:86) 
at com.blogspot.debukkitsblog.Net.Server.<init>(Server.java:51) 
at de.yee.GameServer.<init>(GameServer.java:16) 
at de.yee.Main.main(Main.java:9) 
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) 
at java.security.Provider$Service.newInstance(Unknown Source) 
at sun.security.jca.GetInstance.getInstance(Unknown Source) 
at sun.security.jca.GetInstance.getInstance(Unknown Source) 
at javax.net.ssl.SSLContext.getInstance(Unknown Source) 
at javax.net.ssl.SSLContext.getDefault(Unknown Source) 
at javax.net.ssl.SSLServerSocketFactory.getDefault(Unknown Source) 
... 5 more 
Caused by: java.security.PrivilegedActionException: java.io.FileNotFoundException: ssc.store (Das System kann die angegebene Datei nicht finden) 
at java.security.AccessController.doPrivileged(Native Method) 
at sun.security.ssl.SSLContextImpl$DefaultManagersHolder.getKeyManagers(Unknown Source) 
at sun.security.ssl.SSLContextImpl$DefaultManagersHolder.<clinit>(Unknown Source) 
at sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(Unknown Source) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
... 11 more 
Caused by: java.io.FileNotFoundException: ssc.store (Das System kann die angegebene Datei nicht finden) 
at java.io.FileInputStream.open0(Native Method) 
at java.io.FileInputStream.open(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at sun.security.ssl.SSLContextImpl$DefaultManagersHolder$2.run(Unknown Source) 
at sun.security.ssl.SSLContextImpl$DefaultManagersHolder$2.run(Unknown Source) 
... 19 more 

問題是什麼?

+0

也許圖書館期待'ssc.store'文件,但它找不到它 – nandsito

+0

我不是很熟悉ssls。但mybe它與SSLServerSocketFactory.getDefault()做什麼? –

+0

getdefault正常,但會引發文件未找到異常。你正在使用一個庫,這個庫使得ssl調用,是嗎? – nandsito

回答

1

您需要運行代碼的工作目錄中的ssc.store文件。該店鋪位於:https://github.com/DeBukkIt/SimpleServerClient/blob/master/ssc.store(或者您簽出的特定分店或標籤)。

例如,如果您在IntelliJ中運行main方法,則存儲文件應位於項目根目錄中。或者,如果您將應用程序打包到jar並運行java -jar yourapp.jar,那麼ssc.store應與jar文件位於同一目錄中。

+0

謝謝!修正它:D –

+0

@KevinMeyer如果答案幫助你,請考慮接受它 – nandsito

相關問題