Sun Java System Web Proxy Server 4.0.8 管理指南

使用外部加密模块

Proxy Server 支持按照以下方法使用外部加密模块(如智能卡或令牌环):

激活 FIPS-140 加密标准之前,必须添加 PKCS #11 模块。

本节包含以下主题:

安装 PKCS #11 模块

Proxy Server 支持公钥加密标准 (Public Key Cryptography Standard, PKCS) #11,该标准定义了在 SSL 和 PKCS #11 模块之间通信所使用的接口。PKCS #11 模块用于指向 SSL 硬件加速器的基于标准的连接。外部硬件加速器的已导入证书和密钥存储在 secmod.db 文件中,该文件在安装 PKCS #11 模块时生成。该文件位于 server-root/alias 目录中。

使用工具 modutil 安装 PKCS #11 模块

可使用 modutil 工具以 .jar 文件或对象文件形式安装 PKCS #11 模块

Procedure使用工具 modutil 安装 PKCS #11 模块

  1. 确保关闭了所有服务器(包括 Administration Server)。

  2. 转至包含数据库的 server-root/alias 目录。

  3. server-root/bin/proxy/admin/bin 添加到 PATH 中。

  4. server-root /bin/proxy/admin/bin 中找到 modutil

  5. 设置环境。

    • 在 UNIX 上:setenv

      LD_LIBRARY_PATH server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

    • 在 Windows 上,将以下内容添加到 PATH

      LD_LIBRARY_PATH server-root/bin/proxy/bin

      您会发现您计算机的 PATH 列在 server-root/proxy-admserv/start 下。

  6. 在终端窗口中,键入 modutil

    将列出各种选项。

  7. 执行所需的操作。

    例如,要在 UNIX 中添加 PKCS #11 模块,请输入:

    modutil -addPKCS#11 文件的名称-libfile用于 PKCS #11 的 libfile-nocertdb -dbdir数据库目录)。

使用工具 pk12util 导出

使用 pk12util 可以将证书和密钥从内部数据库导出,以及将其导入到内部或外部 PKCS #11 模块。您可以将证书和密钥始终导出到内部数据库中,但多数外部令牌不会允许您导出证书和密钥。默认情况下,pk12util 使用名为 cert8.dbkey3.db 的证书数据库和密钥数据库。

Procedure从内部数据库导出证书和密钥

  1. 转至包含数据库的 server-root/alias 目录。

  2. server-root/bin/proxy/admin/bin 添加到 PATH 中。

  3. server-root /bin/proxy/admin/bin 中找到 pk12util

  4. 设置环境。

    • 在 UNIX 上:

      setenv LD_LIBRARY_PATH/ server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

    • 在 Windows 上,将以下内容添加到 PATH

      LD_LIBRARY_PATH server-root/bin/proxy/bin

      您可以在以下位置找到您计算机的 PATH:server-root/proxy-admserv/start

  5. 在终端窗口中,键入 pk12util

    将列出各种选项。

  6. 执行所需的操作。

    例如,在 UNIX 中键入

    pk12util -o certpk12 -n Server-Cert [-d /server/alias] [-P https-test-host]

  7. 键入数据库密码。

  8. 键入 pkcs12 密码。

Procedure将证书和密钥导入内部或外部 PKCS #11 模块

  1. 转至包含数据库的 server-root/alias 目录。

  2. server-root/bin/proxy/admin/bin 添加到 PATH 中。

  3. server-root /bin/proxy/admin/bin 中找到 pk12util

  4. 设置环境。

    例如:

    • 在 UNIX 上:

      setenv LD_LIBRARY_PATH/ server-root/bin/proxy/lib:${LD_LIBRARY_PATH}

      • 在 Windows,将以下内容添加到 PATH

        LD_LIBRARY_PATH server-root/bin/proxy/bin

        可在 server-root/proxy-admserv/start 中找到您计算机的 PATH。

  5. 在终端窗口中,键入 pk12util

    将列出各种选项。

  6. 执行所需的操作。

    例如,在 UNIX 中输入:

    pk12util -i pk12_sunspot [-d certdir][-h “nCipher”][-P https-jones.redplanet.com-jones-]

    -P 必须跟在 -h 之后,且必须是最后一个参数。

    键入正确的令牌名称,包括大写字母和引号之间的空格。

  7. 键入数据库密码。

  8. 键入 pkcs12 密码。

使用外部证书启动服务器

如果将服务器的证书安装到外部 PKCS #11 模块(如硬件加速器),服务器将无法使用该证书启动,除非对 server.xml 文件进行编辑,或按如下所述指定证书名。

服务器会始终尝试使用名为 Server-Cert 的证书启动。但是,外部 PKCS #11 模块中的证书在其标识符中包括模块的某个令牌名称。例如,名为 smartcard0 的外部智能卡读取器上安装的服务器证书应命名为 smartcard0:Server-Cert

要使用安装在外部模块中的证书启动服务器,必须为在其上运行服务器的侦听套接字指定证书名称。

Procedure为侦听套接字选择证书名称

如果未在侦听套接字上启用安全性,将不会列出证书的信息。要为侦听套接字选择证书名称,首先必须确保已在该侦听套接字上启用了安全性。有关更多信息,请参见为侦听套接字启用安全性

  1. 访问 Administration Server 或 Server Manager,然后单击 "Preferences" 选项卡。

  2. 单击 "Edit Listen Sockets" 链接。

  3. 单击要与证书关联的侦听套接字的链接。

  4. 从 "Server Certificate Name" 下拉式列表中为侦听套接字选择服务器证书,然后单击 "OK"。

    该列表中包含了所有已安装的内部和外部证书。

    但您也可以手动编辑 server.xml 文件,让服务器使用该服务器证书启动。将 SSLPARAMS 中的 servercertnickname 属性更改为:

    $TOKENNAME:Server-Cert

    要查找 $TOKENNAME 使用的值,请转至服务器的 "Security" 选项卡并选择 "Manage Certificates" 链接。当您登录到存储 Server-Cert 的外部模块时,$TOKENNAME:$NICKNAME 表单的列表中将显示其证书。

    如果未创建信任数据库,当申请或安装外部 PKCS #11 模块的证书时,将会为您创建一个信任数据库。创建的默认数据库没有密码,且无法访问。外部模块将工作,但您不能申请和安装服务器证书。如果创建了没有密码的默认数据库,请使用 "Security" 选项卡上的 "Create Database" 页面设置密码。

FIPS-140 标准

通过 PKCS #11 API,您可以与执行加密操作的软件或硬件模块进行通信。在 Proxy Server 上安装了 PKCS #11 之后,可以配置服务器使其符合 FIPS-140。FIPS 表示联邦信息处理标准 (Federal Information Processing Standard)。这些库仅包含在 SSL 3.0 中。

Procedure启用 FIPS-140

  1. 按照 FIPS-140 中的说明安装该插件。

  2. 访问 Administration Server 或 Server Manager,然后单击 "Preferences" 选项卡。

  3. 单击 "Edit Listen Sockets" 链接。

    对于安全侦听套接字,"Edit Listen Sockets" 页面将显示可用的安全性设置。

    要使用 FIPS-140,请确保已在选定侦听套接字上启用了该安全性。有关更多信息,请参见为侦听套接字启用安全性

  4. 从 "SSL Version 3" 下拉式列表中选择 "Enabled"(如果尚未选定)。

  5. 选择相应的 FIPS-140 加密算法套件,然后单击 "OK":

    • 启用 Triple DES(168 位加密)和 SHA 验证 (FIPS)

      • 启用 DES(56 位加密)和 SHA 验证 (FIPS)