Получить содержимое пользовательского сертификата
Вы можете сохранить цепочку сертификатов и приватный ключ для самостоятельного использования, например, при настройке веб-сервера на виртуальной машине.
Чтобы получить содержимое сертификата:
-
В консоли управления
выберите каталог, в котором находится сертификат. -
Перейдите
в сервис Certificate Manager. -
В строке с нужным сертификатом нажмите значок
и выберите Экспортировать сертификат.Экспортировать можно только сертификаты в статусе
Issued. -
Выберите один из вариантов экспорта. В файле
certificate.pemв текстовом формате в кодировке Base64 будут сохранены:-
Сертификат и цепочка сертификатов — цепочка сертификатов (конечный и промежуточный сертификат) и приватный ключ со стандартным обрамлением:
-----BEGIN CERTIFICATE----- MIIE5zCCA8+gAwI... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgk... -----END PRIVATE KEY----- -
Сертификат без приватного ключа — цепочка сертификатов (конечный и промежуточный сертификат):
-----BEGIN CERTIFICATE----- MIIE5zCCA8+gAwI... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE----- -
Конечный сертификат без цепочки сертификатов:
-----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE----- -
Только приватный ключ:
-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgk... -----END PRIVATE KEY-----
-
-
Нажмите Скачать сертификат.
Выполните команду:
yc certificate-manager certificate content \
--id fpqcsmn76v82******** \
--chain certificate_full_chain.pem \
--key private_key.pem
Где:
--id— идентификатор сертификата. Укажите один из параметров:--idили--name.--name— название сертификата. Укажите один из параметров:--idили--name.--chain— (опционально) файл, в который будет сохранена цепочка сертификатов в формате PEM.--key— (опционально) файл, в который будет сохранен приватный ключ в формате PEM.
Команда отобразит цепочку сертификатов и приватный ключ и сохранит их в файлы, указанные в параметрах --chain и --key.
Terraform
Terraform распространяется под лицензией Business Source License
Подробная информация о ресурсах провайдера в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.
Чтобы получить содержимое сертификата с помощью Terraform:
-
Опишите в конфигурационном файле Terraform источник данных
yandex_cm_certificate_contentи выходные переменные:data "yandex_cm_certificate_content" "cert_by_id" { certificate_id = "<идентификатор_сертификата>" } output "certificate_chain" { value = data.yandex_cm_certificate_content.cert_by_id.certificates } output "certificate_key" { value = data.yandex_cm_certificate_content.cert_by_id.private_key sensitive = true }Где:
-
data "yandex_cm_certificate_content"— описание источника данных для содержимого сертификата:certificate_id— идентификатор сертификата.
-
Блоки
output— выходные переменные:certificate_chainс цепочкой сертификатов иcertificate_keyс приватным ключом:value— возвращаемое значение.sensitive— пометить как конфиденциальные данные.
Более подробная информация о параметрах источника данных
yandex_cm_certificate_contentв документации провайдера. -
-
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Чтобы проверить результат, выполните команды:
-
Получить цепочку сертификатов:
terraform output certificate_chain -
Получить значение приватного ключа:
terraform output -raw certificate_key
-
Чтобы получить содержимое сертификата, воспользуйтесь методом REST API get для ресурса CertificateContent или вызовом gRPC API CertificateContentService/Get.
Для сертификатов Let's Encrypt экспортируемая цепочка содержит конечный сертификат вашего домена и промежуточный сертификат. Корневой сертификат не включается, так как он уже встроен в доверенные хранилища операционных систем и браузеров. Этой цепочки достаточно для настройки веб-серверов, например Nginx или Apache. Если требуется полная цепочка с корневым сертификатом, его можно скачать с сайта Let's Encrypt
Примечание
Для чтения содержимого сертификата сервисному аккаунту необходимо выдать роль certificate-manager.certificates.downloader.