当前位置: 首页 > 面试题库 >

Java应用程序的密钥库/信任库的默认位置是什么?

李景天
2023-03-14
问题内容

我正在编写使用SSL的应用程序。因此,我有一个虚拟密钥库和一个虚拟信任库,我想提供给我的客户。是否有任何默认文件夹可将它们放入我的发行版中?例如docs,lib,bin
…等。密钥库通常放在服务器上的什么地方,信任库通常放在客户端的什么地方?

谢谢


问题答案:

在Java中,根据JSSE参考指南,没有默认值keystore,默认truststore值为“
jssecacerts(如果存在),否则为cacerts ”。

一些应用程序~/.keystore用作默认密钥库,但这并不是没有问题的(主要是因为您可能不希望用户运行的所有应用程序都使用该信任库)。

我建议改用与应用程序捆绑在一起的特定于应用程序的值,一般而言,它通常更适用。



 类似资料:
  • 我正在Java写一个应用程序,它通过HTTPS连接到两个web服务器。其中一个通过默认信任链获得信任证书,另一个使用自签名证书。当然,连接到第一个服务器是开箱即用的,而使用自签名证书连接到服务器则是不起作用的,直到我使用该服务器的证书创建了信任存储区。然而,到默认受信任服务器的连接不再起作用,因为显然,在创建了自己的信任存储区之后,默认信任存储区将被忽略。 我发现的一个解决方案是将默认信任库中的证

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

  • 我正在尝试用Java执行相互身份验证。我试图实现的结构是:具有自签名证书的服务器充当CA,对客户端证书进行签名。因此,这就是我在每个密钥库/信任库中保存的内容: 客户: 密钥库: 客户端的SSL密钥对。 由服务器签署的证书(与密钥对相关)。 信任库: 服务器的自签名证书 服务器 密钥库: 服务器的SSL密钥对。 自签名证书(与密钥对相关)。 信任库: 服务器的自签名证书 我能够执行服务器的身份验证

  • 我有许多Java应用程序,它们通过SSL保护的连接连接到其他应用程序和服务。在开发过程中,我可以使用JVM参数指定要使用的密钥库/信任库和密码: 这非常有效。然而,在生产过程中需要隐藏密码,使用JVM参数意味着任何查看进程列表的人都可以看到明文形式的密码。 有没有一个简单的方法来解决这个问题?我考虑将证书导入JRE的lib/security/cacerts文件,但我的理解是,这仍然需要密码。一种选

  • 我使用HTTPTrigger创建了一个简单的Azure函数,该函数通过Azure中的门户返回密钥集的秘密值。该值存储为 https://medium.com/statuscode/getting-key-vault-secrets-in-azure-functions-37620FD20A0B

  • 应用程序A调用webservice应用程序B 相互认证。 我们有申请证书。由名为C的CA签名的证书。这是jks文件中唯一的单一证书内容 我们使用了相同的jks文件作为应用程序密钥库和信任库。它运转良好。 我的理解是,当应用程序A调用appB时,appB发送其证书,该证书也由名为C的CA签名。appA接受该证书,因为在appA TrsStore中,我们有另一个证书,该证书由名为C的CA签名。 然后,