Иногда вы ищете ответ на протяжении веков и находите ответ на нескольких сайтах, которые не очень понятны.Я объясню свой ответ на примере, демонстрирующем различия в запросе сертификата у FreeIPA с именем и без имени.
Мы создаем воображаемуювиртуальная машина с a-записью abc955-xy.example.com.На этой машине мы будем запускать postgres.Поэтому для удобства cname будет postgresql.example.com.Сначала мы создаем сертификат для abc955-xy.example.com, который действителен только для fqdn.Во-вторых, мы создаем сертификат для cname, который также действителен для fqdn.
Сертификат без cname
# Generate a private key
openssl genrsa -out abc955-xy.example.com.key 4096
# Add the host to FreeIPA
ipa host-add abc955-xy.example.com --force
# Create a host principal for the service HTTP
ipa service-add HTTP/abc955-xy.example.com
# Add the host principal to the host
ipa service-add-host HTTP/abc955-xy.example.com --host abc955-xy.example.com
# Request a certificate for the host, using the principal and private key
ipa-getcert request -r -f abc955-xy.example.com.crt -k abc955-xy.example.com.key \
-K HTTP/abc955-xy.example.com -D abc955-xy.example.com
Cerfificate, включая cname
# Generate a private key
openssl genrsa -out postgresql.example.com.key 4096
# Add the host to FreeIPA, using the cname
ipa host-add postgresql.example.com --force
# Create a host principal for the service HTTP
ipa service-add HTTP/abc955-xy.example.com
# Create a principal for the service HTTP with the cname
ipa service-add HTTP/postgresql.example.com --force
# Add the cname principal to the host
ipa service-add-host HTTP/postgresql.example.com --host abc955-xy.example.com
# Request a certificate for the host, using the principal and private key and cname
ipa-getcert request -r -f postgresql.example.com.crt -k postgresql.example.com.key\
-K HTTP/postgresql.example.com -D postgresql.example.com -D abc955-xy.example.com
Помимо некоторых различий в именах, основное различие между этими двумя опциями заключается в том, что вы добавляете HTTP-принципал с cname к хосту вместо HTTP-принципала с fqdn.
Примечание: поскольку браузеры, такие как Chrome и Chromium, принимают сертификаты только с альтернативным именем субъекта (SAN) начиная с версии 65, вам необходимо добавить альтернативное имя субъекта в сертификаты без имени cname.Отсюда и опция -D в запросе ipa-getcert.Для сертификатов без имени вы должны указать fqdn.