Щоб бути абсолютно правильним, ви повинні помістити всі імена в поле SAN.
Поле CN повинно містити Ім'я суб'єкта, а не доменне ім'я, але коли Netscape виявив цю річ SSL, вони пропустили визначення його найбільшого ринку. Просто для URL-адреси сервера не було визначено поле сертифіката.
Це було вирішено, щоб домен потрапив у поле CN, і сьогодні використання поля CN застаріло, але все ще широко використовується. CN може містити лише одне доменне ім'я.
Загальні правила для цього: CN - розмістіть тут свою основну URL-адресу (для сумісності) SAN - помістіть сюди весь свій домен, повторіть CN, оскільки він там не в потрібному місці, але використовується для цього ...
Якщо ви знайшли правильну реалізацію, відповіді на ваші запитання будуть такими:
Чи має це налаштування особливе значення або якісь [диз] переваги перед встановленням обох CN? Ви не можете встановити обидва CN, оскільки CN може містити лише одне ім'я. Ви можете зробити 2 простих сертифікати CN замість одного сертифікату CN + SAN, але для цього вам потрібні 2 IP-адреси.
Що відбувається на стороні сервера, якщо запитується інший, host.domain.tld? Неважливо, що відбувається на стороні сервера.
Коротше кажучи: Коли клієнт браузера підключається до цього сервера, тоді браузер надсилає зашифровані пакети, які зашифровані за допомогою відкритого ключа сервера. Сервер розшифровує пакет, і якщо сервер може розшифрувати, то він був зашифрований для сервера.
Сервер нічого не знає від клієнта до дешифрування, оскільки лише IP-адреса не зашифрована через з'єднання. Ось чому вам потрібні 2 IP-адреси для 2 сертифікатів. (Забудьте про SNI, зараз там занадто багато XP.)
На стороні клієнта браузер отримує CN, а потім SAN, поки не буде перевірено всі. Якщо одне з імен збігається з сайтом, то перевірка URL-адреси була здійснена браузером. (я не розмовляю про перевірку сертифіката, звичайно, багато запитів ocsp, crl, aia та відповідей щоразу подорожує по мережі)