我正在尝试使用 milo 库创建一个带有 java 的 opc ua 客户端。我需要连接使用http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256安全策略的 OPC 服务器,此外我需要使用证书对用户进行身份验证。
我在客户端出现以下错误“用户身份令牌有效,但服务器已拒绝它”,这与 opc ua 错误“UA_SCBADIDENTITYTOKENREJECTED 0x80210000”相对应。我可以查找服务器信息,并且我有以下日志信息“验证 UserTokenSignature 失败”。
我已经调查了这个话题,似乎 UserTokenSignature 没有正确创建,我认为这可能是因为随机数,但我不确定,我已经查看了 Wireshark 信息并在启动通信时客户端不包括任何随机数。
我不知道是否有必要在客户端配置任何属性以包含随机数,我认为应该自动包含它。
也许“验证 UserTokenSignature 失败”错误是由于证书中的错误引起的,我不知道,但我已经测试了与 UA Expert 的连接并且它工作正常。