2016-05-25 4 views
2

Я работаю над клиентом C# для сервера OPC UA. Я не платный член Фонда OPC, поэтому у меня нет доступа к SDK. Я использую примеры приложений и стека .NET, которые свободно доступны.Как получить сертификат OPC UA Client (.NET)

Одна из проблем, с которыми я сталкиваюсь, у меня нет сертификата безопасности. Мой клиент может подключиться к серверу, но он делает это в незащищенном режиме. Это приводит к невозможности доступа к базам данных на сервере. Я считаю, что мне не хватает сертификата на стороне клиента (и, возможно, серверной). У меня есть полный доступ к администрированию сервера, но мне не удалось выяснить, как получить/сгенерировать сертификат. Как это сделать?

ответ

1

В целом, как получить клиентский сертификат является обязанностью клиентского приложения OPC UA. Обычно, если нет сгенерированного и настроенного сертификата, SDK создает самозаверяющий по умолчанию. Если вы посмотрите на файл конфигурации xml приложения .NET UA, вы должны найти место, где определены параметры сертификата, и либо он может быть сгенерирован автоматически. Для обеспечения связи в защищенном режиме клиент и сервер должны доверять друг другу сертификаты. Если хранилища сертификатов находятся в файловой системе, то доверие к самозаверяющим сертификатам может быть установлено путем копирования сертификата клиента в доверенную папку сервера и наоборот. Программно вы можете получить сертификат сервера по вызову GetEndpoints. Сервер может получить клиентский сертификат из запроса OpenSecureChannel.