第 58 章 使用密钥存储保护密码
您可以使用密钥存储来加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时对控制器和 KIE 服务器密码进行加密。如果 Business Central 和 KIE 服务器部署到不同的应用程序服务器,则两个应用服务器都应该使用密钥存储。
为您的密钥存储使用 Java Cryptography Extension KeyStore(JCEKS),因为它支持对称密钥。使用 KeyTool 作为 JDK 安装的一部分,可以创建一个新的 JCEKS。
如果没有使用 JCEKS 配置 KIE 服务器,则 KIE 服务器密码以纯文本形式保存在系统属性中。
先决条件
- KIE 服务器安装在 Oracle WebLogic Server 中。
-
已创建具有
kie-server
角色的 KIE 服务器用户,如 第 54.1 节 “配置 KIE 服务器组和用户” 所述。 - 已安装 Java 8 或更高版本。
流程
要使用 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
> : 条目的别名
-
- 在提示时,输入您创建的 KIE 服务器用户的密码。
设置下表中列出的系统属性:
表 58.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 的别名密码,其存储的密码
- 启动 KIE 服务器以验证配置。