Создайте клиент opc на Java с помощью milo с сервером OPC UA с безопасным подключением

Я пытаюсь создать клиент opc ua с java, используя библиотеку milo. Мне нужно подключиться к серверу OPC, который использует http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256 Политика безопасности кроме того, мне нужно аутентифицировать пользователя с помощью сертификатов.

У меня на клиенте возникает следующая ошибка: «Токен идентификации пользователя действителен, но сервер отклонил его», что соответствует ошибке opc ua «UA_SCBADIDENTITYTOKENREJECTED 0x80210000». Я могу найти информацию о сервере, и у меня есть следующая информация в журнале: «Сбой при проверке UserTokenSignature».

Я изучил эту тему, и мне кажется, что UserTokenSignature не был создан должным образом, я думаю, что это могло быть из-за nonce, но я не уверен, я просмотрел информацию wirehark и при запуске коммуникации клиент не включает одноразовый номер.

Я не знаю, нужно ли настраивать какое-либо свойство в клиенте для включения одноразового номера, я думаю, что он должен быть включен автоматически.

Возможно, ошибка «Проверка UserTokenSignature failed» вызвана ошибкой в ​​сертификатах, я не знаю, но я проверил соединение с UA Expert, и оно работает правильно.


person chamorro611    schedule 12.06.2020    source источник


Ответы (1)


Вам не нужно ничего делать с одноразовыми номерами или подписью; все это обрабатывается SDK.

К какому серверу вы подключаетесь? Бывает ли, если подключиться без защиты? Вы настроили X509IdentityProvider для своего клиента?

person Kevin Herron    schedule 12.06.2020
comment
Я подключаюсь к серверу OPC UA из Unified Automation. которому всегда нужна безопасность. Я не могу проверить соединение без защиты. Да, я настроил X509IdentityProvider, включая сертификат удостоверения и закрытый ключ. - person chamorro611; 15.06.2020