java - 无法使用 pyjks 打开 JCEKS keystore

标签 java python keystore pyjks jceks

我正在尝试使用 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/

相关文章:

python - 如何在python中获取模块中的所有对象?

android - 是否可以存档当前的商品详情,将 apk 重新上传到新的商品详情

java - JSTL 的 rt 和 el 版本有什么区别?

java - 如何处理此类错误以及为什么会发生?(超出内存限制)

java - 如何使用 Java 在 Window 任务计划程序中创建计划程序任务?

python - Django Rest Framework urls 路由器仅识别一个路径

python - 使用来自不同文件 pygame 的 Sprite 对象类

java - 以下代码中的同步有什么问题

java - 带有 HSM keystore 的 CXF WS-Security

tomcat - 使用授权签名证书为 tomcat 设置 HTTPS