OpenLDAP for Win32 を使ってみる
メモ。
諸般の事情により、テスト環境を作ることになった。LDAPが必要なので、サーバを起こすことにした。テスト用なのでLDAPプロトコルが走れば良い。できるだけ楽をしたかった。
最初は某サーバ(Solaris5.2(!!))にOpenLDAPを載せようと思ったのだけど、最新の安定版でやってみたらconfigureすらできないアリサマ。エラーメッセージを頼りにぐぐってみると、どうやら「そんな恐竜使ってる方が悪い」ということでファイナルアンサーなようだ。その恐竜でも大丈夫なバージョンを探すのはちょっと面倒だなぁ…。
では、というので、自分のPCにOpenLDAP for Win32を載せてしまうことにする。こいつはバイナリで公開されているので、ビルドする必要がない。
http://lucas.bergmans.us/hacks/openldap/
で、以下のサイトを参考にしつつ、インストール。特に困ることはなかった。順調。
http://bhd.staba.jp/ldap/olwin32.html
http://infokeepers.net/network/ldap/
起動。一応立ち上げに成功。適当にobjectClass="Person"なエントリを作ってから確認を行う。確認にはLDAP Browser/Editorが便利。こっちからダウンロード可能(要Java)。
http://www-unix.mcs.anl.gov/~gawor/ldap/
さてここからが問題。実は各エントリに、メールアドレスと証明書を持たせたい。そのための作業が必要。そのためには:
- 証明書を作る
- 証明書をエクスポートする
- 各エントリにメール(mail)、証明書(userCertificate)属性を持たせる
- エクスポートした証明書を、LDAPエントリに認識可能な形に変換する
- エントリに証明書情報をセットする
が必要。それぞれ以下の方法で実現
- xca(http://www.hohnstaedt.de/xca/xca.html)
- 同上
- エントリのオブジェクトクラスをpersonからinetOrgPersonに変更する
- 面倒。もっと良い方法があるはずだが
- xcaから証明書をPEM形式でexportする。
- そのファイルをテキストエディタで開く
- 最初の行と最後の行はコメントなのでそれを除いた部分をコピーして
- ldifファイルに
userCertificate;binary:: MIIDPTCAA........ JKoZIhvcNAQkBFi… GA1UEAx…
という形で貼り付ける。このとき、二行目以降の先頭には必ずスペースを1個だけつけること。tabだと読み込みに失敗する。
- 出来上がったldifファイルを、ldapadd もしくは ldapmodify でエントリに追加する
一応ここまで。