Хранение SSL-сертификата кластера

Материал из Документация Ключ-АСТРОМ

Установка и настройка / Основные элементы Ключ-Астром / Ключ-АСТРОМ Managed / REST API / API Кластера v1 / SSL-сертификаты / Хранение SSL-сертификата кластера

Этот вызов API сохраняет SSL-сертификат кластера.

Аутентификация

Для выполнения этого запроса вам необходимо разрешение API (ServiceProviderAPI), назначенное вашему токену API. Создайте свой токен API с помощью консоли управления кластером (CMC). Чтобы узнать, как его получить и использовать, см. Аутентификация кластера.

Конечная точка

/api/v1.0/onpremise/sslCertificate/store

Параметры

Параметр Тип Описание В Обязательно
entityType string тип объекта (COLLECTOR, SERVER) path Да
entityId integer Идентификатор узла, который можно извлечь из URL-адреса в представлении «Сведения об узле». path Да
body sslCertDto Конфигурация SSL-сертификата. body Нет

Объекты тела запроса

Объект sslCertDto

Настройка SSL-сертификата.

Элемент Тип Описание Обязательно
privateKeyEncoded string Стандарт закрытого ключа PKCS #8, формат PEM с кодировкой base64 Да
publicKeyCertificateEncoded string Сертификат стандарта X.509, формат PEM с кодировкой base64, сертификат сервера Да
certificateChainEncoded string Сертификат(ы) Стандарт X.509, формат PEM с кодировкой base64, промежуточные и корневые сертификаты Нет

JSON-модель тела запроса

Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.

{
  "privateKeyEncoded": "-----BEGIN RSA PRIVATE KEY-----\nMIIEow...aHzMvp\n-----END RSA PRIVATE KEY-----",
  "publicKeyCertificateEncoded": "-----BEGIN CERTIFICATE-----\nMIIDKT...XbTK+M\n-----END CERTIFICATE-----",
  "certificateChainEncoded": "-----BEGIN CERTIFICATE-----\nMIIDKT...XbTK+M\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIDKT...bXTK+M\n-----END CERTIFICATE-----"
}

Ответ

Коды ответа

Код Тип Описание
200 CertificateStoreStatus Успешно или в процессе
400 CertificateStoreStatus Неверный тип объекта
404 CertificateStoreStatus Статус не найден
500 Внутренняя ошибка
522 CertificateStoreStatus Цепочка сертификатов недействительна.
523 CertificateStoreStatus Закрытый ключ не соответствует сертификату открытого ключа
525 CertificateStoreStatus Сертификат открытого ключа недействителен
526 CertificateStoreStatus Закрытый ключ недействителен
527 CertificateStoreStatus Ошибка при сохранении SSL-сертификата
528 CertificateStoreStatus Сертификат сохранен, но не обновлен
529 CertificateStoreStatus Внутренняя ошибка

Объекты тела ответа

Объект CertificateStoreStatus

Элемент Тип Описание
certificateStoreStatus string Может иметь значения:
  • BAD_REQUEST
  • CERTIFICATE_CHAIN_IS_INVALID
  • CERTIFICATE_IS_EXPIRED
  • CERTIFICATE_STORED_BUT_NOT_REFRESHED
  • ERROR
  • GENERAL_ERROR_WHILE_STORING_CERTIFICATE
  • IN_PROGRESS
  • NOT_FOUND
  • OK
  • PRIVATE_KEY_DOES_NOT_MATCH_PUBLIC_KEY_CERTIFICATE
  • PRIVATE_KEY_IS_INVALID
  • PUBLIC_KEY_CERTIFICATE_IS_INVALID
detailedError string -

JSON-модель тела ответа

{
  "certificateStoreStatus": "BAD_REQUEST",
  "detailedError": "string"
}

Пример

В этом примере вы храните сертификат SSL на ноде №32 кластера myManaged.cluster.com. В ответ вы получаете информацию о том, что SSL-сертификат был успешно обновлен. Убедитесь, что ваш запрос в формате JSON. Это означает, что объекты privateKeyEncoded, publicKeyCertificateEncoded и certificateChainEncoded находятся в одной строке.

Curl

curl -X POST "https://myManaged.cluster.com/api/v1.0/onpremise/sslCertificate/store/SERVER/32" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\"privateKeyEncoded\":\"-----BEGIN RSA PRIVATE KEY-----\MIIEow...aHzMvp\-----END RSA PRIVATE KEY-----\",\"publicKeyCertificateEncoded\":\"-----BEGIN CERTIFICATE-----\MIIDKT...XbTK+M\-----END CERTIFICATE-----\",\"certificateChainEncoded\":\"-----BEGIN CERTIFICATE-----\MIIDKT...XbTK+M\-----END CERTIFICATE-----\-----BEGIN CERTIFICATE-----\MIIDKT...bXTK+M\-----END CERTIFICATE-----\"}"

URL-адрес запроса

https://myManaged.cluster.com/api/v1.0/onpremise/sslCertificate/store/SERVER/32

Тело ответа

Успешно обновлено. Ответ не имеет тела.

Код ответа

200