第 61 章 使用密钥存储保护密码

您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。

将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。使用 KeyTool (作为 JDK 安装的一部分)创建新的 JCEKS。

注意

如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。

先决条件

流程

  1. 要使用 KeyTool 创建 JCEKS,请在 Java 8 主目录中输入以下命令:

    $<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS

    在本例中,替换以下变量:

    • <KEYSTORE_PATH > :存储密钥存储的路径
    • <KEYSTORE_PASSWORD > :密钥存储密码
    • <ALIAS_KEY_PASSWORD > :用于访问别名存储的值的密码
    • <PASSWORD_ALIAS > :对进程的条目的别名
  2. 提示时,输入您创建的 KIE 服务器用户的密码。
  3. 设置下表中列出的系统属性:

    表 61.1. 用于载入 KIE 服务器 JCEKS 的系统属性

    系统属性占位符描述

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    要使用的 JCEKS 的 URL,如 file:///home/kie/keystores/keystore.jceks

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS 的密码

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    保存密码的 REST 服务的密钥别名

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    使用存储的密码的 REST 服务的别名密码

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    存储密码的默认 REST Process Automation Controller 的密钥别名

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    使用存储密码的默认 REST Process Automation Controller 别名的密码

  4. 启动 KIE 服务器以验证配置。