Обновление до TLS1.2 (LINUX C ++ GSOAP), обнаружение SSL_ERROR_SYSCAL - PullRequest
0 голосов
/ 11 октября 2018

В1: Нам хотелось бы узнать возможную основную причину следующего: После обновления с gsoap 2.8.21 до 2.8.70 мы столкнулись с проблемой при выполнении SSL_Connect (во время рукопожатия), когда мы пытаемся использовать один из методовсгенерированных прокси-классов gsoap.Ниже приведена ошибка, с которой мы столкнулись:

Проблема: ошибка 30 обнаружена ошибка [без субкода] "SSL_ERROR_SYSCALL Ошибка, обнаруженная базовым SSL / TLS BIO: сброс соединения по одноранговому узлу" Подробно: ошибка SSL_connect () в tcp_connect ()

Результат начального исследования: После отладки мы собрали некоторую информацию о проблеме:

  1. Проблема возникает внутри функции tcp_connect, когда выполняется ssl_connect.Он вернул значение -1. ​​Так как он был внутри цикла, начальное значение SSL_get_error равно 2, затем выполняется tcp_select, а значение равно 1
  2. Для второго цикла в ssl_connect, все еще находящегося под tcp_connect, возвращаемое значение по-прежнему -1, но значение SSL_get_error стало 5, что означает (SSL_ERROR_SYSCAL), тогда, когда мы ищем errno, его значение равно 104.Возвращаемое значение tcp_connect равно 30.

Примечание. Конечные точки (адрес веб-службы), которые мы использовали, работают, когда мы пытаемся использовать платформу Windows (.net framework).Вышеуказанная проблема возникает только в устройствах arm-linux.

Спасибо и наилучшими пожеланиями, JC

...