Sun Java System Calendar Server 6 2005Q4 管理ガイド

Calendar Server の SSL 設定

Procedure証明書データベースを作成するには

Calendar Server に SSL を実装するには、証明書データベースが必要です。証明書データベースには、CA (証明書発行局) と Calendar Server の証明書を定義する必要があります。ここでは、概念的な情報と、作業に関する情報を提供します。

始める前に

証明書データベースを作成する前に、次のことを把握しておいてください。

手順
  1. スーパーユーザー (root) としてログインするか、スーパーユーザーになります。

  2. /etc/opt/SUNWics5/config/sslPasswordFilecertutil の証明書データベースパスワードを指定します。次に例を示します。


    # echo "password" 
          /etc/opt/SUNWics5/config/sslPasswordFile

    password には実際のパスワードを指定します。

  3. 証明書データベースの alias ディレクトリを作成します。次に例を示します。


    # cd /var/opt/SUNWics5
     # mkdir alias
  4. 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 オプションを付けてユーティリティーを実行することは避けてください。


  5. デフォルトの自己署名ルート 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
  6. ホスト用の証明書を生成します。次に例を示します。


    # ./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 はサーバーホスト名です。

  7. 証明書を検証します。次に例を示します。


    # ./certutil -V -u V -n SampleRootCA  
        -d /var/opt/SUNWics5/alias
     # ./certutil -V -u V -n SampleSSLServerCert 
       -d /var/opt/SUNWics5/alias
  8. 証明書をリスト表示します。次に例を示します。


    # ./certutil -L -d /var/opt/SUNWics5/alias
     # ./certutil -L -n SampleSSLServerCert 
       -d /var/opt/SUNWics5/alias
  9. modutil を使用して、使用できるセキュリティーモジュール (secmod.db) をリスト表示します。次に例を示します。


    # ./modutil -list -dbdir /var/opt/SUNWics5/alias
  10. alias ファイルの所有者を icsusericsgroup (または Calendar Server を実行するそれ以外のユーザーとグループの ID) に変更します。次に例を示します。


    # find /var/opt/SUNWics5/alias -exec chown icsuser {};
     # find /var/opt/SUNWics5/alias -exec chgrp icsgroup {};

Procedureルート CA (証明書発行局) に証明書を要求し、証明書をインポートするには

次の手順で、証明書要求の生成、PKI (Public Key Infrastructure) の Web サイトへの要求の送信、証明書のインポートを行う方法について説明します。

手順
  1. スーパーユーザー (root) としてログインするか、スーパーユーザーになります。

  2. bin ディレクトリに移動します。


    # cd /opt/SUNWics5/cal/bin
  3. certutil を使用して、証明書発行局または PKI (Public Key Infrastructure) の Web サイトに適した証明書要求を作成します。次に例を示します。


    # ./certutil -R -s "CN=hostname.sesta.com, 
    OU=hostname/ SSL Web Server, O=Sesta, 
    C=US" -p "408-555-1234" -o hostnameCert.req 
    -g 1024  -d /var/opt/SUNWics5/alias 
    -f /etc/opt/SUNWics5/config/sslPasswordFile  -z /etc/passwd -a

    ここで、“hostname.sesta.com” はサーバーホスト名です。

  4. SSL Web サーバー用のテスト証明書を CA (証明書発行局) または PKI (Public Key Infrastructure) の Web サイトに要求します。hostnameCert.req ファイルの内容をコピーして証明書要求に貼り付けます。

    証明書への署名が完了し、準備が整った時点で通知が送信されてきます。

  5. 証明書発行局証明書チェーンと SSL サーバー証明書をテキストファイルにコピーします。

  6. 証明書認証局証明書チェーンを証明書データベースにインポートし、認証チェーンを確立します。次に例を示します。


    # ./certutil -A -n "GTE CyberTrust Root"
        -t "TCu,TCu,TCuw" 
        -d /var/opt/SUNWics5/alias 
        -a 
        -i /export/wspace/Certificates/CA_Certificate_1.txt
        -f /etc/opt/SUNWics5/config/sslPasswordFile
    # ./certutil -A -n "Sesta TEST Root CA" 
        -t "TCu,TCu,TCuw" 
        -d /var/opt/SUNWics5/alias 
        -a 
        -i /export/wspace/Certificates/CA_Certificate_2.txt
        -f /etc/opt/SUNWics5/config/sslPasswordFile
  7. 署名された SSL サーバー証明書をインポートします。


    # ./certutil -A -n "hostname SSL Server Test Cert"
        -t "u,u,u" -d /var/opt/SUNWics5/alias 
        -a 
        -i /export/wspace/Certificates/SSL_Server_Certificate.txt
        -f /etc/opt/SUNWics5/config/sslPasswordFile
  8. 証明書データベース内の証明書をリスト表示します。


    # ./certutil -L -d /var/opt/SUNWics5/alias
  9. ics.conf ファイルで、署名された SSL サーバー証明書の SSL サーバーニックネームを設定します。例: “hostname SSL Server Test Cert”

    注: ics.conf ファイルの service.http.calendarhostname パラメータと service.http.ssl.sourceurl パラメータのホスト名は、SSL 証明書のホスト名と一致する必要があります (システムに複数のエイリアスがある場合)。例: calendar.sesta.com

Procedureics.conf ファイルの SSL パラメータを設定するには

Calendar Server に SSL を実装するには、ics.conf ファイルの特定のパラメータを設定する必要があります。次の表に示されているパラメータのいずれかが ics.conf ファイルにない場合、指定した値とともにファイルに追加します。システムの起動時 (start-cal の実行時) は ics.conf が読み取り専用であるため、新しい値は Calendar Server が再起動されるまで反映されません。これらの SSL パラメータについては、「SSL の設定」を参照してください。

手順
  1. 設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. 次の表に示すパラメータを 1 つ以上編集します。

    パラメータ 

    値 

    encryption.rsa.nssslactivation

    “on”

    encryption.rsa.nssslpersonalityssl

    “SampleSSLServerCert”

    encryption.rsa.nsssltoken

    “internal”

    service.http.tmpdir

    “/var/opt/SUNWics5/tmp”

    service.http.uidir.path

    “html”

    service.http.ssl.cachedir

    “.”

    service.http.ssl.cachesize

    “10000”

    service.http.ssl.certdb.password

    " " (適切なパスワードを入力)

    service.http.ssl.certdb.path

    “/var/opt/SUNWics5/alias”

    service.http.ssl.port.enable

    “yes”

    service.http.ssl.port

    "443" (デフォルトの SSL ポート)


    注 –

    HTTP のデフォルトポートであるポート "80" ではありません。


    service.http.securesession

    "yes" (セッション全体を暗号化する)

    service.http.ssl.sourceurl

    “https”//localhost:port” (ローカルホスト名、および service.http.ssl.port の値を入力)

    service.http.ssl.ssl2.ciphers

    ““

    service.http.ssl.ssl2.sessiontimeout

    “0”

    service.http.ssl.ssl3.ciphers

    "rsa_red_40_md5,

    rsa_rc2_40_md5,

    rsa_des_sha,

    rsa_rc4_128_md5,

    rsa_3des_sha"

    service.http.ssl.ssl3.sessiontimeout

    “0”

    service.http.sslusessl

    “yes”

  5. ファイルを ics.conf として保存します。

  6. 変更を適用するために Calendar Server を再起動します。

    cal_svr_base/SUNWics5/cal/sbin/start-cal