无法使用pyjks打开JCEKS密钥库

时间:2016-01-15 05:14:02

标签: java python keystore pyjks jceks

我尝试使用pyjks模块从密钥库中获取密钥,但加载密钥库失败时出现以下错误:

ValueError: Hash mismatch; incorrect password or data corrupted

如果我尝试使用keytool加载密钥库,我没有问题。我想知道是否有人曾使用pyjks这样做并成功完成。这是我的python代码片段:

ks = jks.KeyStore.load("/tmp/keystore.jceks", "changeit")

1 个答案:

答案 0 :(得分:1)

免责声明:我为pyjks撰写了最初的JCEKS支持。

这可能是由于当时缺乏对SecretKey条目的支持。解析例程在读取文件时跟踪文件中的当前位置,并且最后期望接下来的N个字节是正确的签名。由于SecretKeys尚未实现,因此它们不会提升当前位置,从而导致错误的哈希检查。

我的回复是因为我最近在pyjks中添加了缺少的SecretKey支持。因此,如果您的情况仍然相关,请随时从https://github.com/doublereedkurt/pyjks获取最新来源并进行试用。