徵兆
請試想下列案例:
-
在 Exchange Server環境中,Outlook Web App或 Exchange 控制台 (ECP) 網站已配置為使用表單式驗證 (FBA) 。
-
使用者輸入有效的信箱使用者名稱和密碼。
當使用者在此情境中Outlook Web App或 ECP 時,會重新導向到 FBA 頁面。 沒有錯誤訊息。
此外,在 HttpProxy\Owa 記錄中,"/owa" 專案會顯示"CorrelationID=<空白>;針對失敗的要求,已退回 NoCookies=302"。 在記錄稍早,「/owa/auth.owa」專案表示使用者已成功通過驗證。原因
如果網站是由使用 Key 儲存體 提供者 (KSP) 透過 Cryptography 新一代 CNG (CNG) 的憑證所保護,則可能會發生此問題。
Exchange Server不支援 CNG/KSP 憑證來保護Outlook Web App ECP。 您必須改為使用加密 (提供者) 解決方案提供者。 您可以判斷私密金鑰是否從託管受影響網站的伺服器儲存在 KSP 中。 如果您有包含pfx、p12 (之私密金鑰的憑證檔案,您也可以驗證) 。如何使用 CertUtil 來判斷私密金鑰儲存空間
如果伺服器上已安裝憑證,請執行下列命令:
certutil -store my <CertificateSerialNumber>如果憑證儲存在pfx/p12 檔案中,請執行下列命令:
certutil <CertificateFileName>在這兩種情況下,該憑證的輸出會顯示下列專案:
提供者 = Microsoft 儲存體金鑰提供者
解決方案
若要解決此問題,請將憑證遷移到 CSP,或向憑證提供者索取 CSP 憑證。
注意 如果您使用來自其他軟體或硬體廠商的 CSP 或 KSP,請聯絡相關廠商以提供適當的指示。 例如,如果您使用 Microsoft RSA SChannel 加密提供者,且憑證未鎖定至 KSP,您應該執行此操作。-
備份現有的憑證,包括私密金鑰。 若要進一步瞭解如何執行此工作,請參閱 匯出-ExchangeCertificate。
-
執行 Get-ExchangeCertificate命令,以判斷哪些服務目前已綁定至憑證。
-
執行下列命令,將新憑證導入到 CSP:
certutil -csp"Microsoft RSA SChannel 加密提供者" -importpfx <CertificateFilename> -
執行Get-ExchangeCertificate,以確保憑證仍與相同的服務綁定。
-
重新開機伺服器。
-
執行下列命令,確認憑證現在已與 CSP 一起儲存其私密金鑰:
certutil -store my <CertificateSerialNumber>
輸出現在應該會顯示下列專案:
提供者 = Microsoft RSA SChannel 加密提供者