它已加密,但未经过验证。

它已加密,但未经过验证。

我想确保在端口 465 上确实建立了与 SMTP 服务器的 SSL/TLS 连接。(该服务器在 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

答案1

它已加密,但未经过验证。

这是否意味着我“没有”处于安全连接中,并且继续以未加密的方式进行连接?

不。它确实加密了。但它没有经过身份验证。因此,虽然我们知道我们正在进行加密对话,但我们不知道与谁进行。

这表明连接已加密:

New, TLSv1/SSLv3, Cipher is ECDHE-RSA-DES-CBC3-SHA

尝试 testssl.sh

您使用s_client时未提供受信任 CA 的路径。OpenSSL 默认不再信任任何 CA。我思考它曾经可以,但 5 年前就停止了。从那时起,几乎每次连接都会出现无法找到本地发行者的错误。

但话虽这么说:只需直接寻找更好的、专门设计用于测试和评估 SSL/TLS 连接的东西:http://testssl.sh/

它是 OpenSSL 的一个很好的包装器。

您也可以尝试以下方法来测试加密的 SMTP:http://checktls.com/https://www.htbridge.com/ssl/

答案2

从您的问题的输出来看,建议您使用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
---
$ 

相关内容