【问题标题】:Where to find root and intermediate certificates having a security token with only end certificate in it在哪里可以找到具有安全令牌的根证书和中间证书,其中只有最终证书
【发布时间】:2018-04-30 07:21:48
【问题描述】:

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

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

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

【问题讨论】:

  • 一般做法是,整个证书链(包括所有中间证书)都应包含在签名中。否则,没有可靠的方法来获取丢失的证书来建立对签名的信任。
  • 如果安全令牌不包含它们/仅包含最终实体证书/,我将如何包含它们。我应该从哪里得到它们?
  • 安全令牌应包含证书链,以便您可以将中间证书添加到签名中。证书颁发机构必须分发它们,通常在网页中,并且在颁发证书时发送它们。验证方只需要知道根 CA 证书。

标签: certificate digital-signature bouncycastle x509


【解决方案1】:
  1. 假设我将签名文件发送给使用其他发行者软件的人,他们是否能够验证签名?

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

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

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

我主要关心的是他们将如何获得根证书和中间证书来构建证书链/我们正在谈论授权信息访问字段为空的情况/?

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

构建链不是签名验证的第一步吗?

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

  1. 在我看来,证书颁发者提供的软件在计算机上安装了中间证书和根证书。对吗?

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

  1. 如果有办法从 Internet 上找到所有这些中间/根证书 - 我可以在哪里找到它们?

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

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

是的,这是可能的,这是一个真正的业务领域。有几个商业数字签名验证平台。看看SD-DSS欧盟主导的开源项目

【讨论】:

  • 这么漂亮的答案,谢谢!这就是我一直在寻找的。​​span>
猜你喜欢
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2015-10-09
  • 2013-02-09
  • 2017-10-08
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多