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

Spring SAML-在JKS中使用CA根证书而不是服务器公共证书

宗意蕴
2023-03-14

我有一个Spring SAML项目,它有一个JKS,其中加载了IDP的公共证书。我有一个理论问题:

如果我将发出请求的根CA或中间CA加载到JKS中,这是否足以信任IDP并验证IDP SAML消息?这样做的好处是,将来有一个共同发行人的IDP将被信任,而无需加载他们的证书。

我的理解是,IDP的实际公共证书需要在JDK中,这样Spring SAML才能验证请求,然而,请求中的X509是否足以完成这项工作,只是验证IDP公共元数据中的证书是否来自受信任的颁发者?

我有点不知所措。任何见解或解释都将不胜感激!

共有1个答案

华浩壤
2023-03-14

是的,您可以使用PKIX安全配置文件做到这一点。将IDP证书加载到密钥库应该就足够了(前提是扩展元数据中的受托人密钥为空,这是默认值)。

有关所有详细信息,请参阅手册的“安全配置文件”一章。

 类似资料:
  • 我试图用Java来做这件事,但我认为这是一个一般的证书问题。我有根CA、根CA颁发的中间CA1、中间CA1颁发的中间CA2和中间CA2颁发的证书。 RootCA- 在不知道interCA2的情况下,是否可以通过interCA1验证证书?

  • 这是一个既试图为我的特定用例找到解决方案,又试图记录我为遵循此过程的任何其他人所做的努力的问题。 我们有一个RESTful服务器和一个iOS应用程序。我们有自己的证书颁发机构,服务器有一个根证书颁发机构和一个自签名证书。我们按照此过程生成以下文件: http://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate

  • 我想使用Java应用程序在SSL/TLS握手期间检索已发送的Microsoft SQL server(2012/2014)的公共服务器证书。 我的环境第一: MS SQL设置为使用强制加密 为了以编程方式实现这一点,我使用自己的信任管理器实现。请参见此处的相关代码摘录: getFactory(): 工厂(): getTrustManager(): 我希望调用会在某个时候使我的应用程序从我的SQL

  • 问题内容: 我需要设置一个在Jersey- Client应用程序中使用。我要做的就是接受自定义根ca证书的上下文。真的没有办法生成密钥库文件和导入CA证书吗? 问题答案: 真的没有办法生成密钥库文件和导入CA证书吗? 有一些方法可以在没有密钥库文件的情况下执行此操作,但是由于必须加载要信任的CA证书,因此必须以某种方式加载文件或资源。 (您当然也可以实现自己的实现,使所有调用都使用Certific

  • 我正在研究公钥基础设施中的数字证书。几乎所有关于这方面的手册/页面都遵循类似的步骤。 获取受试者身份受试者公钥(和/或带有受试者私钥的加密消息哈希),并构建证书 使用CA的私钥签署证书 在目的地,使用CA的公钥验证证书 现在我能够找到方法在php(使用openssl lib)为第一和第二步,可以生成证书和签署它(可选地生成签名哈希和签署它太)通过openssl API。 但第三步的问题是,它们没有