Проблема с SSL (openssl)
Мне нужно настроить подключение к серверу по протоколу SSL. Я получил от владельцев серверов 2 файла - корневой сертификат CA (ca.pem) и тестовый запрос сертификата (файл test.csr).
Я пытаюсь проверить подключение через утилиту openssl s_connect, и я даю странный результат (ххх - маскированные значения):
openssl s_client -connect MYURL -CAfile ca.pem
CONNECTED(00000003)
xxx verify return:1
xxx verify return:1
3074332296:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1193:SSL alert number 40
3074332296:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
Но после оповещения о рукопожатии и распечатки данных сертификата я вижу:
SSL handshake has read yyy bytes and written yyy bytes
New, xxx, Cipher is xxx
Server public key is xxx bit
Compression: xxx
Expansion: xxx
SSL-Session:
Protocol : xxx
Cipher : xxx
Session-ID:
Session-ID-ctx:
Master-Key: xxx
Key-Arg : xxx
PSK identity: xxx
PSK identity hint: xxx
Compression: xxx
Start Time: xxx
Timeout : xxx (sec)
Verify return code: 0 (ok)
Что значит проверить код возврата 0 (ок)? Как это возможно, если произошла ошибка / предупреждение рукопожатия?
1 ответ
Решение
Вы получаете предупреждение о сбое рукопожатия от сервера, что означает, что происходит какая-то другая ошибка, это не проверка сертификата, которая не проходит. Вы должны посмотреть журналы на стороне сервера, чтобы понять, что не удалось.