Клиент OPC UA и безопасность
От: plastictown Норвегия  
Дата: 30.07.20 19:15
Оценка:
Доброго времени суток!
Пытаюсь сделать клиент OPC UA.

Установил Prosys OPC UA Simulation Server.

* Сначала взял библиотеку freeopcua. Она собралась и заработала, даже собрался example_client.cpp.
Смутило то, что на C++ версию библиотеки документации практически нет (Work in progress: documentation).

* Затем взял сишную. open62541. Собрал в лоб — не заработала, говорит, connection refused, не могу аутенфицироваться.
Приделал туда OpenSSL и mbedTLS. Несмотря на очень приличную документацию, решение проблемы
не нашел, даже отключив на сервере всякие проверки. В общем, через пару дней стал искать дальше.

* Пошел дальше, взял гошную gopcua. И в ней такие же проблемы с аутенфикацией. На всякий случай попробовал еще парочку
симуляторов, но с тем же результатом.

Сейчас ломаю голову:
* Если сервер хочет какие-то сертификаты и прочую безопасность, почему работает freeopcua?
* Если нет, почему не работают другие библиотеки?

Если кто-то сталкивался, скажите, пожалуйста, куда смотреть, как это должно работать?

ЗЫ: все собираю на Windows10 под VS 2015.
opcua unified architecture
Re: Клиент OPC UA и безопасность
От: SаNNy Россия  
Дата: 31.07.20 07:25
Оценка:
Здравствуйте, plastictown, Вы писали:

P>Доброго времени суток!

P>Пытаюсь сделать клиент OPC UA.

P>Установил Prosys OPC UA Simulation Server.


P>* Сначала взял библиотеку freeopcua. Она собралась и заработала, даже собрался example_client.cpp.

P> Смутило то, что на C++ версию библиотеки документации практически нет (Work in progress: documentation).

P>* Затем взял сишную. open62541. Собрал в лоб — не заработала, говорит, connection refused, не могу аутенфицироваться.

P> Приделал туда OpenSSL и mbedTLS. Несмотря на очень приличную документацию, решение проблемы
P> не нашел, даже отключив на сервере всякие проверки. В общем, через пару дней стал искать дальше.

P>* Пошел дальше, взял гошную gopcua. И в ней такие же проблемы с аутенфикацией. На всякий случай попробовал еще парочку

P> симуляторов, но с тем же результатом.

P>Сейчас ломаю голову:

P>* Если сервер хочет какие-то сертификаты и прочую безопасность, почему работает freeopcua?
P>* Если нет, почему не работают другие библиотеки?

P>Если кто-то сталкивался, скажите, пожалуйста, куда смотреть, как это должно работать?


P>ЗЫ: все собираю на Windows10 под VS 2015.


Какие настройки сервера и какие настройки клиента используются?
Re[2]: Клиент OPC UA и безопасность
От: plastictown Норвегия  
Дата: 31.07.20 10:26
Оценка:
Здравствуйте, SаNNy, Вы писали:

SNN>Какие настройки сервера и какие настройки клиента используются?


Я не очень понимаю, наверное, какие они должны быть. Читаю доку open62541 и спецификацию OPC UA часть 7. И, наверное, не понимаю, как это должно работать. До этого делал OPC DA, там все понятно и куча примеров и т.д. Было бы классно почитать что-то более доступное, потому что сейчас для меня OPC UA выглядит как очень сложная непонятная штуковина, где не все так очевидно, как в других промышленных протоколах.
opcua
Re[3]: Клиент OPC UA и безопасность
От: SаNNy Россия  
Дата: 31.07.20 11:06
Оценка:
Здравствуйте, plastictown, Вы писали:

P>Здравствуйте, SаNNy, Вы писали:


SNN>>Какие настройки сервера и какие настройки клиента используются?


P>Я не очень понимаю, наверное, какие они должны быть. Читаю доку open62541 и спецификацию OPC UA часть 7. И, наверное, не понимаю, как это должно работать. До этого делал OPC DA, там все понятно и куча примеров и т.д. Было бы классно почитать что-то более доступное, потому что сейчас для меня OPC UA выглядит как очень сложная непонятная штуковина, где не все так очевидно, как в других промышленных протоколах.


Предлагаю изначально попробовать подключится к серверу без шифрования. В настройках Prosys OPC UA Simulation Server на вкладке Endpoints необходимо выставить галку Security Modes: None.
На клиенте open62541 для подключения должен работать этот код https://github.com/open62541/open62541/blob/master/examples/client_connect.c
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.