AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 832571
Accepted
Caynadian
Caynadian
Asked: 2017-02-15 13:09:30 +0800 CST2017-02-15 13:09:30 +0800 CST 2017-02-15 13:09:30 +0800 CST

SQL Server 向 Exchange 2016 DAG 发送邮件时出现证书错误

  • 772

我们有一个 SQL Server 2008R2 安装,它正在向我们现已退役的 Exchange 2010 服务器发送电子邮件。我们现在正在运行一个 Exchange 2016 DAG,其中包含 2 个主机(mailserver1.example.com 和 mailserver2.example.com),其中一个名为 mail.example.com 的 DNS 指针引用了这两个服务器。因此,当我们关闭旧服务器时,我们从使用实际主机名 (severname.example.com) 更改为 mail.example.com。当我们这样做时,我们得到以下错误:

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2017-02-14T15:41:00). Exception Message: Cannot send mails to mail server. (The remote certificate is invalid according to the validation procedure.).

如果我将数据库邮件配置更改为指向 DAG 中的单个服务器(mailserver1.example.com),那么一切正常。

我们在邮件服务器上使用通配符证书 (*.example.com),所以我不确定这是否是问题所在。

我想解决这个问题,以便我保持弹性。谁能告诉我它不喜欢什么?

编辑:所以我深入研究了安装/正在使用的证书:

Get-ExchangeCertificate -server mailserver2.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
133914D76770DE347949C1FF771A64B7B6  IP.....    CN=mailserver2.example.com
4D2582DA78719BCC1B1CB8F33B3FAC2E54  IP..S..    CN=mailserver2
B39C5DED40D1C926A1ABDA2CA5B30FE305  ....S..    CN=Microsoft Exchange Server Auth Certificate
AD3C61F290199AB908ECB976A0C8341351  .......    CN=WMSvc-mailserver2
E6F14092B221239F51A62420FD74F2FA63  IP.WS..    CN=mailserver2.example.com
D1215C7C1E5D674E7C204FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...


Get-ExchangeCertificate -server mailserver1.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
4C560FF28A576F814DFAD198C81912C3BE  IP.....    CN=mailserver1.example.com
B39C5DED40D1C926A1A8DA2CA5B30FE305  ....S..    CN=Microsoft Exchange Server Auth Certificate
A29DA1FA4C800AB5EAD22B0BFA39D7BC5B  IP..S..    CN=mailserver1
184B109C120633C33711E26C40F4FAFFC6  .......    CN=WMSvc-mailserver1
22C69182932BE55A2F01B20C10FADBE359  IP.WS..    CN=mailserver1.example.com
D1215C7C1E5D674E7C244FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

Get-ExchangeCertificate -domainname example.com

Thumbprint                          Services   Subject
----------                          --------   -------
D1215C7C1E5D674E7C644FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

Get-ExchangeCertificate -domainname mail.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
D1215C7C1E5D674E7C20D9FF776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

当我使用 OPENSSL(根据下面的答案 1)时,我得到的是我们的内部 CA 证书(CN=mailserver2.example.com)而不是通配符证书。

编辑 2:这是 OpenSSL 命令的输出: openssl s_client -connect mailserver1.example.com:25 -starttls smtp

Loading 'screen' into random state - done
CONNECTED(000001F4)
depth=1 /DC=com/DC=example/CN=example-Issuing-CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/CN=mailserver1.example.com
   i:/DC=com/DC=example/CN=example-Issuing-CA
 1 s:/DC=com/DC=example/CN=example-Issuing-CA
   i:/CN=example-Root-CA
---
Server certificate
-----BEGIN CERTIFICATE-----
< certificate info here >
-----END CERTIFICATE-----
subject=/CN=mailserver1.example.com
issuer=/DC=com/DC=example/CN=example-Issuing-CA
---
No client certificate CA names sent
---
SSL handshake has read 3875 bytes and written 485 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: < session ID >
    Session-ID-ctx:
    Master-Key: < master key >
    Key-Arg   : None
    Start Time: 1487248994
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
250 XRDST
QUIT
DONE
sql-server exchange
  • 1 1 个回答
  • 1411 Views

1 个回答

  • Voted
  1. Best Answer
    BastianW
    2017-02-16T08:52:58+08:002017-02-16T08:52:58+08:00

    您在此处看到的问题与用于 MS Exchange 环境提供的 SMTP 服务的 SSL 证书有关。

    要检查 SSL 证书,您可以通过以下方式使用 openSSL:

    openssl s_client -connect exchange01.int.contoso.com:25 -starttls smtp

    根据您的 MS Exchange 环境的配置,此处可能会应用多种解决方案(有关更多信息,请参见此处):

    • 主机名不在 SSL 证书中(您的环境可能不是这种情况)
    • MS Exchange 服务器仍然使用自签名证书,您会看到使用 openssl
    • 此处使用的某些 SSL 证书已过时
    • 认证链中的某些部分不受信任(从机器导入受信任根存储中缺少的部分,因为它与 SQL 服务相关)

    更新(由于您的编辑): 根据您的故障排除,看起来 SMTP 服务是否未使用正确的证书。因此,以下内容应明确:

    Enable-ExchangeCertificate -Thumbprint D1215C7C1E5D674E7C244FCB776D60F93E -Identity mailserver1.example.com -Services SMTP
    

    您需要为您的两个 Exchange 服务器运行它。

    • 1

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • SQL 洗衣清单

  • OPENROWSET、二进制文件、varchars 和 varbinaries

  • 聚集索引与非聚集索引?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve