安全性憑證的名稱無效或與網站名稱不符

安全性憑證的名稱無效或與網站名稱不符

我們的 Exchange 伺服器已經使用內部簽署的憑證運行了一段時間。今天我購買了一個受信任的 SSL 憑證(wildcard)並安裝在伺服器上。

此憑證頒發給 *.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 資料夾。仍然沒有成功。

我現在沒有想法了...我在網路上訪問過的每個網站都表明我做了我剛才所做的事情,並且結果預計與我的結果一樣...

更新:我的一位使用者甚至無法從其工作站登入 Outlook。帳戶正常(手機和網頁用戶端上的郵件都可以),但 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 的 e (PTR) 記錄指向 mail.example.no
  • 已下載適用於 Microsoft Exchange 的 DigiCert® 內部名稱工具
  • 運行該工具,地址大部分是正確的,但 OWAVirtualDirectory ECPVirtualDirectory 仍然引用 mx.example.local 所以我將它們更改為 mail.example.no

查詢輸出看起來很有希望:

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

展望沒有.....

小測試:

  1. 前往帳戶設定 -> 更多設定 -> 連線 -> Exchange 代理程式設定。
  2. 將連線 URL 變更為https://mail.example.no
  3. 將允許的主體名稱更改為msstd:*.example.no
  4. 重新啟動 Outlook。現在不會彈出證書錯誤,但我注意到我沒有連接...
  5. 再次帳戶設置,這次我選擇自動修復
  6. 重新啟動 Outlook
  7. 現在,如果我返回 Exchange 代理程式設置,內部 URL 已返回...

答案1

來自第 3 方頒發者的憑證需要將您的內部 FQDN 作為使用者備用名稱,以便能夠與使用 Outlook 的 LAN 使用者嘗試存取的本機自動發現搭配使用,因為憑證位於您的 IIS 或 Exchange 上。

否則,系統將提示使用者“SSL 憑證名稱不符”,並且在某些情況下,系統將提示使用者一次又一次地輸入密碼。

答案2

我正在解決這個問題。我沒有足夠的積分來發表評論。

但我很好奇,您是否設定了 EXCH Outlook 提供者 CertPrincipalName?

Get-OutlookProvider

通配符憑證通常需要設定 EXPR 提供者。但我發現我可能還需要為 RPC 用戶端設定 EXCH 提供者。

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

相關內容