Перейти к содержимому
ecdsa.com

Альтернативное имя субъекта (SAN)

Расширение X.509 (OID 2.5.29.17), в котором перечислены DNS-имена, IP-адреса, адреса электронной почты или URI, для которых действителен сертификат; это единственное поле, по которому браузеры сверяют имя хоста сервера.
Другие написанияSANsubjectAltNameSAN certificatemulti-domain certificate

У записей есть типы: dNSName (example.com, *.example.com), iPAddress (4 или 16 байт), rfc822Name для S/MIME, uniformResourceIdentifier для идентификаторов SPIFFE и подобных и otherName, например для UPN Microsoft. Сопоставление имён хостов выполняется по RFC 6125 с изменениями из RFC 9525: подстановочный знак соответствует ровно одной крайней левой метке, поэтому *.example.com покрывает www.example.com, но не example.com и не a.b.example.com.

Chrome игнорирует commonName субъекта начиная с версии 58 (2017 год), поэтому проверка сертификата, в котором имя указано только в CN, завершается ошибкой ERR_CERT_COMMON_NAME_INVALID. Клиенты на Go, Python и OpenSSL тоже требуют SAN для имён хостов. В сертификате с пустым субъектом расширение SAN должно быть помечено как критическое (RFC 5280, § 4.2.1.6).

Публичные TLS-сертификаты могут содержать много имён в SAN; каждое имя должно пройти отдельную проверку, и все они публикуются в журналах прозрачности сертификатов (Certificate Transparency), поэтому внутренние имена хостов из публичных сертификатов становятся общедоступными.

Стандарты и ссылки

Все термины