0

我正在尝试使用 milo 库创建一个带有 java 的 opc ua 客户端。我需要连接使用http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256安全策略的 OPC 服务器,此外我需要使用证书对用户进行身份验证。

我在客户端出现以下错误“用户身份令牌有效,但服务器已拒绝它”,这与 opc ua 错误“UA_SCBADIDENTITYTOKENREJECTED 0x80210000”相对应。我可以查找服务器信息,并且我有以下日志信息“验证 UserTokenSignature 失败”。

我已经调查了这个话题,似乎 UserTokenSignature 没有正确创建,我认为这可能是因为随机数,但我不确定,我已经查看了 Wireshark 信息并在启动通信时客户端不包括任何随机数。

我不知道是否有必要在客户端配置任何属性以包含随机数,我认为应该自动包含它。

也许“验证 UserTokenSignature 失败”错误是由于证书中的错误引起的,我不知道,但我已经测试了与 UA Expert 的连接并且它工作正常。

4

1 回答 1

0

你不应该对随机数或签名做任何事情;这一切都由 SDK 处理。

你连接的是什么服务器?如果您在没有安全性的情况下连接会发生这种情况吗?您已经为您的客户端配置了 X509IdentityProvider?

于 2020-06-12T17:17:38.090 回答