389-dsで外部で取得したサーバ証明書を設定

以前書いた
CentOS5に389-dsをインストール - kame-tの日記の続き

すでに取得したサーバ証明書を使って
ldapsを動作させる
答えはここ
http://www.redhat.com/archives/fedora-directory-users/2009-December/msg00162.html
にあるけど要はp12ファイルにして取り込むとよい

% sudo openssl pkcs12 -export -in /etc/pki/tls/certs/cert.pem -inkey /etc/pki/tls/private/key.pem -out /etc/pki/tls/certs/cert.p12 -nodes -name 'servername'
% cd /etc/dirsrv/slapd-[INSTANCE_NAME]/
% sudo pk12util -d . -i /etc/pki/tls/certs/cert.p12

あと関連のCA証明書を中間証明書も一緒に登録する

% cd /etc/dirsrv/slapd-[INSTANCE_NAME]/
% sudo certutil -d . -A -n 'middle' -t CT,, -a -i /etc/pki/tls/certs/middle.crt
% sudo certutil -d . -A -n 'root' -t CT,, -a -i /etc/pki/tls/certs/root.crt

こっから先はGUI

% 389-console &
  1. 「[INSTANCE_NAME]」openして
  2. 「Tasks」タブの「Manage Certificates」で
  3. 「Server Certs」と「CA Certs」を確認
  4. 「[INSTANCE_NAME]」の「Configuration」タブを開き「Enable SSL for this server」をチェック
  5. 「Use this cipher family RSA」をチェックして「Certificate」をインストール済みの証明書を選択
  6. 「Chipher」で弱い暗号化方法はチェックを外す
  7. 「Save」したあとconsoleを閉じる

636番ポートはGUIではでなくroot権限でないと開けないので
再びコマンドで

% sudo service dirsrv restart

をする

% openssl s_client -connect 127.0.0.1:636

サーバ証明書を確認して

% ldapsearch -x -H ldaps://[HOSTNAME] -D [ADMIN_DN] -W -b [BASE_DN]

で動作を確認する(上記はOpenLDAPのldapsearch)