Sun Java System Calendar Server 6 2005Q4 管理指南

配置 Calendar Server 的 SSL

Procedure创建 SSL 证书数据库

实现 Calendar Server 的 SSL 需要证书数据库。证书数据库必须定义 Calendar Server 的认证机构 (CA) 和证书。本部分包含概念性信息和任务信息:

开始之前

创建证书数据库之前,请先熟悉以下内容:

步骤
  1. 以超级用户 (root) 身份登录或转为超级用户。

  2. /etc/opt/SUNWics5/config/sslPasswordFile 中指定 certutil 的证书数据库密码。例如:


    # 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 选项的 certutil 实用程序。


  5. 生成默认的自签名根证书授权机构。例如:


    # ./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 的用户和组标识)。例如:


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

Procedure从根证书授权机构请求并导入证书

以下步骤将介绍如何生成认证请求,将请求提交给公钥基础设施 (Public Key Infrastructure, PKI) Web 站点,然后导入证书。

步骤
  1. 以超级用户 (root) 身份登录或转为超级用户。

  2. 转到 bin 目录:


    # cd /opt/SUNWics5/cal/bin
  3. 基于认证机构或公钥基础设施 (PKI) Web 站点,使用 certutil 生成认证请求。例如:


    # ./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. 从认证机构或公钥基础设施 (PKI) Web 站点为 SSL 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.calendarhostnameservice.http.ssl.sourceurl 参数的主机名应与 SSL 证书中的主机名相匹配(如果您的系统具有多个别名)。例如:calendar.sesta.com

Procedure配置 ics.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. 编辑下表中所示的一个或多个参数:

    参数 

    值 

    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