我正在尝试使用milo库使用java创建一个opc ua客户端。我需要与使用 http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256 安全策略的 OPC 服务器连接,此外,我还需要使用证书对用户进行身份验证。
我在客户端中遇到以下错误"用户身份令牌有效,但服务器已拒绝它",这与opc ua错误"UA_SCBADIDENTITYTOKENREJECTED 0x80210000"相对应。 我可以查找服务器信息,并且有以下日志信息"验证用户令牌签名失败"。
我已经调查了这个主题,似乎没有正确创建UserTokenSignature,我认为这可能是因为随机数,但我不确定,我已经查看了wireshark信息,并且在通信的启动中,客户端不包含任何随机数。
我不知道是否有必要在客户端中配置任何属性以包含随机数,我认为它应该自动包含。
也许"验证用户令牌签名失败"错误是由于证书中的错误引起的,我不知道,但是我已经测试了与UA Expert的连接并且它工作正常。
您不必对随机数或签名执行任何操作;这一切都由 SDK 处理。
您要连接到什么服务器?如果您在没有安全性的情况下连接,会发生这种情况吗?是否已为客户端配置 X509Identity 提供程序?