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)

この例外は、証明書が入っているキーストアを指定していないことが原因で起きています。
(さらに…)

投稿者:sato 投稿日時:

俺様デシリアライザを作ろうとして困ったこと

クラスjava.io.ObjectInputStreamはどうやって実現されているんだ?

俺様デシリアライザを作るにはクラスjava.io.ObjectInputStreamをカスタマイズする必要があります。クラスjava.io.ObjectInputStreamの振る舞いを変えるには完全に再実装するしかありません(そのように無理やり制限されています)。ということは、俺様デシリアライザでクラスjava.io.ObjectInputStreamと同じような振る舞いを実現しなければいけないことになります。そこで、いろいろ考えたところ問題にぶち当たりました。

(さらに…)

投稿者:Yamaguchi Youhei 投稿日時: