在何处查找具有仅包含最终证书的安全令牌的根证书和中间证书

时间:2017-11-16 16:43:42

标签: certificate digital-signature bouncycastle x509

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

  1. 假设我将签名文件发送给使用其他发行人软件的人,他们是否能够验证签名?我主要关注的是他们如何获得根证书和中间证书来构建证书链/我们在谈论Authority Information Access字段为空/的情况?是否构建链条是签名验证的第一步?
  2. 在我看来,证书颁发者提供的软件会在计算机上安装中间证书和根证书。这是对的吗?
  3. 如果有办法从互联网上找到所有这些中间/根证书 - 我可以在哪里找到它们?
  4. 前段时间我有这个想法创建一个可以使用任何令牌签名消息的应用程序,并验证任何签名者发送的消息。我们正在谈论链验证,CRL和OCSP检查。这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

  
      
  1. 假设我将签名文件发送给使用其他发行人软件的人,他们是否可以验证签名?
  2.   

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

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

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

  

我主要关注的是他们如何获得根证书和中间证书来构建证书链/我们说的是权限信息访问字段为空/?

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

  

是否构建链条是签名验证的第一步?

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

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

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

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

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

  

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

是的,这是可能的,这是一个真正的商业领域。有几种商业数字签名验证平台。看看由EU提出的SD-DSS开源项目