注:本部分的信息不适用于 OES Linux(OES Linux 同时安装 Tomcat 和 Apache)。有关替换自我签名的 Apache/Tomcat 证书的信息,请参见 OES Linux 文档。
独立的 iManager 安装包括 Tomcat 使用的自我签名临时证书。有效期为一年。
这并不是一个长期的实施方案,而是一个临时的解决方案,使您的系统启动并运行,以便可以在安装之后立即安全地使用 iManager。除了为了测试目的,OpenSSL 不建议使用自签名证书。
替换自签名证书的一个难题是 Tomcat 的默认密钥存储区在 Tomcat (JKS) 格式文件中使用该证书。用于修改此密钥存储区的工具 keytool 无法导入私钥。只能使用自生成的密钥。
如果使用的是 eDirectory,可以使用 Novell 证书服务器安全地生成、跟踪、存储和撤销证书(不需要进一步投资)。要使用 Novell 证书服务器在 eDirectory 中生成公钥/私钥对,请完成下面适合您的平台的步骤:
下列说明介绍如何基于 Linux 平台在 eDirectory 中创建密钥对并通过 PKCS#12 文件导出公钥、私钥和根证书颁发机构 (CA) 密钥。其中包括修改 Tomcat 的 server.xml 配置文件,以便使用 PKCS12 指令并使配置指向实际的 P12 文件,而不是使用默认的 JKS 密钥存储区。
此过程使用以下文件:
临时密钥对保存在 /var/opt/novell/novlwww/.keystore 文件中。
可信根包含在 /opt/novell/jdk1.7.0_25/jre/lib/security/cacerts 文件中。
用于配置 Tomcat 的证书使用情况的文件是 /etc/opt/novell/tomcat7/server.xml。
使用 iManager 创建新的服务器证书。
在 iManager 中,单击 > 。选择相应的服务器,然后指定绰号并接受证书的其他默认值。
将该服务器证书导出到 Tomcat 主目录 (/var/opt/novell/novlwww)。在 iManager 中,选择 > 。浏览到关键材料对象 (KMO) 对象并选择该对象。在选项卡中,选择。指定口令,并将该服务器证书另存为 PKCS#12 (.pfx)。
将 .pfx 文件转换为 .pem 文件。
要执行此操作,可使用类似如下所示的命令:
openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
指定在步骤 2中指定的证书口令,然后为新的 .pem 文件指定口令。如果需要,可以使用相同的口令。
将 .pem 文件转换为 .p12 文件。
要执行此操作,可使用类似如下所示的命令:
openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
指定在步骤 3中指定的证书口令,并为新的 .p12 文件指定口令。如果需要,可以使用相同的口令。
输入以下命令可停止 Tomcat:
/etc/init.d/novell-tomcat7 stop
编辑 Tomcat 配置文件 (/etc/opt/novell/tomcat7.0.42/server.xml) 并添加 keystoreType、keystoreFile 和 keystorePass 变量,从而允许 Tomcat 使用新创建的 .p12 证书文件。例如:
<Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
acceptCount="100" debug="0" scheme="https" secure="true"
useURIValidationHack="false" disableUploadTimeout="true">
<Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/var/opt/novell/novlwww/newtomcert.p12" keystorePass="password" />
</Connector>
注:将密钥存储区类型设置为 PKCS12 时,必须指定证书文件的整个路径,因为 Tomcat 不再默认使用 Tomcat 主路径。
将 .p12 文件的所有权更改为相应的 Tomcat 用户/组(通常是 novlwww),并将文件权限设置为 user=rw、group=rw 和 others=r。例如:
chown novlwww:novlwww newtomcert.p12
chmod 654 newtomcert.p12
输入以下命令可重启动 Tomcat:
/etc/init.d/novell-tomcat7 start
下列说明介绍在 Windows 平台上,如何在 eDirectory 中创建密钥对并通过 PKCS#12 文件导出公钥、私钥和根证书颁发机构 (CA) 密钥. 其中包括修改 Tomcat 的 server.xml 配置文件,以便使用 PKCS12 指令并使配置指向实际的 P12 文件,而不是使用默认的 JKS 密钥存储区。
与此进程关联的文件及其默认位置如下所示:
临时密钥对:C:\Program Files\Novell\Tomcat\conf\ssl\.keystore。
可信根证书:C:\Program Files\Novell\jre\lib\security\cacerts。
配置 Tomcat 证书的使用: C:\Program Files\Novell\Tomcat\conf\server.xml
使用 iManager 创建新的服务器证书。
在 iManager 中,单击 > 。选择相应的服务器,然后指定绰号并接受证书的其他默认值。
导出服务器证书。在 iManager 中,选择 > 。浏览到相应的 KMO 对象并选择该对象。在选项卡中,选择。指定口令,并将该服务器证书另存为 PKCS#12 (.pfx)。
将 .pfx 文件转换为 .pem 文件。
注:默认情况下,Windows 上不安装 OpenSSL,但是在 OpenSSL 网站上提供适合 Windows 平台的版本。此外,还可以在 Linux 平台上转换证书,默认情况下,该平台上会安装 OpenSSL。
要执行此操作,可使用类似如下所示的命令:
openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
指定在步骤 2中指定的证书口令,并为新的 .pem 文件指定口令。如果需要,可以使用相同的口令。
将 .pem 文件转换为 .p12 文件。
要执行此操作,可使用类似如下所示的命令:
openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
指定在步骤 3中指定的证书口令,并为新的 .p12 文件指定口令。如果需要,可以使用相同的口令。
将 .p12 文件复制到 Tomcat 证书所在的位置。
默认情况下,此位置是 C:\Program Files\Novell\Tomcat\conf\ssl\。
停止 Tomcat 服务。
/etc/init.d/novell-tomcat7 stop
编辑 Tomcat 的 server.xml 并添加 keystoreType、keystoreFile 和 keystorePass 变量,使 Tomcat 使用新创建的 .p12 证书文件。例如:
<Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
acceptCount="100" debug="0" scheme="https" secure="true"
useURIValidationHack="false" disableUploadTimeout="true">
<Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/conf/ssl/newtomcert.p12" keystorePass="password" />
将密钥存储区类型设置为 PKCS12 时,必须指定证书文件的整个路径,因为 Tomcat 将不再默认使用 Tomcat 主路径。
启动 Tomcat 服务。