那什么是OPC UA证书?用途是什么?
简单来说它是身份验证和权限识别。
OPC UA使用X.509证书标准,该标准定义了标准的公钥格式。建立UA会话的时候,客户端和服务器应用程序会协商一个安全通信通道。数字证书(X.509)被用于识别客户端和服务器。服务器还会对用户进行进一步的身份验证,并授权后续请求以访问服务器中的对象。
证书在通信过程中的主要功能:
-
OPC UA消息签名,验证通信完整性
应用程序通过使用其私钥来生成消息签名/哈希,然后可以使用相应的公钥证书对其进行验证。如果私钥签名签出,则确保该消息来自相应的应用程序。
-
OPC UA消息加密,通信安全不受窥视
与可以使用应用程序的私钥对消息进行签名,以确保消息是由批准的应用程序生成的,可以使用公共密钥对消息进行加密。一旦使用公钥加密消息,只有具有相应私钥的应用程序才能解密该消息(第三方攻击者甚至可以拥有该公钥的副本,但是他们无法解密该消息;公共密钥仅用于加密-不能用于解密自己的消息)。
-
OPC UA应用程序标识,提高了可信度
如果没有办法确定我们正在使用的证书,那么对消息进行签名和加密/解密对我们来说就没有太大的用处。因此,每个OPC UA证书还提供有关以下信息的标识信息:哪个应用程序生成了证书,何时生成,由谁生成,该证书可以用于什么,该证书应使用多长时间,在何处生成等等。
这三个功能的核心概念是信任。当两个具有OPC UA功能的应用程序首次连接时,它们交换它们的公共密钥(这些作为应用程序/OPC UA证书的一部分包含在内),同时保持其相应的私有密钥。
我们使用KEPServerEX的用户,如果在日志中提示服务器证书已到期,OPC客户端无法连接到KEPServerEX软件,该如何解决呢?
此时我们就需要重新颁布一下OPC UA的证书,就可以恢复连接。
同样的,如果KEPServerEX作为OPC UA客户端,证书到期了就需要重新颁布一下客户端证书。
之后重启KEPServerEX的Runtime运行时服务,客户端重新连接就可以恢复通信。