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

java-可以使用根CA或没有父CA的父CA验证证书吗

戚正业
2023-03-14

我试图用Java来做这件事,但我认为这是一个一般的证书问题。我有根CA、根CA颁发的中间CA1、中间CA1颁发的中间CA2和中间CA2颁发的证书。

RootCA-

在不知道interCA2的情况下,是否可以通过interCA1验证证书?

cert.verify(interCA2.getPublicKey()); // ok
interCA2.verify(interCA1.getPublicKey()); // ok
cert.verify(interCA1.getPublicKey()); // NOT ok -> is there any way to fix or bypass this? 

共有1个答案

傅越
2023-03-14

您不能这样做,因为interCA1不是证书的发行者。

cert.verify(interCA1.getPublicKey());

证书是用颁发证书的私钥签名的,因此需要其公钥来验证签名。因此,验证证书需要完整的认证链。

 类似资料:
  • 问题内容: 可以说我有这样的东西(客户端代码): 这段代码是完整的功能,但是我真的不知道如何根据pem文件中可用的一个具体的CA证书来验证服务器的证书。 所有证书均由我的自签名CA签名,这是我需要根据其进行验证的CA(仅针对此证书)。 每个答案表示赞赏。 编辑: 回应 jglouie (非常感谢您-无法投票支持您的答案)。 我创建了解决方案: 问题答案: 我假设您的CA的自签名证书已按以下方式加载

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

  • 问题内容: 我正在使用XAMPP进行开发。最近,我将xampp的安装从旧版本升级到1.7.3。 现在,当我卷曲启用HTTPS的网站时,出现以下异常 致命错误:消息为“ cURL资源”的未捕获异常“ Re​​questCore_Exception”;资源ID为55;cURL错误:SSL证书问题,请验证CA证书是否正确。详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CE

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

  • kubernetes 系统各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 证书和秘钥文件,CA 是自签名的证书,用来签名后续创建的其它 TLS 证书。 安装 CFSSL $ wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 $

  • 我有一个带有这些命令的自签名证书链,并在Apache服务器上配置了它们 但是当我尝试 我从openssl中得到一个错误 用于生成证书的命令或配置文件有问题吗? [req] distinguished_name=req_distinguished_name x509_extensions=v3_ca dirstring_type=nobmp [req_distinguished_name] comm