【发布时间】:2012-10-29 16:21:38
【问题描述】:
我想为 ssl 连接使用自签名签名。我正在关注this 的帖子。
我的问题:创建密钥库后,我的完整性检查失败。
Keytool-Error: java.io.IOException: KeyStore integrity check failed.
我仍在寻找,但也许有人可以为我节省一些时间。
【问题讨论】:
标签: java ssl bouncycastle keystore
我想为 ssl 连接使用自签名签名。我正在关注this 的帖子。
我的问题:创建密钥库后,我的完整性检查失败。
Keytool-Error: java.io.IOException: KeyStore integrity check failed.
我仍在寻找,但也许有人可以为我节省一些时间。
【问题讨论】:
标签: java ssl bouncycastle keystore
确保您使用正确的密码来打开密钥库。我遇到了这个错误,结果我仍在使用trusted.load()中示例代码中的密码
【讨论】:
我在尝试打开本地保存的KeyStore 文件时遇到了同样的问题,我想到了两个原因:
KeyStore 并使用不同的密码加载它。KeyStore 文件已损坏,因此标记了完整性检查。我建议您尝试使用相同的密码(固定)保存并加载另一个文件,看看它是否会正常加载。
【讨论】:
我发现了另一个可以引发此消息的极端案例。
我使用openssl 导出了一个PKCS12 密钥库,然后尝试使用keytool 将其导入到现有的密钥库中。尽管在我列出 PKCS12 密钥库的内容时密码是正确的,但我在这一步收到了“完整性检查失败”错误。
问题原来是因为我使用了正好 50 个字符长的密码。尽管openssl 接受了这一点,但我知道这是使用的缓冲区的最大大小,并且密码的最后一个字符会被“字符串结尾”字符覆盖。
使用只有 49 个字符的密码再次导出 PKCS12 密钥库解决了我的问题。
【讨论】:
确保您的密钥库文件已使用FileOutputStream.close() 正确关闭,否则将被标记为失去完整性
【讨论】: