当前位置: 首页 > 知识库问答 >
问题:

我可以使用keytool创建一个没有密码的Java信任存储吗?

唐修诚
2023-03-14

我想用自签名证书连接到TLS服务器,所以我需要一个自定义信任存储。keytool似乎绝对需要密码才能导入证书,但我真的不需要密码保护信任存储区。使用标准密码“changeit”可以工作,但我更希望没有密码。

请注意,这是一个“信任存储”,而不是“密钥存储”,因此信任存储中根本没有秘密材料:只有服务器的证书,因此客户机可以验证服务器是可信的。

使用keytool可以吗?是否有其他工具可以从信任存储区中移除密码?了解到身份验证信任存储实际上可能有其用途,是否有任何特定的原因为什么我不应该使用没有密码的信任存储?

共有1个答案

林正平
2023-03-14

我很确定,如果创建新的信任存储库,keytool将允许您输入空白密码,但没有密码的问题是,攻击者可以插入他们想要的任何证书并使其受到信任。这就产生了恶意的机会,比如中间人攻击。您的应用程序假定它可以信任攻击者设置的URL,因此没有什么可以阻止他们重新路由您的web服务调用。

最好的做法是在生产环境中更改默认的密钥存储和信任存储密码。

 类似资料:
  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并代表你打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利。 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?

  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并且代表您打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利… 我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?我可以将我

  • 我想在java中创建一个https客户端,它最初没有任何CA证书可信任。因为我不希望JVM使用默认的cacerts文件,所以我应该创建一个空的信任存储并将其指向JVM<我怎样才能创建一个空的信任存储?

  • 从文档中可以看出,这在spring-boot-maven-plugin中是不可能的。 所以现在我正在尝试创建一个测试JAR,但是当我运行应用程序类时,我得到了 有没有关于如何在没有maven插件的情况下打包SpringBoot应用程序的文档?

  • 问题内容: 我是Symfony2的新手,我可能有一个关于在数据库中编码用户密码的简单问题。 我想这样编码和存储我的用户密码: 我找到了各种编码器(sha1,sha512,明文),我发现我的数据库raw_password {salt}中包含明文,但是我对Symfony2中的signin / login / getSalt()方法仍然不满意。 如果您可以帮我解决这个问题(请假设我不想使用现有的User