時計を壊せ

駆け出しWebプログラマーの雑記

JavaでDH鍵交換を実装する

やんごとなき事情でJavaでDH鍵交換を実装しなければならなくなったので実装してみました。
クラス/メソッドの説明と型しか書かれていないJavaのドキュメントをdisりつつ、いろいろ試行錯誤してみたらできた。
ググっても無駄に長くてめんどくさくて実用性に欠ける実装ばかり出てきたりして辛い思いをしたので公開してみます。
javaは最近はじめて書いたのでよくわかんないんだけど、Exceptionのcatchは公開用に適当にe.printStackTrace()してお茶を濁しております。こういうのどうするのがいいんすかね。
念のため書いておくと、DH鍵交換は単体だと中間者攻撃に対して脆弱なので、素直にSSLなどを使うのがおすすめでございます。