在OPC UA中验证应用程序实例证书的次数是多少?

时间:2018-01-02 14:36:48

标签: opc-ua milo

请求澄清应用程序实例证书(客户端/服务器)在打开SecureChannel以激活OPC UA安全体系结构中的会话时的验证次数?

  • 从书中,' OPC统一架构'通过Mahnke,Leitner,Damm,可以看到以下图像,其中验证了应用程序实例证书的位置。 (第214页图7.4) Creating an OPC UA Secure Channel
  • 根据规范第4部分服务,第6.1.5节 - 图22显示在会话创建期间再次验证应用程序实例证书。

为什么书中描述的标准和概念之间存在差异? 是否真的有必要在会话创建期间再次验证应用程序实例证书?我注意到,如果我没有错,Milo示例只会在打开SecureChannel时验证一次。

2 个答案:

答案 0 :(得分:1)

我认为该图表不正确或已过时。

当客户/服务器第一次看到证书时,必须进行信任的验证和验证,即信道建立时。

在创建/激活会话服务中,使用请求/响应中交换的签名证明拥有证书。

编辑:总结评论,只有当使用的传输层不在那里验证时才需要在会话创建期间进行验证,但在Milo的情况下,它始终是二进制TCP传输,因此在会话创建期间的验证是多余的。 / p>

答案 1 :(得分:0)

规范(OPC UA规范第4部分.6.1安全性(v.1.03))确实指定了两个参与证书验证的阶段:

  1. 创建SecureChannel和
  2. 创建会话。
  3. 在SecureChannel创建中,证书将针对CA签名,问题和到期日以及撤销列表进行验证。在创建会话时,可以进行完整的验证。

    主要区别在于ApplicationDescriptions在CreateSession阶段可用,因此证书的ApplicationUri字段只能在此阶段验证。