【发布时间】:2017-11-03 03:42:29
【问题描述】:
我正在编写一个 C# 电子邮件应用程序(电子邮件客户端)。但是,每次我尝试与服务器启动 TLS 会话时都会出现错误,通过 Wireshark 进行调试显示存在某种 TLS/SSL 问题导致连接被重置
客户端 ---> 使用 MAILKIT/MIMEKIT 的 C# 应用程序(MS VS 2015)
服务器 ---> 基于 Linux 的电子邮件服务器,已分配自签名证书。
现在,当我使用 Thunderbird 连接(发送/接收电子邮件)到我的邮件服务器时,一切正常,但如果我使用我的应用程序会显示错误。
- Mailkit/Mimekit Wireshark TLS 捕获
- Mailkit/Mimekit 发送到我的服务器的密码套件
- 服务器接受的密码
- Thunderbird Wireshark TLS 捕获
- Thunderbird 向我的服务器发送的密码套件
- 服务器接受的密码
- 我的 C# APP 显示的错误
邮件服务器日志中显示错误:
来自未知 [xxx.xxx.xxx.xxx] 的 SSL_accept 错误:连接由 同行
谁能指导我怎么做?我无法在服务器端更改/更新 CIPHERSUITE。此外,在我的代码中,我忽略了 UNTRUSTED CERTIFICATE 检查,因此不会因为自签名证书而出现错误。
【问题讨论】:
-
这看起来不像是密码问题。客户端在收到服务器成功响应后关闭连接——这意味着服务器成功地从客户端提供的密码中选择了一个密码。客户端关闭的可能性更大,因为它不喜欢服务器证书。但是您的问题中没有足够的信息来进一步追查问题。
标签: c# email ssl wireshark mailkit