Как сгенерировать сертификат Vault для хоста без включения allow_subdomains=true?

Я пытаюсь сгенерировать сертификат Vault TLS с помощью HTTP API, но получаю сообщение об ошибке:

common name myhost.consul not allowed by this role.

У меня есть корневой ЦС, который подписал промежуточный ЦС, и это промежуточный ЦС, который я пытаюсь выдать сертификат.

Корневой CA генерируется с использованием этой конфигурации:

{
  "common_name": "My Root CA",
  "ttl": "8760h",
  "format": "pem",
  "key_bits": 4096,
  "country": "GB",
  "organization": "myorg"
}

Мой промежуточный CA был сгенерирован со следующим:

{
  "common_name": "My Intermediate CA",
  "ttl": "4380h",
  "format": "pem",
  "key_bits": 2048,
  "country": "GB",
  "organization": "myorg",
  "permitted_dns_domains": [
    "example.com",
    "consul"
  ]
}

Роль по умолчанию, которую промежуточный ЦС использует для выдачи сертификатов:

{
  "ttl": "2190h",
  "max_ttl": "4380h",
  "allowed_domains": [
    "example.com",
    "consul"
  ],
  "o": "myorg",
  "country": "GB"
}

Обратите внимание, что значения по умолчанию для ролей означают, что allow_subdomains=false,

Я пытаюсь сгенерировать сертификат для этого хоста:

{
  "common_name": "myhost.consul",
  "alt_names": "myhost.example.com",
  "ip_sans": "1.2.3.4",
  "format": "pem"
}

(где IP-адрес 1.2.3.4 это IP для хоста.

myhost.consul такое имя хоста, которое Консул использует для службы - почему Vault считает, что это поддомен? Если я включу allow_subdomains=true затем я разрешаю получать сертификаты субдомена с подстановочными символами, что мне не нужно.

Как включить Vault для выдачи сертификата для моего хоста?

0 ответов

Другие вопросы по тегам