通过导出和导入 DAS 证书,可以使 DAS 成为 Web Server 的受信任客户机。使用 DAS 证书的客户机验证可确保只有 DAS 作为受信任客户机连接到 Web Server。
打开终端窗口,并使用以下命令设置 LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/opt/SUNWappserver/lib
如果使用的是 Application Server 9.1,请通过执行以下命令导出 DAS 证书。DAS 证书同时用作服务器证书和客户机证书。
<appserver_install_dir>/lib/upgrade/pk12util -d <domain root>/config -o s1as.p12 -W <s1as.pk12-file-password> -K <master password> -n s1as
如果使用的是 GlassFish v2,请使用名为 keytool 的 Java SE 5.0 安全工具导出以别名 "s1as" 命名的 DAS 证书。执行此操作时,选择 -rfc 选项以可打印编码格式(如 Internet RFC 1421 标准所定义)导出证书。
从命令行,可以使用以下命令导出 DAS 证书:
<JAVA_HOME>/bin/keytool -export -rfc -alias s1as -keystore <GLASSFISH_HOME>/domains/<DOMAIN_NAME>/config/keystore.jks-file s1as.rfc
其中,<GLASSFISH_HOME> 表示 Application Server 安装目录,<DOMAIN_NAME> 表示要导出其证书的域。
将证书文件复制到 Web 服务器配置目录。
如果使用的是 Application Server 9.1,请将 DAS 证书导入到 Web Server 实例中,并使用以下命令设置证书的信任属性:
<webserver_install_dir>/bin/pk12util -i <path_to_s1as.pk12-file> -d <webserver_install_dir>/admin-server/config-store/<default-config-name>/config -K <webserver security db password> -W <s1as.pk12-file-passwd>
<webserver_install_dir>/bin/certutil -M -n s1as -t "TCu" -d <webserver_install_dir>/admin-server/config-store/<default-config-name>/config
这些命令将使 Application Server CA 成为受信任的 CA 以同时签署客户机证书和服务器证书。
如果使用的是 GlassFish v2,请从使用 NSS 安全工具 certutil 创建的 rfc 文件导入 DAS 证书。
<webserver_install_dir>/bin/certutil -A -a -n s1as -t "TCu" -i s1as.rfc -d <webserver_install_dir>/admin-server/config-store/<CONFIG_NAME>/config
其中,<webserver_install_dir> 表示 Web 服务器安装目录,<CONFIG_NAME> 表示为默认 Web 服务器实例创建的配置名称。
可以使用以下命令检查此证书是否存在,将列出 s1as 证书以及其他 CA 证书(包括默认的服务器证书)。确保在单行中键入整个命令。
<webserver_install_dir>/bin/certutil -L -d <webserver_install_dir>/admin-server/config-store/ <DEFAULT_CONFIG_NAME>/config
也可以使用 Web Server 管理控制台对此进行查看。选择已向其导入证书的配置(本例中为默认配置),然后选择“证书”选项卡。要查看所有的可用证书,请选择“证书颁发机构”子选项卡。
如果使用的是 GlassFish v2,请对 Web Server 7 进行以下配置更改。如果使用的是 Application Server 9.1,可以跳到下一步。
在位于 <WS_INSTALL_ROOT>/admin-server/config-store/<DEFAULT_CONFIG_NAME>/config/ 的 obj.conf 文件中附加以下行。确保在键入这些行时没有包含任何结尾空格。
<Object ppath="*lbconfigupdate*"> PathCheck fn="get-client-cert" dorequest="1" require="1" </Object> <Object ppath="*lbgetmonitordata*"> PathCheck fn="get-client-cert" dorequest="1" require="1" </Object>
部署该配置。进行前面步骤中列出的更改时,管理控制台将此配置标记为要部署。
从 GlassFish DAS 测试此设置,以查看它是否通过 SSL 与已配置的 HTTP 负载平衡器进行通信。有关更多信息,请参见验证安装。