首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使java应用程序的信任存储保持最新?

如何使java应用程序的信任存储保持最新?
EN

Stack Overflow用户
提问于 2021-12-16 16:48:56
回答 2查看 882关注 0票数 0

我目前正致力于为我的java应用程序中的所有对外HTTPS通信强制SSL信任,包括在硬化模式下不允许自签名证书。

但是,我想知道SSL信任是如何并且是否总是可信任的。您能帮助我理解以下有关Java信任库的详细信息吗?SSL信任完全取决于信任存储的内容(信任锚是信任的基础)。

installed)?

  • Does

  • 是默认的java证书存储,如果出现新的CA (除非托管存储中的升级包是可信的根CA信息,则需要不断更新以维护SSL安全?),就会保持自动更新。
EN

回答 2

Stack Overflow用户

发布于 2021-12-16 17:55:09

  1. 只有在更新JRE时才会更新Java信任存储。如果要添加新的CA证书,则需要在自己的证书中这样做。根据我的经验,如果您保持最新的JRE,这对于公共CA来说是不必要的。
  2. 不,您不需要更新这些信息。在最坏的情况下,信任存储中有一个太旧的证书,无法连接到服务器,这不是安全问题。
票数 2
EN

Stack Overflow用户

发布于 2021-12-16 18:32:31

据我所知,默认的java update/upgrade.文件仅由包更新。

需要

  1. 常量更新,因为CA根证书过期或被撤销,必须从仙人掌文件中删除。另一方面,必须包括新的CA根证书。但此更新依赖于1.

再深入一点:

如果要在服务器端设置HTTPS,则要比:

您需要一个私钥和一个由任何官方认证机构签署的证书,比如Entrust、巴尔的摩CyperTrust (或者创建一个自签名的证书)。您必须设置一个包含私钥和签名证书的java密钥存储库。证书本身的有效期有限,必须在有效期届满前续签,您必须对其进行监视。在更新时,CA注意始终使用CA根证书,只要更新证书有效。

连接到服务器的客户端在SSL上接收到与服务器证书的握手,并根据它的信任库验证它,在默认配置和java情况下,信任库驻留在jre-x.y.z/lib/security/cacerts中。这个文件是在每个java更新上更新的,您可以依赖它的实际情况。

如果另外使用基于证书的客户端身份验证,则需要保持所需的客户端证书更新。通常情况下,你的伴侣会在他们的证书到期前发给你一份证书的副本。

或者,您只能实现客户端的CA根证书。在这种情况下,您对保持信任库的更新所做的努力就更少了。回溯是,您有较少的机会,客户验证。

如果您在客户端,则比:

默认配置中的客户端根据Java附带的cacert文件验证服务器证书。

除了默认的配置--如果您只信任某个特定的服务器--您将负责建立信任库并保持其最新。此信任库与上面描述的客户端身份验证相当,但包含服务器的内容。

至少,如果您需要客户端身份验证,您必须设置一个客户机密钥存储库( client ),它与上面所解释的服务器密钥存储库相当,但保留了客户端的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70382726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档