Authentication
IMAP 如何使用 OpenSSL 在控制台中使用 AUTH=LOGIN 登錄
我見過一些返回的伺服器
授權=登錄
當我請求 IMAP 伺服器的能力時,例如:
1 能力
CAPABILITY IMAP4 IMAP4rev1 AUTH=LOGIN AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID 取消選擇兒童空閒命名空間文字+
如何找到更多資訊
AUTH=LOGIN
以及如何使用它直接登錄伺服器上的控制台?我嘗試用Google搜尋它,但沒有成功。我想在我的 JAVA IMAP 客戶端中實現這種登錄格式。
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 Name
andPassword
,但是:注意:至少有一個廣泛部署的客戶端要求伺服器傳輸的挑戰字元串分別為“使用者名:”和“密碼:”。出於這個原因,伺服器實現可以發送這些質詢字元串而不是上面列出的那些。
不涉及密碼加密/散列,因此您可以很容易地測試雙方,用於未加密的通信,
netcat
用於加密openssl s_client
或openssl s_server
.請注意,上面的範例缺少使用的協議必需品,因為這部分對您可能需要的所有協議都是通用的(SMTP/POP3/IMAP…)。實際通信仍然必須遵循協議規範:
地圖
1 AUTH LOGIN VXNlcm5hbWU6 am9l UGFzc3dvcmQ6 bXkgc2VyY3JldA==
SMTP
AUTH LOGIN 334 VXNlcm5hbWU6 am9l 334 UGFzc3dvcmQ6 bXkgc2VyY3JldA==