Triệu chứng
Xem xét tình huống sau:
-
Trong môi trường Exchange Server 2013, một trang web Outlook Web App hoặc Pa-nen điều khiển Exchange (ECP) được cấu hình để sử dụng xác thực dựa trên biểu mẫu (FBA).
-
Người dùng vào hộp thư hợp lệ tên người dùng và mật khẩu.
Khi người dùng đăng nhập vào Outlook Web App hoặc ECP trong tình huống này, thì được chuyển hướng tới trang FBA. Thông báo lỗi không.
Ngoài ra, trong Nhật ký HttpProxy\Owa, mục "/ owa" thấy "CorrelationID = > < trống; NoCookies = 302" được trả lại cho các yêu cầu không thành công. Trước đó trong Nhật ký, mục "/ owa/auth.owa" cho biết rằng người dùng đã xác nhận thành công.
Nguyên nhân
Sự cố này có thể xảy ra nếu các trang web được bảo vệ bằng chứng chỉ sử dụng một nhà cung cấp lưu trữ chính (KSP) để lưu trữ khoá riêng thông qua tạo tới mật mã (CNG).
Exchange Server không hỗ trợ CNG/KSP chứng chỉ để bảo vệ Outlook Web App hoặc ECP. Một nhà cung cấp dịch vụ mật mã (CSP) phải được dùng để thay thế. Bạn có thể xác định xem khoá cá nhân được lưu trữ trong KSP từ máy chủ lưu trữ các trang web bị ảnh hưởng. Bạn cũng có thể kiểm tra nếu bạn có tệp chứng chỉ có phím riêng (pfx, p12).
Làm thế nào để sử dụng CertUtil để xác định cá nhân quan trọng lí
Nếu chứng chỉ đã được cài đặt trên máy chủ, hãy chạy lệnh sau:
certutil-lưu trữ của tôi <CertificateSerialNumber>Nếu chứng chỉ được lưu trữ trong một tập tin pfx/p12, chạy lệnh sau:
certutil <CertificateFileName>Trong cả hai trường hợp, kết quả chứng chỉ trong câu hỏi Hiển thị như sau:
Nhà cung cấp = lưu trữ Microsoft cung cấp khoá
Giải pháp
Để khắc phục sự cố này, di chuyển chứng chỉ máy CSP hoặc yêu cầu chứng chỉ CSP từ nhà cung cấp chứng chỉ.
Lưu ý Nếu bạn sử dụng CSP hoặc KSP từ nhà cung cấp phần mềm hoặc phần cứng khác, hãy liên hệ với nhà cung cấp có liên quan để được hướng dẫn thích hợp. Ví dụ, bạn nên thực hiện việc này nếu bạn sử dụng Microsoft RSA SChannel mã nhà cung cấp và nếu chứng chỉ không bị khóa vào một KSP.
-
Sao lưu chứng chỉ hiện tại của bạn, bao gồm phím riêng. Để biết thêm thông tin về cách thực hiện việc này, hãy xem ExchangeCertificate xuất.
-
Chạy lệnh Get-ExchangeCertificate để xác định dịch vụ nào hiện chắc chắn chứng chỉ.
-
Nhập chứng chỉ mới vào một CSP bằng cách chạy lệnh sau:
certutil - csp "Microsoft RSA SChannel mã nhà cung cấp" - importpfx < CertificateFilename > -
Chạy Get-ExchangeCertificate để đảm bảo rằng chứng chỉ vẫn bị ràng buộc đối với dịch vụ tương tự.
-
Khởi động lại máy chủ.
-
Chạy lệnh sau để xác nhận chứng chỉ hiện có khóa riêng được lưu trữ một CSP:
certutil-lưu trữ của tôi <CertificateSerialNumber>
Kết quả sẽ hiển thị như sau:
Nhà cung cấp = Microsoft RSA SChannel cung cấp mật mã