Назад | Перейти на главную страницу

Ошибка Stunnel «неправильный номер версии» с TLS-PSK

У меня Stunnel работает на Raspberry Pi, который действует как оболочка TLS для сервера apache2. Я настроил его для использования ТЛС-ПСК (правильно, я думаю), но журналы показывают следующее, когда я пытаюсь завершить рукопожатие TLS:

2016.04.11 21:05:53 LOG7[0]: Service [PSK_server] started
2016.04.11 21:05:53 LOG5[0]: Service [PSK_server] accepted connection from 192.168.42.10:4097
2016.04.11 21:05:53 LOG7[0]: SSL state (accept): before/accept initialization
2016.04.11 21:05:53 LOG7[0]: SNI: no virtual services defined
2016.04.11 21:05:53 LOG7[0]: SSL alert (write): fatal: protocol version
2016.04.11 21:05:53 LOG3[0]: SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
2016.04.11 21:05:53 LOG5[0]: Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
2016.04.11 21:05:53 LOG7[0]: Deallocating application specific data for addr index
2016.04.11 21:05:53 LOG7[0]: Local descriptor (FD=3) closed
2016.04.11 21:05:53 LOG7[0]: Service [PSK_server] finished (0 left)</code>

Я проверил в Wireshark, и все пакеты, которые я отправляю, - это TLS 1.2.

Мой конфигурационный файл stunnel выглядит так:

output = /etc/stunnel/stunnel.log
client = no
fips = no
ciphers = PSK
PSKsecrets = /home/psk.txt
debug = 7
sslVersion = TLSv1.2
[PSK_server]
accept = PSK_server
connect = 80

Он отправляет пакет фатального предупреждения TLS с кодом ошибки 70 (который является protocol_version, поэтому на самом деле он не говорит мне намного больше, чем журналы)

Это странно; Я могу отправить сообщение Client Hello, и сервер без проблем отправляет Server Hello и Server Hello Done. Только когда я отправляю сообщение обмена ключами клиента, я получаю предупреждение. Любая помощь / предложения будут оценены!

Я бы понизил версию TLS

Это работает для меня с малинового пи

options = NO_SSLv2
options = NO_SSLv3

CAFile = /etc/stunnel/server.crt
cert = /etc/stunnel/server.crt
key  = /etc/stunnel/server.key
pid = /var/run/stunnel.pid
output = /var/log/stunnel
verify = 4
debug = 5 

[SERVICE]
client = yes
accept = 127.0.0.1:9200
connect = SERVER.com:1111