[IBM i]

密码编码和加密

通过密码编码可以阻止偶然查看服务器配置和属性文件中的密码。

缺省情况下,使用各种 WebSphere® Application Server ASCII 配置文件中的简单屏蔽算法自动对密码进行编码。 此外,您可以手动对 Java™ 客户机和 WebSphere Application Server的管理命令所使用的属性文件中的密码进行编码。

缺省编码算法称为 XOR。 经过编码的密码使用以下语法:
{algorithm}encoded_password
其中 {algorithm} 是一个标记,用于指定用于对密码进行编码的算法。 encoded_password 变量是密码的编码值。 当服务器或客户机需要对密码解码时,它就会使用该标记来确定使用哪种算法,然后使用该算法来对经过编码的密码进行解码。

Java 客户机使用 sas.client.props 文件中的密码,该文件位于 profile_root/properties 目录中。

要将密码编码用于 Java 客户机,必须使用 PropFilePasswordEncoder 工具在 sas.client.props 文件中手动编码密码。

WebSphere Application Server 的管理命令将 soap.client.props 文件 (也位于 profile_root/properties 目录中) 中的密码用于 SOAP 连接。 某些管理命令 (可选) 将 profile_root/properties 中的 sas.client.props 文件中的密码用于远程方法调用 (RMI) 连接。 要将密码编码与管理命令配合使用,必须使用 PropFilePasswordEncoder 工具手动对 soap.client.propssas.client.props 文件中的密码进行编码。

注意: 仅靠编码算法不足以完全保护密码。 本机安全性是保护 WebSphere Application Server的配置和属性文件中使用的密码的主要机制。

使用密码编码算法时要考虑的问题

在决定使用密码编码算法之前,请务必考虑以下问题:
  • 必须将 QRETSVRSEC 操作系统值设置为 1 ,才能在托管 Java 客户机应用程序或 WebSphere Application Server的系统上使用。 通过此设置, WebSphere Application Server 可以从验证列表中检索加密密码。
    注意: QRETSVRSEC 系统值会影响对操作系统上所有验证列表中加密数据的访问。 如果此设置与操作系统的安全策略不一致,请不要使用密码编码算法。
  • 仅当 WebSphere Application Server 的管理域中的所有服务器实例都位于同一 IBM® i 系统上时,才能将密码编码算法用于服务器实例。 应考虑下列相关问题:
    • WebSphere Application Server 的管理域可以跨多个 IBM i 系统进行扩展。 仅当管理域中的所有服务器都位于同一 IBM i 系统上时,才能使用密码算法。
    • 服务器配置 XML 文件包含经过编码的密码。 如果使用编码算法对 XML 文件中包含的密码进行编码,那么这些编码仅对最初编码密码的同一 IBM i 系统上的应用程序服务器概要文件有效。 包含使用编码算法编码的密码的配置文件副本不能用于在其他 IBM i 系统上配置服务器。
    • 必须将一个管理域中的所有服务器实例配置为使用同一本地验证列表 (*VLDL) 对象。
  • 如果在对密码进行编码时发生错误,那么将使用 XOR 编码算法对密码进行编码。 如果管理员手动创建验证列表对象并对 IBM i QEJB 用户概要文件的验证列表对象授予的权限不足,那么可能会发生错误。