如何解决“给定的最后块没有正确填充。”如果在解密过程中使用了错误的密钥,就会出现这样的问题

丹尼尔Poterman
2023-01-29十四19

在某些情况下,您可能会遇到以下错误:[jfrt] [ERROR] [4543429d2a8d1892] [ctoryContextConfigListener:126] [art-init] -应用程序不能初始化:给定的最终块没有正确填充。如果在解密过程中使用了错误的密钥,就会出现这样的问题。
java.lang.reflect.InvocationTargetException:零

此错误表明连接中有一个存在问题。钥匙或者万能钥匙

为了解决这个错误,你应该遵循以下步骤:
1.停止所有Artifactory节点
2.修改数据库密码为明文在系统。Yaml位于路径下美元JFROG_HOME / artifactory / var /等(例如:/ opt / jfrog / artifactory / var /等)
3.如果需要,使用db dump备份数据库模式以进行恢复。
4.执行以下PostgreSQL删除查询,这将删除与主密钥相关的所有记录条目。通过执行下面的命令,我们可以确保数据库中没有主密钥的条目。delete from access_configs where data LIKE JE%';
delete from access_users_custom_data where PROP_VALUE LIKE 'JE%';
删除access_master_key_status中的“on”;
从master_key_status删除状态为“on”;
删除CONFIGS中数据为“JE%”的数据;
5.删除的主人。Key和join.key美元JFROG_HOME / artifactory / var / etc /安全如果join.key(shared.security.joinKey)在系统的security部分下是硬编码的。Yaml文件,删除它从那里以及)。
6.删除access.admin.token文件JFROG_HOME美元/ artifactory / var / etc / artifactory /安全/访问文件夹从所有节点。
7.复习一下artifactory.config.latest.xml下的文件$ JFROG_HOME / artifactory / var / etc / artifactory文件夹和搜索文件中包含“JE”或“AM”字符串的所有密码而且取代它们与明文密码。如果您不记得它们,您可以将部分留空。
8.保存并将其重命名为artifactory.config.import.xml
9.开始Artifactory主节点。的主人。密钥应该在启动/引导时自动生成artifactory.config.import.xml文件将重命名为artifactory.config.bootstrap.xml
10.复制母版。密钥从主节点转移到其他节点,并启动Artifactory服务。

注意:如果您正在使用Artifactory单节点,步骤#10是不相关的。