独立的 iManager 安装包括 Tomcat 使用的自我签名临时证书。此证书有效期为一年。NetIQ 提供此证书的目的是帮助您启动并运行系统,便于您在安装产品后可立即安全地使用 iManager。NetIQ 和 OpenSSL 不建议将自我签名证书用于测试以外的用途。您应将临时证书替换为安全证书。
Tomcat 将自我签名证书储存在使用 Tomcat (JKS) 格式文件的密钥存储区中。通常,您可以导入私用密钥来替换该证书。但是,用于修改 Tomcat 密钥存储区的 keytool 无法导入私用密钥。该工具只能使用自我生成的密钥。
本节说明了如何使用 NetIQ 证书服务器在 eDirectory 中生成公共/私用密钥对,以及如何替换临时证书。如果使用的是 eDirectory,您可以使用 NetIQ 证书服务器安全地生成、跟踪、储存和撤消证书,而无需进一步投资。
注:本部分的信息不适用于 OES Linux(OES Linux 同时安装 Tomcat 和 Apache)。有关替换自签名的 Apache/Tomcat 证书的信息,请参见 OES Linux 文档。
本节介绍了在 Linux 平台上,如何于 eDirectory 中创建密钥对,以及如何通过 PKCS#12 文件导出公共密钥、私用密钥和根证书颁发机构 (CA) 密钥。其中包括修改 Tomcat 的 server.xml 配置文件,以使用 PKCS12 指令并使配置指向实际的 P12 文件,而不是使用默认的 JKS 密钥存储区。
此过程使用以下文件:
/var/opt/novell/novlwww/.keystore,用于保存临时密钥对
/opt/novell/jdk1.8.0_66/jre/lib/security/cacerts,用于保存可信根证书
/etc/opt/novell/tomcat8/server.xml,用于配置 Tomcat 的证书用法
要在 Linux 上替换自我签名证书,请执行以下操作:
要创建新证书,请完成以下步骤:
登录到 iManager。
单击 NetIQ 证书服务器 > 创建服务器证书。
选择相应的服务器。
指定服务器的绰号。
接受其余的证书默认值。
要将服务器证书导出到 Tomcat 用户主目录,请完成以下步骤:
在 iManager 中,选择目录管理 > 修改对象。
浏览到关键材料对象 (KMO) 对象并选择该对象。
单击证书 > 导出。
指定口令。
在 /var/opt/novell/novlwww 目录中将服务器证书保存为 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-tomcat8 stop
为确保 Tomcat 使用新建的 .p12 证书文件,请将 keystoreType、keystoreFile 和 keystorePass 变量添加到 Tomcat 配置文件(默认为 /etc/opt/novell/tomcat8.0.22/server.xml)。例如:
<Connector className="org.apache.coyote.tomcat8.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.tomcat8.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/var/opt/novell/novlwww/newtomcert.p12" keystorePass="password" />
</Connector>
注:将密钥存储区类型设置为 PKCS12 时,必须指定证书文件的整个路径,因为 Tomcat 将不再默认使用 Tomcat 主路径。
为确保 .p12 证书文件正常工作,请完成以下步骤:
将该文件的所有权更改为相应的 Tomcat 用户/组,默认为 novlwww。例如:chown novlwww:novlwww newtomcert.p12。
将文件许可权限更改为 user=rw、group=rw 和 others=r。例如:chmod 654 newtomcert.p12。
要重启动 Tomcat,请输入以下命令:
/etc/init.d/novell-tomcat8 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,用于保存可信根证书
C:\Program Files\Novell\Tomcat\conf\server.xml,用于配置 Tomcat 的证书用法
要在 Windows 上替换自我签名证书,请执行以下操作:
要创建新证书,请完成以下步骤:
登录到 iManager。
单击 NetIQ 证书服务器 > 创建服务器证书。
选择相应的服务器。
指定服务器的绰号。
接受其余的证书默认值。
要导出服务器证书,请完成以下步骤:
在 iManager 中,选择目录管理 > 修改对象。
浏览到关键材料对象 (KMO) 对象并选择该对象。
单击证书 > 导出。
指定口令。
将服务器证书另存为 PKCS#12 (.pfx)。
要将 .pfx 文件转换为 .pem 文件,请完成以下步骤:
注:默认情况下,Windows 上未安装 OpenSSL。但是,您可以从 OpenSSL 网站下载适用于 Windows 平台的版本。此外,还可以在 Linux 平台上转换证书;默认情况下,该平台上会安装 OpenSSL。有关使用 Linux 转换文件的详细信息,请参见部分 3.1, 替换临时的 iManager 自我签名证书。
输入一条命令,例如 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-tomcat8 stop
为确保 Tomcat 使用新建的 .p12 证书文件,请将 keystoreType、keystoreFile 和 keystorePass 变量添加到 Tomcat server.xml 文件。例如:
<Connector className="org.apache.coyote.tomcat8.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.tomcat8.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/conf/ssl/newtomcert.p12" keystorePass="password" />
在将密钥存储区类型设置为 PKCS12 时,必须指定证书文件的完整路径,因为 Tomcat 不再默认使用 Tomcat 用户主路径。
启动 Tomcat 服务。