Я пытаюсь пройти аутентификацию на OPC UA Simulation Server с использованием аутентификации по имени пользователя / паролю, но получаю следующее исключение Bad_SecurityChecksFailed . Это первый раз, когда я использую OPC UA, и у меня нет предыдущего опыта его использования. Может быть, кто-то уже сталкивался с такой же проблемой и может мне помочь.
На сервере симуляции, который я использую (Prosys OPC UA), показывается, что сертификат был отклонен:
Модуль использует пакет nuget OPCFoundation.NetStandard.Opc.Ua (https://github.com/OPCFoundation/UA-.NETStandard).
Это переменные UserIdentity :
Как видно, IssuedTokenType и PolicyId имеют значение null, что может быть частью проблемы, но я не могу найти способ их инициализации.
Вот данные ConfiguredEndpoint :
Ниже приведен код для создания сеанса на сервере с использованием имени пользователя и пароля:
При создании сеанса генерируется исключение AggregateException с указанным выше Bad_SecurityChecksFailed исключением.
И это конечные точки и настройки пользователей на сервере моделирования:
Что я сделал, чтобы попытаться это решить?
Я искал примеры на C #, но мне не удалось найти то, что я искал.
Единственное место, где я нашел примеры C #, было в приложениях UA Quickstart, доступных на Github (https://github.com/OPCFoundation/UA-.NETStandard), который, если я правильно понял, использует сертификаты с именем пользователя и паролем. У меня нет опыт работы с сертификатами, и мне не удалось понять, как работает аутентификация и как ее реализовать.
Я также искал ответ на другой вопрос: https://stackoverflow.com/a/46458799/8399585, который дает некоторую информацию о политике и сертификате клиента, а также упоминает об ошибке, которую я получаю. Но это не показывает, как они должны быть настроены (что на самом деле не было целью вопроса с самого начала).