3.1 替换临时的 iManager 自我签名证书

独立的 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 文档。

3.1.1 在 Linux 上替换 iManager 自我签名证书

本节介绍了在 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 上替换自我签名证书,请执行以下操作:

  1. 要创建新证书,请完成以下步骤:

    1. 登录到 iManager。

    2. 单击 NetIQ 证书服务器 > 创建服务器证书

    3. 选择相应的服务器。

    4. 指定服务器的绰号。

    5. 接受其余的证书默认值。

  2. 要将服务器证书导出到 Tomcat 用户主目录,请完成以下步骤:

    1. 在 iManager 中,选择目录管理 > 修改对象

    2. 浏览到关键材料对象 (KMO) 对象并选择该对象。

    3. 单击证书 > 导出

    4. 指定口令。

    5. /var/opt/novell/novlwww 目录中将服务器证书保存为 PKCS#12 (.pfx)。

  3. 要将 .pfx 文件转换为 .pem 文件,请完成以下步骤:

    1. 输入一条命令,例如 openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem

    2. 为证书指定您在步骤 2 中指定的同一个口令。

    3. 为新的 .pem 文件指定一个口令。

      如果需要,可以使用相同的口令。

  4. 要将 .pem 文件转换为 .p12 文件,请完成以下步骤:

    1. 输入一条命令,例如 openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"

    2. 为证书指定您在步骤 3 中指定的同一个口令。

    3. 为新的 .p12 文件指定一个口令。

      如果需要,可以使用相同的口令。

  5. 要停止 Tomcat,请输入以下命令:

    /etc/init.d/novell-tomcat8 stop
    
  6. 为确保 Tomcat 使用新建的 .p12 证书文件,请将 keystoreTypekeystoreFilekeystorePass 变量添加到 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 主路径。

  7. 为确保 .p12 证书文件正常工作,请完成以下步骤:

    1. 将该文件的所有权更改为相应的 Tomcat 用户/组,默认为 novlwww。例如:chown novlwww:novlwww newtomcert.p12

    2. 将文件许可权限更改为 user=rwgroup=rwothers=r。例如:chmod 654 newtomcert.p12

  8. 要重启动 Tomcat,请输入以下命令:

    /etc/init.d/novell-tomcat8 start
    

3.1.2 在 Windows 上替换 iManager 自我签名证书

本节介绍了在 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 上替换自我签名证书,请执行以下操作:

  1. 要创建新证书,请完成以下步骤:

    1. 登录到 iManager。

    2. 单击 NetIQ 证书服务器 > 创建服务器证书

    3. 选择相应的服务器。

    4. 指定服务器的绰号。

    5. 接受其余的证书默认值。

  2. 要导出服务器证书,请完成以下步骤:

    1. 在 iManager 中,选择目录管理 > 修改对象

    2. 浏览到关键材料对象 (KMO) 对象并选择该对象。

    3. 单击证书 > 导出

    4. 指定口令。

    5. 将服务器证书另存为 PKCS#12 (.pfx)。

  3. 要将 .pfx 文件转换为 .pem 文件,请完成以下步骤:

    注:默认情况下,Windows 上未安装 OpenSSL。但是,您可以从 OpenSSL 网站下载适用于 Windows 平台的版本。此外,还可以在 Linux 平台上转换证书;默认情况下,该平台上会安装 OpenSSL。有关使用 Linux 转换文件的详细信息,请参见部分 3.1, 替换临时的 iManager 自我签名证书

    1. 输入一条命令,例如 openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem

    2. 为证书指定您在步骤 2 中指定的同一个口令。

    3. 为新的 .pem 文件指定一个口令。

      如果需要,可以使用相同的口令。

  4. 要将 .pem 文件转换为 .p12 文件,请完成以下步骤:

    1. 输入一条命令,例如 openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"

    2. 为证书指定您在步骤 3 中指定的同一个口令。

    3. 为新的 .p12 文件指定一个口令。

      如果需要,可以使用相同的口令。

  5. .p12 文件复制到 Tomcat 证书位置(默认为 C:\Program Files\Novell\Tomcat\conf\ssl\)。

  6. 要停止 Tomcat 服务,请输入以下命令:

    /etc/init.d/novell-tomcat8 stop
    
  7. 为确保 Tomcat 使用新建的 .p12 证书文件,请将 keystoreTypekeystoreFilekeystorePass 变量添加到 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 用户主路径。

  8. 启动 Tomcat 服务。