20.1 创建与 Identity Manager 引擎的安全连接

您必须确保在 Remote Loader 与 Identity Manager 引擎之间传输数据的安全。NetIQ 建议使用传输层安全性/安全套接字层 (TLS/SSL) 协议进行通讯。要支持 TLS/SSL 连接,需要有密钥存储区文件或 KMO 中储存的相应自我签名证书。本节说明了如何创建、导出和储存该证书。

注:在托管 Identity Manager 引擎和 Remote Loader 的服务器上使用相同 SSL 版本。如果该服务器与 Remote Loader 上的 SSL 版本不匹配,服务器将返回 SSL3_GET_RECORD:错误的版本号错误讯息。此讯息仅作警告之用,服务器与 Remote Loader 之间的通讯并不会中断。但是,该错误可能会让用户感到困惑。

20.1.1 了解通讯过程

Remote Loader 会打开客户端套接字,并监听来自远程接口 Shim 的连接。远程接口 shim 和 Remote Loader 会执行 SSL 握手,以建立安全通道。然后,远程接口 shim 将鉴定到 Remote Loader。如果远程接口 shim 的鉴定成功,Remote Loader 将鉴定到远程接口 shim。只有双向鉴定确认双方使用授权的实体进行通讯后,同步交通才能进行。

在驱动程序与 Identity Manager 引擎之间建立 SSL 连接的过程取决于驱动程序的类型:

注:Remote Loader 允许在 Remote Loader 和 Identity Manager 服务器上托管的远程接口 shim 之间使用自定义连接方法。要配置自定义连接模块,请参见该模块随附文档中有关连接字符串中预期的和允许内容的信息。

20.1.2 管理自我签名的服务器证书

您可以创建和导出自我签名的服务器证书,以确保在 Remote Loader 与 Identity Manager 引擎之间进行安全通讯。如需额外的安全保障,您可以按照 Suite B 指定为 SSL 通讯配置较严密的密码。此通讯需要使用 ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)证书来加密数据。启用 Suite B 时,Remote Loader 使用 TLS 1.2 作为通讯协议。有关 Suite B 的详细信息,请参见“Suite B Cryptography”(Suite B 加密法)。

您可以导出新创建的证书,也可以使用现有证书。

注:如果服务器加入树,eDirectory 将创建以下默认证书:

  • SSL CertificateIP

  • SSL CertificateDNS

  • 符合 Suite B 要求的证书

  1. 登录到 NetIQ iManager。

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

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

    2. 选择拥有该证书的服务器。

    3. 指定证书的绰号。例如:remotecert。

      注:NetIQ 建议不要在证书绰号中使用空格。例如,使用 remotecert 而不要使用 remote cert。

      还需要记录证书绰号。此绰号将在驱动程序的远程连接参数中用作 KMO 名称。

    4. 选择证书创建方法,然后单击下一步。

      您可以选择以下选项:

      • 标准: 该选项会使用可能的最大密钥大小创建服务器证书对象,并使用您的组织 CA 对公共密钥证书签名。

      • 自定义: 此选项会使用您指定的设置创建服务器证书对象。它可让您为服务器证书对象设置一些自定义设置。选择此选项可创建 ECDSA 证书以用于 Suite B 通讯。

      • 导入: 此选项会使用 PKCS12 (PFX) 文件中的密钥和证书创建服务器证书对象。您可以将该选项结合“导出”功能一起使用,以备份和恢复服务器证书或将服务器证书对象从一台服务器移至另一台服务器。

    5. 指定证书参数。

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

    7. 复查摘要,单击完成,然后单击关闭。

  3. 要导出证书,请完成以下步骤:

    1. 在 iManager 中,导航到角色和任务 > NetIQ 证书访问 > 服务器证书。

    2. 浏览并选择已创建的证书或服务器创建的证书(例如 SSL CertificateDNS)。

    3. 单击导出。

    4. 从下拉菜单中选择 OU=organization CA.O=TREEANAME 作为 CA 证书。

    5. 从下拉菜单中选择 BASE64 > 导出格式。

      注:如果 Remote Loader 要在 Windows 2012 R2 64 位服务器上运行,证书必须采用 Base64 格式。如果您使用 DER 格式,Remote Loader 将无法连接到 Identity Manager 引擎。

    6. 单击下一步。

    7. 单击保存,然后单击关闭。

20.1.3 使用 SSL 连接时创建密钥存储区文件

要在 Java 驱动程序与 Identity Manager 引擎之间使用 SSL 连接,您必须创建一个密钥存储区。密钥存储区是一个 Java 文件,其中包含加密钥、可能还包含证书(可选)。如果要在 Remote Loader 与 Identity Manager 引擎之间使用 SSL,并且要使用 Java shim,那么,您需创建一个密钥存储区文件。以下章节说明了如何创建密钥存储区文件:

在任何平台上创建密钥存储区

要在任意平台上创建密钥存储区,可以在命令行中输入以下内容:

keytool -import -alias trustedroot -file self-signed_certificate_name -keystore filename -storepass keystorepass

文件名可以是任意名称。例如:rdev_keystore。

在 Linux 上创建密钥存储区

在 Linux 环境中,请使用 create_keystore 文件,这是一个调用 Keytool 实用程序的外壳脚本。该文件已随 rdxml 一起安装,默认情况下位于 install_directory/dirxml/bin 目录中。\dirxml\java_remoteloader 目录下的 dirxml_jremote.tar.gz 文件中也包含了 create_keystore 文件。

注:在 UNIX 计算机上,如果使用自我签名证书创建密钥存储区,可以将该证书导出为 Base64 或二进制 DER 格式。

在命令行中输入以下内容:

create_keystore self-signed_certificate_name keystorename

例如,键入以下任意一条内容

create_keystore tree-root.b64 mystore
create_keystore tree-root.der mystore

create_keystore 脚本指定密钥存储区口令的“dirxml”硬编码口令。由于密钥存储区中仅储存一个公共证书和一个公共密钥,因此不具有安全风险。

在 Windows 上创建密钥存储区

在 Windows 计算机上,运行默认位于 c:\novell\remoteloader\jre\bin 目录中的 Keytool 实用程序。