加载密钥库而不检查其完整性

时间:2009-05-15 11:10:55

标签: java security cryptography

这个问题在Java类java.security.KeyStore及其加载(InputStream stream,char [] password)方法的特定上下文中,该方法可以接受密码的空值以绕过完整性检查。

在不检查密钥库完整性的情况下加载和查询密钥库有哪些风险?将查询密钥库以查找用户的私钥,该私钥将用于签署文档以进行不可否认。查询的证书将在用户注册自己和(假设完全相同)证书时,根据存储在数据库中的副本进一步验证。

1 个答案:

答案 0 :(得分:0)

主要的风险是,任何能够阅读该文件的人都可以修改它。因此,有人可以将您读取的文件替换为具有相同名称的密钥但包含不同私钥的其他密钥库,因此您最终使用错误的私钥对文档进行签名,并且它们都不会通过验证。

此外,任何有权访问该文件的人都可以访问私钥,并且可以签署文档,就好像它们来自您的应用程序一样。