seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

WeblogicのSSL設定

Weblogic6.1で動作するアプリケーションをSSLのクライアント認証で動かしたいという要望がでてきた。しかし、もらったUSBキーはRSA1024ビットでIE/Weblogicともに対応外。実験できないので試しにOpenSSLでキーを作ってきた。サーバ証明書とサーバの非公開キーの(テキストを取り除きBASE64部分だけに小さくした)PEMファイルをWeblogicにインストールしたら、起動時に非公開キーのPEMでIOExceptionが発生する。「xxバイト長すぎる」とかいわれるので、そんなハズはないだろう、とか思っていたが、調べてみると同じようにハマってる人が海外にいて、どうやら、非公開キーのパスワードは設定してはいけないらしい。

openssl rsa -in server_key.pem -out server_unsafe_key.pem

な感じでパスワードをストリップできるようだ。
これで再チャレンジしたところ、うまく動作した。
しかし、Weblogic6.0のCertAuthnticatorインターフェイスによる証明書とユーザとのマッピングでは、JSSE仕様とはぜんぜん関係ない仕組みであり、しかもX509証明書からX500Nameオブジェクトを取り出しても標準的なサブジェクトしか取得できず、拡張属性にアクセスできない。
しかし、Servlet仕様どおりHttpServletRequest#getAttributeからクライアント証明書にアクセスできるので細かいサブジェクトは認証後に取得できることを確認できたのは良かった。
ちょっと安心。
しかし、Weblogic8.1側も、また全然別の仕組みのようなので、両方対応するには結構大変かも。