這幾天內部使用者打開outlook出現憑證錯誤的訊息(過期),外部使用者無法使用outlook無所不在連線,但owa可以使用,而且連smart phone也連不上exchange伺服器,出現錯誤。最後發現憑證在5/20總統就職後,就默默的過期了。在爬了google後發現許多人也有同樣的問題,卻沒有一個較為詳細的解決步驟,也因為如此,為了避免二年後再出現時又要爬一次文,因此留下這篇記錄。
問題判別
過期判斷點1:
檢查Exchange server上的IIS -->在"伺服器名稱"的選項中可找到"伺服器憑證"的模組。點入後可以看到裡面相關郵件伺服器的憑證已過期。
過期判斷點2:
使用者會出現憑證錯誤的訊息
過期判斷點3:
由Client端輸入https://郵件伺服器/rpc 在網址列的右邊會出現紅色憑證錯誤的訊息。正常時會出現一個小鎖頭。
過期判斷點4:
用outlook透過無所不在連線時可能會看到如下的錯誤訊息:
Proxy 伺服器的安全性憑證發生問題。
Outlook 無法連線至 Proxy 伺服器 (錯誤代碼 0)
過期判斷點5:
輸入以下指令後可發現已過期的憑證與其 Thumbprint 的值 (忘了剪圖,借一下別人的圖)
Get-ExchangeCertificate | List
以上內容來自 <http://blog.miniasp.com/post/2010/05/16/How-to-update-certificate-in-Exchange-Server-2007.aspx>
處理方式:
1:先移除掉Exchange Server之中,IIS模組之中與郵件伺服器相關的過期憑證
2:用管理員的權限打開Exchange powershell,輸入指令產生新的憑證要求文字檔:
New-ExchangeCertificate -GenerateRequest:$true -path c:\xxx.txt -DomainName mail.aaa.com.tw,autodiscover.aaa.com.tw -PrivateKeyExportable:$true -FriendlyName "DAS" -IncludeAcceptedDomains:$false -Force:$true
提醒: (主體及別名在都需加入在DNS伺服器的正向解析中)
-DomainName 之後的mail.lerado.com.tw為憑證主體,視outlook proxy命名而定,設錯會一直跳帳密輸入的框框。後面為主體別名,autodiscover.lerado.com.tw為必要,否則outlook連線時,會跳出憑證錯誤的畫面,上面會出現名稱錯誤的訊息。
3.打開c:\xxx.txt 並複製其內容
4.連上憑證伺服器 http://pdc.abc.com.tw/certsrv 要求新的憑證
4.1:點選要求憑證
4.2:進階憑證要求
4.3: 用 Base-64 編碼的 CMC 或 PKCS #10 檔案來提交憑證要求
4.4:將txt的內容貼入"已儲存要求"那一欄,在"憑證範本"選"網頁伺服器",並提交
4.5直接下載憑證並儲存在C槽下
6.再到Exchange powershell之中輸入指令將新的憑證匯入IIS
Import-ExchangeCertificate -path C:\xxx.cer -FriendlyName "DAS" |Enable-ExchangeCertificate -Services IIS
7.完成憑證更新。
8.確認iis中憑證主體及主體別名是否正確,再測試看看outlook及owa是否正常。
(主體設置錯誤會導致outlook無所不在的outlook proxy找不到伺服器,而連不上mailserver,且一直使用TCP/IP連線,而不會走Https)