Быстрый старт
Инструкция поможет создадать криптографический ключ, зашифровать текст и расшифровать его.
Перед началом работы
Перед началом работы авторизуйтесь в Личном кабинете и подключите услугу, если она еще не подключена.
Если у вас уже есть Личный кабинет Cloud:
Перейдите в Личный кабинет Cloud в раздел Другие услуги.
На карточке Cloud Key Manager нажмите Подключить.
Создайте криптографический ключ
Пройдите аутентификацию в API.
Выполните 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
).
Скопируйте и сохраните его.
Зашифруйте текст с помощью ключа
Приведите ваш текст, например, «Алиса посылает Бобу сообщение» к формату Base64.
Создайте Additional Authenticated Data (ADD) в произвольной форме и приведите к формату Base64. Например, в качестве AAD может быть использовано слово «Алиса» в формате Base64.
Подсказка
Aditional Authenticated Data (Дополнительные аутентифицированные данные ) — это дополнительные данные, которые передаются в значении параметра
additional_authenticated_data
как часть запроса на шифрование или дешифрование. Используется в качестве проверки целостности и может помочь защитить ваши данные от атак.Выполните 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.