![来自未知的 TLS:未提供客户端证书](https://linux22.com/image/742496/%E6%9D%A5%E8%87%AA%E6%9C%AA%E7%9F%A5%E7%9A%84%20TLS%EF%BC%9A%E6%9C%AA%E6%8F%90%E4%BE%9B%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AF%81%E4%B9%A6.png)
我们已经设置了一个 Windows 服务器虚拟 SMTP(在 IIS6 管理器下)。在 SMTP 设置中,启用了 TLS 加密,fqdn 字段为“sharepoint.mycompany.com”。
在服务器的证书存储“personal”文件夹中,我们有证书“sharepoint.mycompany.com”。服务器的真实 fqdn 是“server01.testdomain.com”。由于某种原因,我们无法为 testdomain.com 申请证书。通过 ping“sharepoint.mycompany.com”,它解析为我们服务器的 IP。
我们需要通过中继将电子邮件发送到我们公司的公共 SMTP 服务器。SMTP 服务器管理员说,只要有我们公司的 CA 颁发的证书(我们已经有证书),他们就不在乎证书名称。
经过一些测试,连接已建立。但是我们收到“未提供客户端证书”的响应:
启动TLS
220+2.0.0+准备启动+TLS
EHLO sharepoint.mycompany.com
21+4.7.1 +错误:未提供客户端证书
我的问题是,如何测试或配置证书?在 Windows 虚拟 SMTP 管理器中,没有地方设置我们正在使用的证书。另外,我听说必须使用 OpenSSL 程序来请求标准证书。我们的证书是使用 IIS7 生成的。我不确定这是否是原因,因为错误消息没有抱怨证书的格式或验证。
谢谢你的建议。
答案1
您应该尝试使用 openssl 来启动 TLS,例如:
openssl s_client -connect sharepoint.mycompany.com:25 -starttls smtp
流程是 25 上的 SMTP,然后是 587 上的 STARTLS,它由服务器自动完成,openssl 命令遵循流程。您的服务器必须提供正确的证书