Dotyczy
Exchange Server 2013 Enterprise Edition Exchange Server 2013 Standard Edition Exchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition Exchange Server 2019

Symptomy

Rozpatrzmy następujący scenariusz:

  • W środowisku Exchange Server witryna internetowa programu Outlook Web App lub programu Exchange Panel sterowania (ECP) jest skonfigurowana do używania uwierzytelniania opartego na formularzach (FBA).

  • Użytkownik wprowadza prawidłową nazwę użytkownika i hasło skrzynki pocztowej.

Gdy użytkownik loguje się do Outlook Web App lub ECP w tym scenariuszu, jest przekierowywane do strony FBA. Nie jest wyświetlany żaden komunikat o błędzie. Ponadto w dzienniku HttpProxy\Owa wpisy "/owa" pokazują, że "CorrelationID=<pusty>; Funkcja NoCookies=302" została zwrócona dla żądań, które nie powiodły się. Wcześniej w dzienniku wpisy "/owa/auth.owa" wskazują, że użytkownik został pomyślnie uwierzytelniony.

Przyczyna

Ten problem może wystąpić, jeśli witryna internetowa jest zabezpieczona certyfikatem, który używa dostawcy magazynu kluczy (KSP) do przechowywania kluczy prywatnych za pośrednictwem składnika Cryptography Next Generation (CNG). Exchange Server nie obsługuje certyfikatów CNG/KSP do zabezpieczania Outlook Web App lub ECP. Zamiast tego należy użyć dostawcy usług kryptograficznych (CSP). Możesz określić, czy klucz prywatny jest przechowywany w KSP z serwera hostowego daną witrynę internetową. Możesz to również sprawdzić, jeśli masz plik certyfikatu zawierający klucz prywatny (pfx, p12).

Jak używać funkcji CertUtil do określania magazynu kluczy prywatnych

Jeśli certyfikat jest już zainstalowany na serwerze, uruchom następujące polecenie:

certutil -store my <CertificateSerialNumber>Jeśli certyfikat jest przechowywany w pliku pfx/p12, uruchom następujące polecenie:  

certutil <CertificateFileName>W obu przypadkach dane wyjściowe danego certyfikatu wyświetlają następujące informacje:  

Dostawca = dostawca klucza magazynu firmy Microsoft

Rozwiązanie

Aby rozwiązać ten problem, zmigruj certyfikat do programu CSP lub zażądaj certyfikatu CSP od dostawcy certyfikatu.Uwaga Jeśli używasz programu CSP lub KSP innego producenta oprogramowania lub sprzętu, skontaktuj się z odpowiednim dostawcą, aby uzyskać odpowiednie instrukcje. Na przykład należy to zrobić, jeśli korzystasz z dostawcy kryptograficznego Microsoft RSA SChannel i jeśli certyfikat nie jest zablokowany w programie KSP.

  1. Utwórz kopię zapasową istniejącego certyfikatu, w tym klucza prywatnego. Aby uzyskać więcej informacji o tym, jak to zrobić, zobacz Export-ExchangeCertificate.

  2. Uruchom polecenie Get-ExchangeCertificate, aby określić, które usługi są obecnie powiązane z certyfikatem.

  3. Zaimportuj nowy certyfikat do programu CSP, uruchamiając następujące polecenie: certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx <CertificateFilename>

  4. Uruchom Get-ExchangeCertificate, aby upewnić się, że certyfikat jest nadal powiązany z tymi samymi usługami.

  5. Uruchom ponownie serwer.

  6. Uruchom następujące polecenie, aby sprawdzić, czy certyfikat ma teraz klucz prywatny przechowywany w programie CSP: certutil -store my <CertificateSerialNumber>

Dane wyjściowe powinny teraz zawierać następujące informacje:  

Dostawca = dostawca kryptograficzny Microsoft RSA SChannel

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.