Điểm:1

Máy chủ có thể cung cấp nhiều chứng chỉ TLS không?

lá cờ br

Giả sử tôi có chứng chỉ TLS cho một miền nhưng tôi không chắc liệu tất cả tác nhân người dùng có khả năng kết nối qua HTTP có chấp nhận chứng chỉ đó hay không. Tôi có thể lấy chứng chỉ khác, được ký bởi cơ quan cấp chứng chỉ khác và sử dụng chứng chỉ đó trong các trường hợp như dự phòng, một cách minh bạch cho người dùng không? Nếu có thể, giao tiếp máy khách-máy chủ để thiết lập kết nối an toàn sẽ tiến hành như thế nào? Và trường hợp sử dụng này có nổi tiếng và được hỗ trợ trong cấu hình của các máy chủ HTTP phổ biến không?

Tôi biết có những câu hỏi tương tự nhưng họ hỏi về việc thay đổi chứng chỉ đã sử dụng theo tên miền phụ (có thể) hoặc tiền tố đường dẫn (IIUC không thể vì tại thời điểm thương lượng, máy chủ chỉ biết cơ quan chứ không phải URI yêu cầu đầy đủ).

Paul avatar
lá cờ cn
Tôi không có nguồn cho điều này, ngoài việc nói rằng tôi thấy nhiều trang web Cloudflare, đặc biệt, có cả chứng chỉ EC và RSA. Tôi đoán khách hàng đang quyết định sử dụng cái nào.
Điểm:2
lá cờ cn
Bob

Máy chủ có thể cung cấp nhiều chứng chỉ TLS không?

Một máy chủ có thể hỗ trợ nhiều hơn một chứng chỉ TLS. Nhưng nó chỉ có thể phục vụ một chứng chỉ TLS duy nhất trong quá trình bắt tay TLS với máy khách. AFAIK đó là giới hạn được đặt trong giao thức TLS (bắt tay) RFC 5246

khả năng để hỗ trợ nhiều chứng chỉ được sử dụng thường xuyên nhất khi bạn có nhiều tên miền khác nhau đều trỏ đến cùng một máy chủ.

Chỉ định tên máy chủ gửi tên máy chủ của máy chủ trong quá trình bắt tay TLS do máy khách thực hiện. Điều đó cho phép máy chủ chọn chứng chỉ phù hợp nhất để sử dụng cho kết nối đó. I E. sau đó máy chủ có thể sử dụng chứng chỉ cho www.example.com khi máy khách chỉ ra rằng nó muốn kết nối với www.example.com và nó có thể sử dụng chứng chỉ khác (hoặc mặc định) khi máy khách chỉ kết nối với địa chỉ IP, không có tên máy chủ hoặc tên máy chủ khác trong thông báo ClientHello.

Ngoài tên máy chủ từ thông báo bắt tay ClientHello TLS, máy chủ có thể được định cấu hình để sử dụng các tham số khác để chọn chứng chỉ khác.

Ví dụ: khi trong quá trình bắt tay TLSv1.2, ứng dụng khách chỉ ra rằng ưu tiên đầu tiên là sử dụng các đường cong elip thay vì RSA , thì có thể cung cấp khóa/chứng chỉ ECDSA và đối với những ứng dụng không sử dụng, chứng chỉ RSA có thể được cung cấp thay thế.
Xem ví dụ https://www.haproxy.com/blog/serving-ecc-and-rsa-certificates-on-same-ip-with-haproxy/ và/hoặc https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatefile

Bạn có thể thực hiện tương tự với các ứng dụng khách cũ không hỗ trợ mật mã trên TLSv1.0

Nhưng một khi chứng chỉ đã được máy chủ chọn, sẽ không có dự phòng, khách hàng sẽ chấp nhận hoặc từ chối chứng chỉ được cung cấp.

ByteEater avatar
lá cờ br
[Câu trả lời này](https://security.stackexchange.com/a/46992) trích dẫn RFC 5426, Mục 7.4.1.1: "Máy chủ CÓ THỂ gửi thông báo HelloRequest bất cứ lúc nào." Nó có thể được sử dụng để cung cấp một chứng chỉ khác khi khách hàng đã từ chối chứng chỉ được cung cấp trước đó không?
lá cờ cn
Bob
Rất khó để gửi một cái gì đó mặc dù một khi máy khách đã ngắt kết nối vì nó không thể xác thực chứng chỉ máy chủ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.