17.6. 在 FIPS 主机上运行 CLI
如果要运行客户端注册 CLI (kcreg.sh|bat
脚本)或 Admin CLI (kcadm.sh|bat
脚本),CLI 还必须使用 BouncyCastle FIPS 依赖项,而不是普通的 BouncyCastle 依赖项。要达到此目的,您可以将 jar 复制到 CLI 库文件夹,这足够了。当 CLI 工具检测到对应的 BCFIPS jar 是否存在(请参阅上面的版本),则 CLI 工具将自动使用 BCFIPS 依赖项而不是纯 BCFIPS jar。例如,在运行 CLI 前使用以下命令:
cp $KEYCLOAK_HOME/providers/bc-fips-*.jar $KEYCLOAK_HOME/bin/client/lib/ cp $KEYCLOAK_HOME/providers/bctls-fips-*.jar $KEYCLOAK_HOME/bin/client/lib/ cp $KEYCLOAK_HOME/providers/bcutil-fips-*.jar $KEYCLOAK_HOME/bin/client/lib/
注意
当试图将 BCFKS truststore/keystore 与 CLI 搭配使用时,您可能会遇到问题,因为此信任存储不是默认的 java 密钥存储类型。在 java 安全属性中,可以将它指定为默认值。例如,在使用 kcadm|kcreg 客户端执行任何操作前,在基于 unix 的系统中运行这个命令:
echo "keystore.type=bcfks fips.keystore.type=bcfks" > /tmp/kcadm.java.security export KC_OPTS="-Djava.security.properties=/tmp/kcadm.java.security"