Symptomy
Rozpatrzmy następujący scenariusz:
-
W środowisku Exchange Server witryna internetowa Outlook Web App lub Exchange Control Panel (ECP) jest skonfigurowana do korzystania z uwierzytelniania opartego na formularzach.
-
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 przekierowywany na stronę FBA. Nie ma komunikatu o błędzie.
Ponadto w dzienniku HttpProxy\Owa wpisy dla ciągu "/owa" wskazują, że wartość "CorrelationID=<jest>; Dla żądań nieudanych zwrócono wartość NoCookies=302". We wcześniejszej wersji dziennika 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 klucza Storage (KSP) do przechowywania klucza prywatnego za pośrednictwem CNG (Cryptography Next Generation).
Exchange Server nie obsługuje certyfikatów CNG/KSP do zabezpieczania Outlook Web App ecp. Zamiast tego należy użyć dostawcy usług kryptograficznych. Możesz ustalić, czy klucz prywatny jest przechowywany w programie KSP na serwerze hostowym witrynę internetową, na którym ma to wpływ. Możesz to również sprawdzić, jeśli masz plik certyfikatu zawierający klucz prywatny (pfx, p12).Jak używać certyfikatu CertUtil do określania magazynu klucza prywatnego
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 w wyniku dla tego certyfikatu są wyświetlane następujące dane:
Provider = Microsoft Storage Key Provider
Rozwiązanie
Aby rozwiązać ten problem, przemigruj certyfikat do dostawcy CSP lub zażądaj certyfikatu CSP od dostawcy certyfikatu.
Uwaga Jeśli korzystasz z programu CSP lub KSP od innego dostawcy oprogramowania lub sprzętu, skontaktuj się z odpowiednim dostawcą, aby uzyskać odpowiednie instrukcje. Należy to zrobić na przykład w przypadku korzystania z dostawcy szyfrowania SChannel firmy Microsoft RSA, który nie został zablokowany w programie KSP.-
Należy również wrócić do kopii zapasowej istniejącego certyfikatu, łącznie z kluczem prywatnym. Aby uzyskać więcej informacji na ten temat, zobacz Export-ExchangeCertificate.
-
Uruchom Get-ExchangeCertificate, aby określić, które usługi są obecnie powiązane z certyfikatem.
-
Zaimportuj nowy certyfikat do usługi CSP, uruchamiając następujące polecenie:
certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx <CertificateFilename> -
Uruchom Get-ExchangeCertificate, aby się upewnić, że certyfikat jest nadal powiązany z tym samymi usługami.
-
Uruchom ponownie serwer.
-
Uruchom następujące polecenie, aby sprawdzić, czy certyfikat ma teraz swój klucz prywatny przechowywany w programie CSP:
certutil -store my <CertificateSerialNumber>
W wynikach powinny być teraz wyświetlane następujące elementy:
Provider = Dostawca szyfrowania Microsoft RSA SChannel