Java密钥库中的中间CA证书

我的Dev OPs团队希望在 Java密钥库中使用中级CA证书.我认为在密钥库中添加中间证书与添加“常规证书”的过程相同,对吗?我需要注意哪些“陷阱”?另外,如何在测试中验证Java是否使用中间证书而不是使用CA进行检查?

解决方法

您需要在证书链方面进行推理.中间CA证书的目标是让远程方在最终实体证书(例如服务器或客户端证书本身)与链上的另一个CA证书之间建立链.

如果您正在讨论将此中间CA证书导入到将用作信任库的密钥库中,那么该CA证书是中间证书还是“根”CA证书并不重要:它将成为受信任的锚点,如另一个用于使用该信任库的应用程序.

如果您正在谈论用作密钥库的密钥库,则需要确保您的EEC将与正确的链一起呈现.

例如,假设CA_1颁发CA_2证书,CA_2颁发服务器S的证书.
您的客户在其可信锚点(但不一定是CA_2)中具有证书CA_1:您需要提供链“S,CA_2”,以便他们可以通过CA_2验证链(否则,他们将不知道如何链接CA_1到S).

为此,您需要确保S及其私钥的条目包含它需要发送的链(S,CA_2),而不仅仅是证书S.在密钥库中的单独条目中导入CA_2将不会生成JSSE构建出示证书时的链条.

this answer中描述了如何执行此操作(尽管这是从客户端证书的角度来看).

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...