技術情報
SSLServerSocketの作り方
以下のコードで単純にServerSocketFactory#createServerSocket(int, int)を呼び出すと、
ServerSocketFactory tServerSocketFactory = SSLServerSocketFactory.getDefault();
ServerSocket tServerSocket = tServerSocketFactory.createServerSocket(8889, 10);
Socket tSocket = tServerSocket.accept();
証明書が無いという例外が起きます。
Exception in thread "main" javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled. at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.checkEnabledSuites(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(Unknown Source) at jp.kurusugawa.research.serversocket.Server.main(Server.java:36)
この例外は、証明書が入っているキーストアを指定していないことが原因で起きています。
(さらに…)