Я хочу быть уверен, что соединение SSL / TLS действительно выполняется с моим SMTP-сервером через порт 465. (Сервер работает на Ubuntu 14.04)
С помощью:-
openssl s_client -connect example.co.uk:465
Я получаю ответы, показанные ниже ...
Обратите внимание, я получаю сообщение: -
«Проверить код возврата: 20 (невозможно получить сертификат местного эмитента)»
Тем не менее, я могу продолжить диалог с EHLO и AUTH LOGIN.
Означает ли это, что я "не" нахожусь в безопасном соединении и продолжаю пользоваться незашифрованным?
Спасибо, Джон
CONNECTED(00000003)
---
Certificate chain
0 s:/CN=example.co.uk
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
<removed for clarity>
-----END CERTIFICATE-----
subject=/CN=example.co.uk
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
---
SSL handshake has read 3050 bytes and written 509 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-DES-CBC3-SHA
Session-ID: 5728D30BFCCB912A3DEC177610B5CF260F35B9E0F2E6F8E51FC8B59B80E377FD
Session-ID-ctx:
Master-Key: 2E2B2E3A9AD05E4F8DF346C3E0C017ED2E8203D8C8391391F8F0042065FE7688DA8D836B5C31E3A5F9C77E8353CFA10C
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1462293259
Timeout : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)
---
220 example.co.uk - Xeams SMTP server; Version: 4.9 - build: 5819; 5/3/16 5:34 PM
250-april.example.co.uk. Please to meet you
250-SIZE 20971520
250-AUTH LOGIN
250-AUTH=LOGIN
250 OK
---
220 example.co.uk - Xeams SMTP server; Version: 4.9 - build: 5819; 5/3/16 5:37 PM
EHLO example.co.uk
250-april.example.co.uk. Please to meet you
250-SIZE 20971520
250-AUTH LOGIN
250-AUTH=LOGIN
250 OK
AUTH LOGIN
334 VXNlcm5hbWU6
Означает ли это, что я "не" нахожусь в безопасном соединении и продолжаю пользоваться незашифрованным?
Нет, это нормально зашифровано. Но это не подтверждено. Итак, хотя мы знаем, что у нас есть ЗАШИФРОВАННАЯ беседа, мы не знаем, С КОГО.
Это показывает, что соединение зашифровано:
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-DES-CBC3-SHA
Ты используешь s_client
без указания пути к доверенным центрам сертификации. И OpenSSL больше не доверяет никаким центрам сертификации по умолчанию. я считать когда-то это было так, но затем остановилось 5+ лет назад. И с тех пор эта ошибка «невозможно найти локального эмитента» - это то, что вы получаете практически при каждом подключении.
Но при этом сказано: просто идите прямо к чему-то лучшему и специально разработанному для тестирования и оценки соединений SSL / TLS: http://testssl.sh/.
Это хорошая оболочка для OpenSSL.
Вы также можете попробовать это для проверки зашифрованного SMTP: http://checktls.com/, https://www.htbridge.com/ssl/.
вывод вашего вопроса, предположите, что вы используете SSL
для этой связи.
Вывод без использования SSL будет выглядеть так:
$ openssl s_client -connect alexus.biz:80
CONNECTED(00000003)
139684765820832:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 247 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
$