第 37 章 使用密钥存储保护密码
您可以使用密钥存储加密用于 Business Central 和 KIE 服务器之间的通信的密码。您应该同时加密控制器和 KIE 服务器密码。如果 Business Central 和 KIE 服务器部署到不同的应用服务器,则两个应用服务器都应该使用密钥存储。
将 Java Cryptography Extension KeyStore (JCEKS)用于密钥存储,因为它支持对称密钥。使用 KeyTool (作为 JDK 安装的一部分)创建新的 JCEKS。
如果没有配置 KIE 服务器,则 KIE 服务器密码会以纯文本形式存储在系统属性中。
先决条件
- KIE 服务器在 Red Hat JBoss Web Server 中安装。
- 安装了 Java 8 或更高版本。
流程
-
在文本编辑器中打开
JWS_HOME/tomcat/conf/tomcat-users.xml文件。 将带有
kie-server角色的 KIE Server 用户添加到JWS_HOME/tomcat/conf/tomcat-users.xml文件中。在以下示例中,将 <USER_NAME> 和 <PASSWORD> 替换为您选择的用户名和密码。<role rolename="kie-server"/> <user username="<USER_NAME>" password="<PASSWORD>" roles="kie-server"/>
<role rolename="kie-server"/> <user username="<USER_NAME>" password="<PASSWORD>" roles="kie-server"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用 KeyTool 创建 JCEKS,请在 Java 8 主目录中输入以下命令:
$<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKS
$<JAVA_HOME>/bin/keytool -importpassword -keystore <KEYSTORE_PATH> -keypass <ALIAS_KEY_PASSWORD> -alias <PASSWORD_ALIAS> -storepass <KEYSTORE_PASSWORD> -storetype JCEKSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,替换以下变量:
-
<KEYSTORE_PATH> :存储密钥存储的路径 -
<KEYSTORE_PASSWORD> :密钥存储密码 -
<ALIAS_KEY_PASSWORD> :用于访问别名存储的值的密码 -
<PASSWORD_ALIAS> :对进程的条目的别名
-
- 提示时,输入您创建的 KIE 服务器用户的密码。
要设置系统属性,请在
JWS_HOME/tomcat/bin目录中完成以下步骤之一,并替换如下表所述的变量:注意如果 Business Central 或独立控制器安装在独立于 Red Hat JBoss Web 服务器的实例中,请不要将
kie.keystore.key.server.alias和kie.keystore.key.pwd 属性添加到CATALINA_OPTS。在 Linux 或 UNIX 中,使用以下内容创建
setenv.sh文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Windows 上,将以下内容添加到
setenv.bat文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Expand 表 37.1. 用于载入 KIE 服务器 JCEKS 的系统属性 系统属性 占位符 描述 kie.keystore.keyStoreURL<KEYSTORE_URL>要使用的 JCEKS 的 URL,如
file:///home/kie/keystores/keystore.jcekskie.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 服务器以验证配置。