Calendar Server に SSL を実装するには、証明書データベースが必要です。証明書データベースには、CA (証明書発行局) と Calendar Server の証明書を定義する必要があります。ここでは、概念的な情報と、作業に関する情報を提供します。
証明書データベースを作成する前に、次のことを把握しておいてください。
Mozilla ツール — このリリースには次の Mozilla ツールが用意されています。
証明書データベースツール (certutil): 証明書データベースを作成、管理します。詳細は、次の Web サイトを参照してください。
http://mozilla.org/projects/security/pki/ nss/tools/certutil.html
証明書データベースの生成を試みる前に、ツールの構文に慣れておいてください。
セキュリティーモジュールデータベースツール (modutil): 使用できるセキュリティーモジュールに関する情報を表示します。詳細は、次の Web サイトを参照してください。
http://mozilla.org/projects/security/pki/ nss/tools/modutil.html
これらのユーティリティーは、次のディレクトリに格納されています。
/opt/SUNWics5/cal/lib
または、最新バージョンを Web サイトからダウンロードしてください。
ライブラリパス変数 — Mozilla ツールを使用するには、事前に LD_LIBRARY_PATH 変数を適切に設定する必要があります。次に例を示します。
setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib
例で使用するファイルとディレクトリ — この章で紹介する例は、次のファイルとディレクトリを使用します。
alias は、証明書データベースを格納したディレクトリです。次のディレクトリの中に alias ディレクトリを作成します。
/var/opt/SUNWics5
また、alias ディレクトリは定期的にバックアップしてください。
sslPasswordFile は、証明書データベースのパスワードを記録したテキストファイルです。これは certutil ユーティリティーが使用するファイルで、Calendar Server は使用しません。次のディレクトリに sslPasswordFile を作成します。
/etc/opt/SUNWics5/config
/etc/passwd には、乱数生成用のエントロピーが用意されています。つまり、このディレクトリは、乱数生成機能が真にランダムな結果を確実に生成するのに役立つ、有効で一意なシードを生成するために使用されます。
スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
/etc/opt/SUNWics5/config/sslPasswordFile に certutil の証明書データベースパスワードを指定します。次に例を示します。
# echo "password" /etc/opt/SUNWics5/config/sslPasswordFile |
password には実際のパスワードを指定します。
証明書データベースの alias ディレクトリを作成します。次に例を示します。
# cd /var/opt/SUNWics5 # mkdir alias |
bin ディレクトリに移動し、証明書データベース (cert8.db) と鍵データベース (key3.db) を生成します。次に例を示します。
# cd /opt/SUNWics5/cal/bin # ./certutil -N -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile |
certutil ユーティリティーを実行する必要がある場合は、例に従って実行するか、または certutil のヘルプページを参照して構文を理解してください。
たとえばこの場合、-d /ファイル情報を指定せずに -N オプションを付けてユーティリティーを実行することは避けてください。
デフォルトの自己署名ルート CA (証明書発行局) 証明書を生成します。次に例を示します。
# ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu" -s "CN=My Sample Root CA, O=sesta.com" -m 25000 -o /var/opt/SUNWics5/alias/SampleRootCA.crt -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile -z /etc/passwd |
ホスト用の証明書を生成します。次に例を示します。
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u" -s "CN=hostname.sesta.com, O=sesta.com" -m 25001 -o /var/opt/SUNWics5/alias/SampleSSLServer.crt -d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile -z /etc/passwd |
hostname.sesta.com はサーバーホスト名です。
証明書を検証します。次に例を示します。
# ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWics5/alias # ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias |
証明書をリスト表示します。次に例を示します。
# ./certutil -L -d /var/opt/SUNWics5/alias # ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias |
modutil を使用して、使用できるセキュリティーモジュール (secmod.db) をリスト表示します。次に例を示します。
# ./modutil -list -dbdir /var/opt/SUNWics5/alias |
alias ファイルの所有者を icsuser と icsgroup (または Calendar Server を実行するそれ以外のユーザーとグループの ID) に変更します。次に例を示します。
# find /var/opt/SUNWics5/alias -exec chown icsuser {}; # find /var/opt/SUNWics5/alias -exec chgrp icsgroup {}; |