Быстрый старт

Инструкция поможет создадать криптографический ключ, зашифровать текст и расшифровать его.

Перед началом работы

Перед началом работы авторизуйтесь в Личном кабинете и подключите услугу, если она еще не подключена.

Если у вас уже есть Личный кабинет Cloud:

  1. Перейдите в Личный кабинет Cloud в раздел Другие услуги.

  2. На карточке Cloud Key Manager нажмите Подключить.

Создайте криптографический ключ

  1. Пройдите аутентификацию в API.

  2. Выполните HTTP-запрос:

    POST https://kms.api.sbercloud.ru/api/sckm/v1/keys
    

    В теле запроса укажите следующие параметры:

    • parent_id — идентификатор пространства имен.

    • name — имя ключа.

    • description — описание ключа в свободной форме.

    • rotation_period — период ротации в секундах, например — 86400s.

    • default_algorithm — алгоритм шифрования (AES 128, AES 192 или AES 256).

    Подсказка

    Идентификатор Service Instance ID всегда отображается в URL-адресе после наименования сервиса. Например:

    https://console.sbercloud.ru/projects/e0e000ac-0afb-0000-bf0c-b04886911d18/<service-name>/1d111aa-aede-111c-a11f-00c8c4cf463a
    

    Где:

    1d111aa-aede-111c-a11f-00c8c4cf463a — идентификатор Service Instance ID.

Ответ будет содержать идентификатор ключа (значение параметра key_id). Скопируйте и сохраните его.

Зашифруйте текст с помощью ключа

  1. Приведите ваш текст, например, «Алиса посылает Бобу сообщение» к формату Base64.

  2. Создайте Additional Authenticated Data (ADD) в произвольной форме и приведите к формату Base64. Например, в качестве AAD может быть использовано слово «Алиса» в формате Base64.

    Подсказка

    Aditional Authenticated Data (Дополнительные аутентифицированные данные ) — это дополнительные данные, которые передаются в значении параметра additional_authenticated_data как часть запроса на шифрование или дешифрование. Используется в качестве проверки целостности и может помочь защитить ваши данные от атак.

  3. Выполните HTTP-запрос:

    POST 'https://kms.api.sbercloud.ru/api/sckm/v1/encrypt'
    

    В теле запроса укажите следующие параметры:

    • key_id — сохраненный идентификатор ключа, например «049b72a3-3hb7-42e7-9026-a2b4o33711da».

    • key_version_id — идентификатор версии ключа, например 1.

    • plaintext — ваши данные для шифрования. В данном примере текст «Алиса посылает Бобу сообщение» в формате Base64.

    • additional_authenticated_data— дополнительные аутентифицированные данные. В данном примере слово «Алиса» в формате Base64.

    Значение параметра ciphertext в ответе — ваши зашифрованные данные.

Внимание

Чтобы в последующем расшифровать данные, сохраните идентификатор ключа, идентификатор версия ключа и дополнительные аутентифицированные данные.

Расшифруйте текст

Выполните HTTP-запрос:

POST 'https://kms.api.sbercloud.ru/api/sckm/v1/dencrypt'

В теле запроса укажите следующие параметры:

  • key_id — идентификатор ключа, используемый при шифровании данных. В данном примере — «049b72a3-3hb7-42e7-9026-a2b4o33711da».

  • key_version_id — идентификатор версии ключа, используемый при шифровании данных. В данном примере — 1.

  • plaintext — ваши зашифрованные данные в формате Base64.

  • additional_authenticated_data— дополнительные аутентифицированные данные, используемые при шифровании данных.

Значение параметра plaintext в ответе — ваши расшифрованные данные в формате Base64. Чтобы получить ваши оригинальные данные, выполните декодирование из формата Base64.