В одной статье я прочитал, что Openssl 1.0.2 позволяет выбирать сертификат в зависимости от конфигурации клиента. Например, ранняя версия SP2 для Windows XP не поддерживает сертификат ECC. для этого сервера вернет один сертификат и другой сертификат для современной ОС.
Не могу найти описание этой технологии. Поддерживает ли это какой-либо веб-сервер?
Вы имеете в виду этот фрагмент в связанной статье (здесь, переведенной на английский язык):
OpenSSL версии 1.0.2 позволяет выбрать сертификат сервера на основе параметров клиента. К сожалению, Nginx из коробки не позволяет использовать несколько сертификатов для одного
server
.
Похоже, это относится к следующей функции OpenSSL, добавлено в 1.0.2:
*) Добавить обратный вызов сертификата. Если установлено, это вызывается всякий раз, когда сертификат требуется клиенту или серверу. Приложение может решить, какую цепочку сертификатов представить, на основе произвольных критериев: например, поддерживаемых алгоритмов подписи. Добавьте очень простой пример в s_server. Это устраняет многие проблемы и ограничения существующего обратного вызова сертификата клиента: например, теперь вы можете очистить существующий сертификат и указать всю цепочку. [Стив Хенсон]
Пока я не могу найти ни доказательств того, что nginx поддерживает эту функцию, ни каких-либо неофициальных патчей. Я также не нашел ничего подходящего для Apache или любого другого веб-сервера. Я уверен, что в конечном итоге он будет добавлен, но если вам это действительно понадобится в ближайшее время, я бы предложил спросить в списке рассылки nginx.