Назад | Перейти на главную страницу

Проверка сертификата с игнорированием общего имени и проверкой только альтернативных?

У меня есть сертификат CN=*.some.domain а затем альтернативные имена DNS:*.sub1.some.domain, DNS:*.sub2.some.domain (Еще 2 таких).

Я предоставил сертификат nginx-ingress в кубернетах, который обслуживает host.some.domain. И это дает мне ошибку:

controller.go:1041] unexpected error validating SSL certificate default/tls-cert for host dwarf30.epiqa.certicon.cz. Reason: x509: certificate is valid for *.sub1.some.domain, *.sub2.some.domain, not host.some.domain

Примечательно, что в сообщении не упоминается общее имя, в нем перечислены только альтернативы.

Я неправильно понимаю, как взаимодействуют CN и Alternates, или это проблема в контроллере nginx-ingress (примечание: helm настаивает на установке довольно старой версии контейнера 0.13.0)?

Уже RFC 2818 который стандартизирует HTTPS (HTTP через TLS) с 2000 года, четко говорит:

Если присутствует расширение subjectAltName типа dNSName, оно ДОЛЖНО использоваться в качестве идентификатора.

Поскольку у вас есть DNS-имена в качестве альтернативных имен субъектов, CN будет игнорироваться. Обратите внимание, что использование CN вместо альтернативных имен субъектов не рекомендуется в течение многих лет, и некоторые браузеры (в частности, Chrome) будут смотреть только на альтернативные имена субъектов и отказывать, если SAN не существует, даже если CN может соответствовать домену.