技術情報
KeyStoreの作り方
KeyStoreを作ったり、その中にオレオレ証明書を格納する方法を紹介します。
JDKが導入されていれば、KeyStoreを編集するためのkeytoolが入っています。
(Windowsの場合 X:Program FilesJavajdk1.X.X_XXbinkeytool.exe というパスにkeytoolが見つかるはずです。)
詳しい利用方法はSunのkeytoolのページを参照してもらうとして、SSLServerSocketを作るために証明書が1つだけ格納されたキーストアファイルを新規に作ってみます。
以下の例ではキーストアファイル名は”kyunkyun.keystore”です。また、証明書の識別名は”moemoe”です。
どちらも、好みで設定してかまいません。
(さらに…)
技術情報
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)
この例外は、証明書が入っているキーストアを指定していないことが原因で起きています。
(さらに…)
技術情報
log4net, LoggingAB, NLogを比較してみた
[intlink id=”558″],[intlink id=”555″],[intlink id=”548″]の続き。
log4net, LoggingAB, NLogを比較してみた。
名前 | DLLサイズ | 速度 | 評価 |
---|---|---|---|
log4net 1.2.10 | 270,336 bytes | 70us/行 | ハマりどころなし。よくできている。 |
NLog 1.0 | 253,952 bytes | 67us/行 | バッファリング設定しないと遅い。きめ細かい設定ができるともいえる。 |
LoggingAB Enterprise Library 3.1 | 379,728 bytes | 224us/行 | 遅い。かゆいところに手が届かない印象。 |
出力なし | 0 bytes | 51us/行 | 最速だがログ出力してない(笑) |
まとめ
個人的にはNLogが好きなんだけど、実績とか考えるとlog4net使っとくのが無難だと思う。
LogginABはおすすめできない。
log4netはたぶんユーザ数が最多。
log4j使ってた経験があるなら設定とかすぐわかる。
パフォーマンスも隙が無い。
NLogは2006年からwebサイト更新されてないように見える。
十分枯れてると思うが、ちょっと不安。好意的に見れば、枯れててバージョンアップが不要なのかも??
LoggingABは重過ぎる。自作のリスナーとか作れば改善するかもしれない。
他のEnterprise Library機能と組み合わせるときにはこれしか選択肢なし。
ログ出力機能だけがほしいのであればオーバスペック。
Microsoftやpatterns & practicesが好きなら担いで見るのもよい。
あと、設定が一番ゴチャゴチャしてる。
専用の設定エディタが付属するけど、使い心地が微妙でもどかしい。
技術情報
apacheで4GB以上のファイルをダウンロードさせる
apacheで公開されているディレクトリに4.7GBぐらいのファイルを置いて、
友達にダウンロードさせようとしたところ、「ファイルが見えない!」と言われた。
確かに、ブラウザから見えるディレクトリ内ファイルの一覧(+Indexes利用)に表示されない。
しかし、サーバ上のディレクトリを確認すると4.7GBのファイルは確かに存在している。
しかたがないので分割ダウンロードさせた。