安全证书的名称无效或与站点名称不匹配

安全证书的名称无效或与站点名称不匹配

我们的 Exchange 服务器已经使用内部签名的证书运行了一段时间。今天我购买了受信任的 SSL 证书 (wilcard) 并安装在服务器上。

该证书颁发给 *.example.no,当我https://mail.example.no/owa从 Web 浏览器访问 Web 界面时,没有任何安全异常。

现在,当我打开 Outlook 时,会出现此证书验证错误。我尝试了提供的所有标准解决方案,其中大部分涉及将外部 URL 设置为内部 URL。

  • 内部 FQDNmx.example.local
  • 外部 FQDNmail.example.no
  • 错误信息:代理服务器的安全证书存在问题。安全证书上的名称无效或与目标站点名称 mx.example.local 不匹配。Outlook 无法连接到代理服务器。(错误代码 10)

我做了什么

Set-WebServicesVirtualDirectory –Identity ‘mx\EWS (Default Web Site)’ –ExternalUrl https://mail.example.no/ews/exchange.asmx

Set-WebServicesVirtualDirectory -Identity "mx\EWS (Default Web Site)" –InternalUrl https://mail.example.no/EWS/Exchange.asmx

Set-OABVirtualDirectory -Identity “mx\OAB (Default Web Site)” -InternalURL https://mail.example.no/OAB

Set-ActiveSyncVirtualDirectory -Identity “mx\Microsoft-Server-ActiveSync (Default Web Site)” -InternalURL https://mail.example.no/Microsoft-Server-Activesync

Set-ClientAccessServer -Identity mx -AutodiscoverServiceInternalUri https://mail.example.no/autodiscover/autodiscover.xml

结果

[PS] C:\>Get-WebServicesVirtualDirectory | Select InternalUrl, BasicAuthentication, ExternalUrl, Identity | Format-List

InternalUrl         : https://mail.example.no/ews/exchange.asmx
BasicAuthentication : True
ExternalUrl         : https://mail.example.no/ews/exchange.asmx
Identity            : mx\EWS (Default Web Site)

[PS] C:\>Get-OabVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List

InternalUrl : https://mail.example.no/oab
ExternalUrl : https://mail.example.no/OAB
Identity    : mx\OAB (Default Web Site)

[PS] C:\>Get-ActiveSyncVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List

InternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
Identity    : mx\Microsoft-Server-ActiveSync (Default Web Site)

[PS] C:\>Get-ClientAccessServer | Select Fqdn, AutoDiscoverServiceInternalUri, Identity | Format-List

Fqdn                           : mx.example.local
AutoDiscoverServiceInternalUri : https://mail.example.no/autodiscover/autodiscover.xml
Identity                       : mx

之后我

  • 回收了 IIS 应用程序池 MSExchangeAutoDiscoverAppPool(这并没有使消息消失,所以我......)
  • 重新启动了整个邮件服务器(但这并没有使消息消失,所以我......)
  • 进入控制面板 -> 邮件 -> 电子邮件帐户并选择修复我​​的帐户(因为我正在发布这篇文章,你可能已经猜到这也没有效果)
  • 刷新客户端计算机的 DNS(以防自动发现 URL 被忽略)
  • 再次修复电子邮件帐户
  • 尝试编辑帐户并将公共 FQDN mail.example.no 作为服务器地址
  • 编辑:尝试删除并重新创建帐户。删除了整个邮件配置文件、%AppData%\Local\Outlook 和 %AppData%\Local\Outlook 文件夹。仍然没有成功。

我现在没什么主意了...我在网上访问过的每个网站都建议我做我刚才做的事情,并且预计结果会和我的结果一样......

更新:我的一个用户甚至无法从他们的工作站使用 Outloook 登录。帐户正常(手机和 Web 客户端上的邮件可用),但 Outlook 不断重复输入密码提示,并且不会退出脱机模式。

更新:在 Digicert 网站上进行了 SSL 检查,以查看证书是否安装成功。服务器通过了所有检查,唯一警告的是使用 SSL 3.0 协议:协议支持 TLS 1.1、TLS 1.0、SSL 3.0。SSL 3.0 是一个过时的协议版本,具有已知漏洞。

更新 150709

免责声明:本次更新并未损害任何真实的内部 IP 地址

  • 我在 DNS 中设置了一个新的正向查找区域,mail.example.no其中一条空白 (A) 记录指向 192.168.1.1(邮件服务器的假设 IP 地址)
  • 在 192.168.1.in-adds.arpa 的反向查找区域中,我有一条名为 192.168.1.1 的 (PTR) 记录,指向 mail.example.no
  • 已下载适用于 Microsoft Exchange 的 DigiCert® 内部名称工具
  • 运行该工具,地址大部分都是正确的,但 OWAVirtualDirectory ECPVirtualDirectory 仍然引用 mx.example.local,所以我将它们更改为 mail.example.no

nslookup输出看起来很有希望:

D:\>ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

D:\>nslookup mail.example.no
Server:  dc1.example.local
Address:  192.168.1.2

Name:    mail.example.no
Address:  192.168.1.1


D:\>nslookup 192.168.1.1
Server:  dc.example.local
Address:  192.168.1.2

Name:    mail.example.no
Address:  192.168.1.1

Outlook 没有.....

小测试:

  1. 转到帐户设置->更多设置->连接->Exchange 代理设置。
  2. 将连接 URL 更改为https://mail.example.no
  3. 将允许的主体名称更改为msstd:*.example.no
  4. 重新启动 Outlook。证书错误现在没有弹出,但我注意到我没有连接...
  5. 再次设置帐户,这次我选择了自动修复
  6. 重新启动 Outlook
  7. 现在,如果我返回 Exchange 代理设置,内部 URL 已返回...

答案1

第三方颁发机构的证书需要将您的内部 FQDN 作为主题备用名称,以便能够与您的本地自动发现配合使用,因为证书位于您的 IIS 或 Exchange 上,所以使用 Outlook 的 LAN 用户正在尝试访问该自动发现。

否则,系统将提示用户“SSL 证书名称不匹配”,并且在某些情况下,系统会提示用户一遍又一遍地输入密码。

答案2

我正在努力解决这个确切的问题。我没有足够的积分来发表评论。

但我很好奇,您是否设置了 EXCH Outlook 提供程序 CertPrincipalName?

Get-OutlookProvider

对于通配符证书,通常需要设置 EXPR 提供程序。但我发现我可能还需要为 RPC 客户端设置 EXCH 提供程序。

Set-OutlookProvider EXCH -CertPrincipalName msstd:*.domain.com

相关内容