Tôi đã cố gắng thiết lập ủy quyền chứng chỉ ứng dụng khách trên điểm cuối IIS. Theo hướng dẫn tại https://joji.me/en-us/blog/how-to-create-an-iis-website-that-requires-client-certert-using-self-signed-certificates/ Tôi đã tạo chứng chỉ gốc, sau đó là chứng chỉ máy chủ và chứng chỉ ứng dụng khách từ chứng chỉ gốc đó.
Tôi thấy điều đó trên máy chủ của mình (Windows 2012 R2, sử dụng IIS 8.5), khi tôi cài đặt chứng chỉ gốc vào kho lưu trữ chứng chỉ Gốc đáng tin cậy và chứng chỉ ứng dụng khách vào Cửa hàng cá nhân cho người dùng hiện tại, tôi có thể duyệt đến điểm cuối.Tôi nhập địa chỉ (https://localhost/foobar/endpointName), một danh sách các chứng chỉ ứng dụng khách sẽ xuất hiện để tôi chọn và nếu tôi chọn đúng, tôi sẽ đến điểm cuối.
Đó là một câu chuyện khác từ xa. Khi tôi thử từ một máy khác có cùng chứng chỉ ứng dụng khách đó được cài đặt trong Cửa hàng cá nhân của người dùng, tôi không nhận được danh sách các chứng chỉ ứng dụng khách để chọn, tôi chỉ gặp lỗi 403 Trái phép. Trong trường hợp này, URL là https://serverCertName.domain.com/foobar/endpointName, trong đó serverCertName.domain.com có bản ghi A thích hợp. Tôi cũng đã thử điều này trong IE nơi bạn có thể tải một chứng chỉ cụ thể và nhận được kết quả tương tự. Trong nhật ký IIS trên máy chủ mà tôi đang cố truy cập, những lần thử này được ghi lại dưới dạng 403.7.
Tôi cũng đã thử điều này từ mã trên máy chủ từ xa bằng cách sử dụng HttpClient (C#) và cũng nhận được thông báo Không được phép ở đó. Tôi đã nhìn chằm chằm vào màn hình của mình rất lâu trong khi cố gắng tìm ra sự khác biệt có thể ở đây giữa các yêu cầu cục bộ và yêu cầu từ xa của tôi, nhưng lần này kỹ năng tìm kiếm trên Internet của tôi không thành công.