我正在尝试使用 pyjks模块从 keystore 中获取 key ,但是加载 keystore 失败并出现以下错误:
ValueError: Hash mismatch; incorrect password or data corrupted
如果我尝试使用 keytool
加载 keystore ,则没有任何问题。我想知道是否有人曾经使用 pyjks 来完成此操作并成功完成。这是我的 python 代码片段:
ks = jks.KeyStore.load("/tmp/keystore.jceks", "changeit")
最佳答案
免责声明:我为 pyjks 编写了最初的 JCEKS 支持。
这可能是由于当时缺乏对 SecretKey 条目的支持。解析例程在读取文件时跟踪文件中的当前位置,并在最后期望接下来的 N 个字节是正确的签名。由于 SecretKeys 尚未实现,因此它们没有推进当前位置,从而导致哈希检查错误。
我之所以做出回应,是因为我最近向 pyjks 添加了缺少的 SecretKey 支持。因此,如果您的情况仍然相关,请随时从 https://github.com/doublereedkurt/pyjks 获取最新源代码。并尝试一下。
关于java - 无法使用 pyjks 打开 JCEKS keystore ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34804783/