套用到
Exchange Server 2013 Enterprise Edition Exchange Server 2013 Standard Edition Exchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition Exchange Server 2019

徵兆

請試想下列案例:

  • 在Exchange Server環境中,Outlook Web App或Exchange 控制台 (ECP) 網站會被設定為使用 FBA) (表單式驗證。

  • 使用者輸入有效的信箱使用者名稱和密碼。

當使用者在此情況下登入 Outlook Web App 或 ECP 時,會被重新導向 FBA 頁面。 沒有錯誤訊息。 此外,在 HttpProxy\Owa 日誌中,「/owa」的條目顯示「CorrelationID=<空>;對於失敗的請求,NoCookies=302“ 被回傳。 日誌前面的「/owa/auth.owa」條目表示使用者已成功認證。

原因

若網站以使用金鑰儲存提供者 (KSP) 作為私鑰儲存的憑證,則可能發生此問題,該憑證透過 Cryptography Next Generation (CNG) 進行私鑰儲存。 Exchange Server 不支援 CNG/KSP 憑證來保護 Outlook Web App 或 ECP。 必須使用加密服務提供者 (CSP) 。 你可以從託管受影響網站的伺服器判斷私鑰是否儲存在 KSP 中。 如果你有包含 pfx 私鑰的憑證檔,也可以驗證,p12) (。

如何使用 CertUtil 來判斷私鑰儲存

如果憑證已安裝在伺服器上,請執行以下指令:

certutil -store my <CertificateSerialNumber>如果憑證儲存在 pfx/p12 檔案中,請執行以下指令:  

certutil <憑證檔案名稱>無論哪種情況,該憑證的輸出都會顯示以下內容:  

Provider = Microsoft Storage Key Provider

解決方案

要解決這個問題,請將憑證遷移到CSP,或向你的憑證提供者申請CSP憑證。注意:如果您使用其他軟體或硬體廠商的 CSP 或 KSP,請聯繫相關廠商以獲得相關說明。 例如,如果你使用 Microsoft RSA SChannel 加密服務提供者,且憑證未被鎖定在 KSP 中,你應該這麼做。

  1. 備份你現有的憑證,包括私鑰。 欲了解更多相關資訊,請參閱 Export-ExchangeCertificate

  2. 執行 Get-ExchangeCertificate 指令以判斷目前綁定在憑證上的服務。

  3. 透過執行以下指令將新憑證匯入 CSP: certutil -csp “Microsoft RSA SChannel Cryptographic Provider” -importpfx <CertificateFilename>

  4. 執行 Get-ExchangeCertificate 確認憑證仍然綁定在相同的服務上。

  5. 重新啟動伺服器。

  6. 執行以下指令以驗證憑證是否已將私鑰儲存在 CSP 中: certutil -store my <CertificateSerialNumber>

輸出結果現在應該會顯示以下內容:  

Provider = Microsoft RSA SChannel 密碼學提供者

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。