本节逐个解释为了在 Web 站点使用"安全插座层"(SSL) 而需要在您的站点安装的每一个主要组件,目的是为了使您对于必须安装什么和这些组件如何交互作用,有一个大致的了解。在 "SSL 配置步骤" 中有关于配置 SSL 的步骤的列表。
在 Web 站点可以使用 SSL 之前,它必须有用来加密的公共和私有密钥,以及一个可以提供给客户的 X.509 证书。该证书含有该 Web 站点的标识(判别名)、颁发者的标识、该 Web 站点的公共密钥以及颁发者的数字签名。公共 Web 站点的证书一般是由一个第三方认证机构 (Certificate Authority,CA) 签署的,如 VeriSign;如果一个客户也有该第三方 CA 的公共密钥,那么它可以相信该站点的标识已经过核实,是可靠的。
本文档中的"证明"指一个密钥包--公共和私有密钥-及有关证书。
Sun WebServer 包括用来运行 CA 的软件。该 CA 可以为 Web 站点创建 SSL 证明。其它工具用来安装 Web 站点的证明供 Sun WebServer 实例使用,以及取得由第三方签署的证明和安装第三方证书。
创建一个根认证机构 (Root CA)。
安装联合命名系统 (FNS)。
将 Sun WebServer 与 SSL 一起安装。
为使用 SSL 的 Web 站点使用唯一的 IP 地址。
(推荐的)向一个独立的 CA 申请经签署的证书。
您需要在自己的站点创建一个 Root CA 以便为 Web 站点创建证明。Root CA 用户将为自己创建证明,然后用这些证明为您的网络中的 Web 服务器创建密钥包和签署证书。您可以将证明存储在"联合命名服务" (FNS) 中以便于从别的机器上访问,或者只将它们存储在 Root CA 机器上的文件中以限制访问。在缺省状态下,它们存储在 /var/fn 中。
Root CA 主机(证明在此创建)不必和 Sun WebServer 是同一台机器。出于安全的原因,您可能想在不同的机器上或者干脆在不能上网的机器上运行 Root CA。
只有自己签署的证书才需要完成上述步骤。如果只使用第三方证书则不需要。
您可以在 Root CA 主机上使用 root
(UID 0) 以外的任何用户名做 Root CA 用户。Root CA 用户是唯一能够为 Web 站点创建证明的用户。Root CA 用户将拥有自己的、受口令保护的证明,用来签署它创建的所有证书。
Root CA 证明被绑定到判别名 (DN) 条目。所有证明都被绑定到某个 DN。Root CA 判别名使用下列属性:
属性类型 | 缩写 | 示例 |
---|---|---|
公用名 | cn | cn=rootca |
电子邮件地址 | em | em=rootca@A.net |
序号 | serial | serial=no12345 |
组织单位名 | ou | ou=web |
机构名 | o | o=A.net |
地区名 | l | l=internet |
州或省名 | st | st=California |
国名 | c | c=US |
在 DN 中属性的顺序是很重要的。DN 必须以最具体的属性开始,依次排列到最不具体的属性。这些属性以最具体(公用名)到最不具体(国家)的顺序在表中排列。
所有证明都存储在 Root CA 用户所拥有的一个目录中,该目录不应是公开可读的。Root CA 用户的证明(以及每个 Web 站点的证明)将可通过"联合命名服务"(FNS) 得到。
所有使用 SSL 或密钥包的计算机都将需要安装安全工具包。必须至少有一台机器,即 Root CA 主机,上面
存在 Root CA 的用户名。
存储了 Root CA 的证明。
正确安装了 FNS。
Root CA 将为此主机上的 Web 站点创建和存储证明。
在 Root CA 主机上不必运行 Sun WebServer。Sun WebServer 机器可以通过从 Root CA 主机复制文件,来获得对其上的 Web 站点的证明的访问权。
FNS 是 SSL 安全工具用来访问证明的接口。Sun WebServer 安全软件包创建一个命名服务环境,在其中存储和从文件中检索证明。
去除任何已有的 FNS 软件包,安装与 Sun WebServer 捆绑的 SUNWfns
软件包。
此步骤在您安装 Sun WebServer 之前完成。如果您未去除 SUNWfns
和安装捆绑的软件包,那么现在就在您将使用 SSL 的主机上进行这些工作,包括 Root CA 主机。
作为 Solaris 2.6 的一个组成部分的 SUNWfns
软件包不能与 SSL 共用。去除该软件包不会使您丢失任何数据。一旦新的 SUNWfns
软件包安装之后,您已有的 FNS 环境将得到保留。两种软件包均为 11.6.0 版,但 pkginfo -l SUNWfns
的完全 版本
是供所支持的软件包使用的 11.6.0,REV=1998.02.08.15.10
。
若要使 Web 站点支持 SSL,您需要一个 Sun WebServer 实例,该实例拥有所有的 SSL 软件包和库可供使用,并在将要使用 SSL 的每一个 IP 地址的端口上启用 SSL。
一旦 Root CA 创建了证明,这些证明必须安装在站点所在的 Sun WebServer 机器上。
Root CA 用户使用 Web 站点的主机名和 IP 地址为 Web 站点创建证明。这些证明必须被绑定到一个唯一的主机名和 IP 地址,因此必须有一个唯一的 IP 地址,该地址为每一个启用了 SSL 的站点提供一个 SSL 端口。
当一个客户连接到一个启用了 SSL 的 Web 站点端口时,它请求该站点的证明。要核实这些证明,它们必须被该客户拥有其公共密钥并对其信任的一个 CA 签署。
由于大多数客户不会有您的本地 Root CA 的公共密钥,因此您将需要取得由一个著名的 CA 签署的站点证明,如 VeriSign。