Ошибка SSL: ошибка: 1408F10B: подпрограммы SSL: SSL3_GET_RECORD: ошибка неправильного номера версии при отключении ssl и включении TLS

Я пытаюсь отключить SSL на моем компьютере Tomcat и пытаюсь отправить запрос для своего приложения через порт TLS, но получаю следующую ошибку:

Ошибка при отправке запроса к менеджеру: [Ошибка SSL: ошибка: 1408F10B: подпрограммы SSL: SSL3_GET_RECORD: неправильный номер версии]

Конфигурация, которую я использую в server.xml:

<Connector port="18443" protocol="HTTP/1.1" SSLEnabled="true"
            maxThreads="150" scheme="https" secure="true"
            clientAuth="false" sslProtocols="TLSv1,TLSv1.1,TLSv1.2" keystoreFile="/opt/certs/server.keystore" keystorePass="123456"
            truststoreFile="/opt/certs/server.truststore" truststorePass="123456"/>

Кто-нибудь может сказать мне, как мне запустить это на TLS?

Почтовый запрос будет иметь ulrencoded и будет примерно таким после декодирования https: //: port // DataManager? A = '1'? B = '4'

Проблема в том, что он работает с SSLV3, но не с TLS, мой вопрос: нужно ли мне добавить что-то дополнительное на стороне клиента (Apache), которое находится на http и отправляет запрос на сервер (Tomcat), который находится на HTTPS.

Результат выполнения команды проверки TLSv1:

SSL handshake has read 2202 bytes and written 294 bytes
---
New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EDH-RSA-DES-CBC3-SHA
    Session-ID: 552BF0C890C7DEEDE02A2B1FB3FE7659DCD753C4458814A8104FF4EC8EEE65C5
    Session-ID-ctx:
    Master-Key: 2C482E9C0BEBF40CDDA378868A077391A387C94DA55ABC9997D1BB5139A1077D83364EED94DBE799CC82E8D46BC5FECB
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1428943048
    Timeout   : 7200 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)
---
read from 0x83a0798 [0x83a7293] (5 bytes => 5 (0x5))
0000 - 15 03 01 00 18                                    .....
read from 0x83a0798 [0x83a7298] (24 bytes => 24 (0x18))
0000 - 87 53 37 c9 d2 5d 44 6b-94 c3 80 bd 17 3e 31 39   .S7..]Dk.....>19
0010 - 53 ac 52 bc e0 3b 53 89-                          S.R..;S.
closed
write to 0x83a0798 [0x83ab7e3] (29 bytes => 29 (0x1D))
0000 - 15 03 01 00 18 49 10 83-df 10 45 43 d5 9a 39 8f   .....I....EC..9.
0010 - de df ec 3d 8c 68 76 0f-67 ca a5 79 91            ...=.hv.g..y.

person mahan07    schedule 13.04.2015    source источник
comment
Опубликуйте точный URL-адрес, который вы используете для подключения к серверу, и опубликуйте вывод openssl s_client -connect <hostname>:<port> -tls1 -servername <hostname> -debug. Сделайте это, добавив его к своему вопросу, нажав Изменить (и не публикуйте его как комментарий). В противном случае информации для устранения неполадок будет недостаточно.   -  person jww    schedule 13.04.2015
comment
Спасибо, пожалуйста, найдите мой отредактированный текст и сообщите мне свои предложения. Я застрял в этом со вчерашнего дня.   -  person mahan07    schedule 13.04.2015
comment
Какое имя сервера и URL-адрес вы используете для подключения к нему?   -  person jww    schedule 14.04.2015
comment
Привет, эта проблема решена, мы жестко запрограммировали этот материал на стороне клиента. Если я хочу поддерживать TLS V1, TLS V1.1 и TLS V 1.2, как бы я это поддержал. Только с помощью метода SSLV23 или каким-либо другим способом , потому что в sslv23 я снова должен установить параметры для отключения SSLV3, как это SSL_CTX_set_options (cctx, SSL_OP_NO_SSLv3)   -  person mahan07    schedule 21.04.2015


Ответы (1)


SSL-Session:
  Protocol  : TLSv1

Как видите, он успешно использует TLSv1.

Ошибка POSTing-запроса к диспетчеру состояний: [Ошибка SSL: ошибка: 1408F10B: подпрограммы SSL: SSL3_GET_RECORD: неправильный номер версии]

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

person Steffen Ullrich    schedule 13.04.2015