Nếu bạn muốn cung cấp HTTPS từ đầu, bạn phải cung cấp chứng chỉ được khách hàng chấp nhận từ đầu. Bởi vì nếu không, máy khách sẽ không chấp nhận kết nối SSL và bạn sẽ không thể chuyển hướng máy khách đến một trang web khác hoặc phiên bản chỉ có HTTP. Điều này có nghĩa là để hỗ trợ trường hợp này bạn
- hoặc cần phải có một chứng chỉ duy nhất chứa tất cả các tên miền của bạn, để bạn có thể cung cấp cho các khách hàng không phải SNI một chứng chỉ phù hợp. Nhưng trong trường hợp này bạn không cần SNI chút nào.
- hoặc bạn phải cài đặt một số chứng chỉ mặc định không khớp với hầu hết tên của bạn. Trong trường hợp này, bạn chỉ có thể cung cấp cho khách hàng một trang khác hoặc chuyển hướng nó nếu khách hàng chấp nhận chứng chỉ xấu này.
Nếu bạn không cần phải có HTTPS từ đầu, đó là nếu máy khách thường kết nối trước với HTTP đơn giản, thì bạn có thể thử phát hiện hỗ trợ SNI để bạn có thể chuyển hướng máy khách sau. Điều này có thể được thực hiện bằng cách bao gồm một hình ảnh, một số JavaScript hoặc nội dung tương tự từ trang web HTTPS của bạn và nếu quá trình tải thành công thì bạn biết rằng máy khách hỗ trợ SNI hoặc bỏ qua lỗi chứng chỉ.
Tất nhiên, điều này khiến mọi thứ mở ra cho các cuộc tấn công trung gian, bởi vì tất cả những người trung gian phải làm là phục vụ một số chứng chỉ khác nhau hoặc làm cho HTTPS không có sẵn, vì trong trường hợp này bạn sẽ không bao giờ thử để nâng cấp kết nối lên HTTPS. Ngoài ra, điều này có thể được sử dụng để làm cho nó trông giống như các máy khách hỗ trợ SNI, nếu người trung gian thực hiện thay thế. Và không chỉ các khách hàng không phải SNI bị ảnh hưởng bởi điều này mà các khách hàng có khả năng SNI chỉ có thể bị chặn. Vì vậy, trong khi điều này có thể là lý thuyết thì không nên vì bạn có thể đơn giản là người trung gian mọi thứ và do đó làm cho điểm chính của việc sử dụng HTTPS moot.