通过telnet进行SMTP STARTTLS证书协商
我正在尝试在sendmail中启动tls,但我不知道如何使用证书。请给我指路通过telnet进行SMTP STARTTLS证书协商,smtp,telnet,starttls,Smtp,Telnet,Starttls,我正在尝试在sendmail中启动tls,但我不知道如何使用证书。请给我指路 > telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 <machinename> ESMTP Sendmail <version>; <date>;localhost(OK)-localhost [127.0.0.1] EHLO localh
> telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 <machinename> ESMTP Sendmail <version>; <date>;localhost(OK)-localhost [127.0.0.1]
EHLO localhost
250-<mahinename> Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-DELIVERBY
250 HELP
STARTTLS
220 2.0.0 Ready to start TLS
telnet localhost 25
正在尝试127.0.0.1。。。
已连接到本地主机。
转义字符为“^]”。
220 ESMTP Sendmail;localhost(确定)-localhost[127.0.0.1]
EHLO本地主机
250-你好,localhost[127.0.0.1],很高兴认识您
250-增强状态码
250-流水线
250-EXPN
250-动词
250-8比特
250码
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-STARTTLS
250-Deliveerby
250帮助
STARTTLS
220 2.0.0准备启动TLS
何时以及如何使用/提供证书?您不能,因为一旦开始使用TLS,对话就会被加密,您可能不会说那种语言;) 以下是您可以做的:
openssl s_client -debug -starttls smtp -crlf -connect localhost:25
OpenSSL将为您执行STARTTLS握手,您将能够从那里获取对话(动态自动解密).可能端口需要是
587
或465
?openssl s_client-starttls smtp-connect smtp.gmail.com:587-crlf-ign_eofFYI@ScottStensland在今天的尝试中,我发现命令似乎挂断了,使用纯telnet smtp.gmail.com 587
表示它试图使用IPv6地址进行通信。将-4
添加到我的openssl命令行迫使IPv4协商成功openssl s_客户端-starttls smtp-4-connect smtp.gmail.com:587-crlf-ign_eof
如何处理“250-AUTH登录XOAUTH2”,我确定base64在这里不起作用?在此阶段如何发送用户名和密码?此答案包含测试SMTP身份验证详细信息所需的所有内容,但我需要发送base64编码的用户名和base64编码的密码。我通过例如echo'my_username'| base64
在bash中获得base64编码字符串,并将它们剪切并粘贴到openssl对话中。我发现需要在处进行base64编码,以及如何在处进行base64编码