ゲートウェイがクライアントに公開鍵を送信するには、証明書が必要になります。証明書には、ゲートウェイの公開鍵、ゲートウェイの証明書に関連付けられた識別名、証明書のシリアル番号または発行日、および証明書の有効期限が含まれています。証明書は、ゲートウェイの ID を検証する証明書発行局 (CA) で発行されます。CA とは、1 人以上のユーザーによって信頼されている証明書発行局で、X.509 公開鍵証明書および CARL、または証明書失効リスト (CRL) を発行および管理します。CA は、公開鍵インフラストラクチャー (PKI) の基礎的な構成要素です。一方、PKI とは証明書および公開鍵と秘密鍵のペアを管理するために使用される一連のポリシー、プロセス、サーバープラットフォーム、ソフトウェア、およびワークステーションであり、公開鍵証明書の発行、管理、失効を行います。
CA はすべての証明書にその名前を挿入し、CRL は秘密鍵を用いて証明書を生成し、デジタル署名を付加します。CA が信頼されていることを確認すると (直接、または証明パスを通じて)、その CA によって発行される証明書を信頼できます。名前を照合すると、CA によって発行された証明書を簡単に識別できます。ただし、公開鍵を使用して証明書が有効であることを確認することができます。
CA は、次の 4 つの基本的な PKI の機能を実行します。
証明書の発行 (作成と署名)。
証明書状態情報の維持、および CRL の発行。
現在の (失効していない) 証明書と CRL のパブリッシュ。
失効した証明書に関する状態情報のアーカイブの維持。
サーバーの証明書とキーのペアは、そのサーバーの識別情報を示します。これらは、サーバー内部または取り外し可能な外部のハードウェアカード (スマートカード) の証明書データベース内に保存されます。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
例で使用するファイルとディレクトリ
この章で紹介する例は、次のファイルとディレクトリを使用します。
/etc/opt/SUNWics5/config は、証明書データベースを格納したディレクトリです。
証明書データベースのバックアップを定期的に作成します。別のディレクトリに証明書データベースを作成することも可能です。その場合は、同じディレクトリに証明書パスワードファイルを置く必要があります。
sslpassword.conf は、証明書データベースのパスワードを記録したテキストファイルです。
これは certutil ユーティリティーが使用するファイルで、Calendar Server は使用しません。次のディレクトリに sslpassword.conf を作成します。
/etc/opt/SUNWics5/config
/etc/passwd には、乱数生成用のエントロピーが用意されています。つまり、このディレクトリは、乱数生成機能が真にランダムな結果を確実に生成するのに役立つ、有効で一意なシードを生成するために使用されます。
スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
/etc/opt/SUNWics5/config/sslpassword.conf に証明書データベースのパスワードを指定します。
次に例を示します。
# echo "password file entry" /etc/opt/SUNWics5/config/sslpassword.conf |
password file entry の形式は次のとおりです。
Internal (Software) Token: password
証明書データベースのディレクトリを作成します。次に例を示します。
# cd /var/opt/SUNWics5 # mkdir alias |
bin ディレクトリに移動し、証明書データベース (cert8.db) と鍵データベース (key3.db) を生成します。次に例を示します。
# cd /opt/SUNWics5/cal/bin # ./certutil -N -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf |
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 /etc/opt/SUNWics5/config/SampleRootCA.crt -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf -z /etc/passwd |
ホスト用の証明書を生成します。次に例を示します。
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u" -s "CN=hostname.sesta.com, O=sesta.com" -m 25001 -o /etc/opt/SUNWics5/config/SampleSSLServer.crt -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf -z /etc/passwd |
hostname.sesta.com は、サーバーホスト名です。
証明書を検証します。次に例を示します。
# ./certutil -V -u V -n SampleRootCA -d /etc/opt/SUNWics5/config # ./certutil -V -u V -n SampleSSLServerCert -d /etc/opt/SUNWics5/config |
証明書をリスト表示します。次に例を示します。
# ./certutil -L -d /etc/opt/SUNWics5/config # ./certutil -L -n SampleSSLServerCert -d /etc/opt/SUNWics5/config |
modutil を使用して、使用できるセキュリティーモジュール (secmod.db) をリスト表示します。次に例を示します。
# ./modutil -list -dbdir /etc/opt/SUNWics5/config |
alias ファイルの所有者を icsuser と icsgroup (または Calendar Server を実行するそれ以外のユーザーとグループの ID) に変更します。次に例を示します。
# find /etc/opt/SUNWics5/config -exec chown icsuser {}; # find /etc/opt/SUNWics5/config -exec chgrp icsgroup {}; |