Sun Java System Calendar Server 6.3 管理指南

Procedure创建 SSL 证书数据库

网关需要证书才能将其公钥发送给客户机。证书包括网关的公钥、与网关证书相关的标识名、证书的序列号或颁发日期以及证书的到期时间。证书由认证机构 (Certification Authority, CA) 颁发,该机构会验证网关的身份。CA 为一个或多个用户所信任的机构,它负责颁发和管理 X.509 公钥证书以及 CARL 或证书撤销列表 (Certification Revocation List, CRL)。CA 是公钥基础结构 (Public Key Infrastructure, PKI) 的基本构建块。另一方面,PKI 是一组用于管理证书和公/私钥对(包括颁发、维护和撤销公钥证书的功能)的策略、进程、服务器平台、软件和工作站。

CA 会在所生成的每个证书和 CRL 中插入其名称,并使用私钥来对证书进行数字签名。直接或通过认证路径与 CA 建立信任关系后,就可信任由该 CA 颁发的证书。可通过比较其名称来轻松地识别该 CA 所颁发的证书。不过,可使用其公钥来确保证书的有效性。

CA 执行以下四个基本的 PKI 功能:

服务器的证书和密钥对代表服务器的身份。它们存储在证书数据库中,此数据库可存放在服务器内部,也可存放在外部的可移除硬件卡(智能卡)上。实现 Calendar Server 的 SSL 需要证书数据库。证书数据库必须定义 Calendar Server 的认证机构 (CA) 和证书。本部分包含概念性信息和任务信息:

开始之前

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

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

  2. /etc/opt/SUNWics5/config/sslpassword.conf 中指定证书数据库密码。

    例如:


    # echo "password file entry" 
          /etc/opt/SUNWics5/config/sslpassword.conf

    password file entry 的格式如下:

    Internal (Software) Token: password

  3. 创建证书数据库目录。例如:


    # cd /var/opt/SUNWics5
     # mkdir alias
  4. 转到 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 选项的实用程序。


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


    # ./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
  6. 生成主机的证书。例如:


    # ./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 是服务器主机名。

  7. 验证证书。例如:


    # ./certutil -V -u V -n SampleRootCA  
        -d /etc/opt/SUNWics5/config
     # ./certutil -V -u V -n SampleSSLServerCert 
       -d /etc/opt/SUNWics5/config
  8. 列出证书。例如:


    # ./certutil -L -d /etc/opt/SUNWics5/config
     # ./certutil -L -n SampleSSLServerCert 
       -d /etc/opt/SUNWics5/config
  9. 使用 modutil 列出可用的安全模块 (secmod.db)。例如:


    # ./modutil -list -dbdir /etc/opt/SUNWics5/config
  10. 将 alias 文件的所有者更改为 icsusericsgroup(或将要运行 Calendar Server 的用户和组标识)。例如:


    # find /etc/opt/SUNWics5/config -exec chown icsuser {};
     # find /etc/opt/SUNWics5/config -exec chgrp icsgroup {};