IMAP 如何使用 OpenSSL 在控制台中使用 AUTH=LOGIN 登录

IMAP 如何使用 OpenSSL 在控制台中使用 AUTH=LOGIN 登录

我看到过一些服务器返回

验证=登录

当我请求 IMAP 服务器的功能时,例如:

1 能力

功能 IMAP4 IMAP4rev1 AUTH=LOGIN AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID 取消选择子项空闲命名空间 LITERAL+

我如何才能找到更多信息AUTH=LOGIN以及如何使用它直接登录服务器控制台?

我试过谷歌搜索,但没有成功。我想在我的 JAVA IMAP 客户端中实现这种登录格式。

答案1

LOGIN SASL机制和PLAIN机制很相似,但是它需要两步进行认证:

CLIENT: AUTH LOGIN
SERVER: VXNlcm5hbWU6
CLIENT: am9l
SERVER: UGFzc3dvcmQ6
CLIENT: bXkgc2VyY3JldA==

经过 base64 解码后,结果为:

CLIENT: AUTH LOGIN
SERVER: Username:
CLIENT: joe
SERVER: Password:
CLIENT: my secret

规范说来自服务器的挑战应该是User NamePassword,但是:

注意:至少有一个广泛部署的客户端要求服务器传输的质询字符串分别为“用户名:”和“密码:”。因此,服务器实现可以发送这些质询字符串,而不是上面列出的字符串。

由于不涉及密码加密/散列,因此您可以轻松测试双方,对于未加密的通信使用netcat加密openssl s_clientopenssl s_server

请注意,上面的示例缺少所用协议的必要性,因为这部分对于您可能需要的所有协议(SMTP/POP3/IMAP...)都是通用的。实际通信仍必须遵循协议规范:

信息访问协议

1 AUTH LOGIN
VXNlcm5hbWU6
am9l
UGFzc3dvcmQ6
bXkgc2VyY3JldA==

邮件传输协议

AUTH LOGIN
334 VXNlcm5hbWU6
am9l
334 UGFzc3dvcmQ6
bXkgc2VyY3JldA==

答案2

这是一个过时的非标准扩展。它未列在IANA IMAP 功能注册.它来自一个过时的draft-murchison-sasl-login-00(见SASL 身份验证方案的 IANA 列表)。

它没有带来任何新功能AUTH=PLAIN或 IMAP 标准LOGIN命令

相关内容