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