在哪里可以找到具有安全令牌的根证书和中间证书,其中只有最终证书

Where to find root and intermediate certificates having a security token with only end certificate in it

首先,我必须说我在数字签名和 PKI 方面还是个新手。 关于整个 PKI 基础设施的工作方式,我有几个问题。 假设我有一个安全令牌,其中包含我的私钥 + 我的有效终端实体证书。因此我可以毫无问题地签署文件。我正在使用证书颁发者提供的软件来这样做。

  1. 假设我将签名的文件发送给使用其他发行者软件的人,他们能验证签名吗?我在这里主要关心的是他们将如何获得根证书和中间证书来构建证书链/我们正在讨论 Authority Information Access 字段为空的情况/?建链不就是验签的第一步吗?
  2. 在我看来,证书颁发者提供的软件在计算机上安装了中间证书和根证书。对吗?
  3. 如果有办法从互联网上找到所有这些 intermediate/root 证书 - 我可以在哪里找到它们?

前一段时间我有这个想法创建一个可以使用任何令牌签署消息并验证任何签名者发送的消息的应用程序。我们正在谈论链验证、CRL 和 OCSP 检查。这可能吗?

  1. Assuming i send a signed file to somebody who uses the software of another issuer, will they able to verify the signature?

加密是的,他可以使用 public 密钥,但深入验证签名是一个复杂的过程:

  • 加密验证
  • 信任认证链
  • 证书吊销状态
  • 签名时的有效性(证书未过期,或签名受时间戳保护

还有一个重要因素是签名的格式。有多种数字签名格式(XMLDsig、CMS、CAdES、PKC#7、JWS、PAdES)封装了数字签名,验证软件必须处理格式和版本之间的互操作性问题,甚至是标准的不同解释

My main concern here is how are they going to obtain the root and the intermediate certificates to build the certificate chain /we're talking the case where the Authority Information Access field is null/?

大多数数字签名格式都要求在签名本身中包含证书。然后验证者可以验证证书链直到根证书,该证书必须包含在本地信任库中。

Isn't building the chain the first step towards signature verification?

是的,是的。发行人必须验证认证链。如果在本地信任库中找不到颁发者根证书,则不能认为签名有效。

  1. It seems to me that the software provided by the certificate issuer installs the intermediate and the root certificates on the computer. Is that correct?

是的,可以在计算机中预先提供证书,并且一些操作系统或编程语言有一个信任库,其中包含可用于验证签名的预加载受信任颁发者列表

  1. If there's a way to find all of those intermediate/root certificates from the internet - where i might be able to find them?

您通常可以从证书颁发机构的网页下载它们。证书应包含带有 URL 的 AIA 扩展名以下载颁发者。此外,在欧盟,有一个全球可信提供商列表,其中引用了所有正在使用的证书。

A while ago i had this idea to create an app that can use ANY token to sign a message, and verify messages sent by ANY signer. We're talking chain validation, CRL and OCSP checks. Is that even possible?

是的,这是可能的,它是一个真正的商业区。有几种商业数字签名验证平台。查看由 EU

领导的 SD-DSS 开源项目