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

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 {};