Быстрый старт
С помощью быстрого старта вы создадите криптографический ключ, зашифруете текст, а затем расшифруете его.
Перед началом работы
Зарегистрируйтесь в личном кабинете Cloud.ru.
Если вы уже зарегистрированы, войдите под своей учетной записью.
Подключите Key Manager.
Для этого в меню личного кабинета выберите Управление → Key Manager и нажмите Подключить.
Создайте криптографический ключ
В личном кабинете на странице Key Manager нажмите Создать ключ.
Введите название ключа — cloudru-example-key.
Введите описание — Ключ шифрования для быстрого старта.
Выберите период ротации — Неделя. Каждую неделю будет создаваться новая версия ключа.
Выберите алгоритм шифрования — AES 192.
Нажмите Создать.
Зашифруйте текст с помощью ключа
Приведите текст «Алиса посылает Бобу сообщение» к формату Base64:
0 JDQu9C40YHQsCDQv9C + 0 YHRi9C70LDQtdGCINCR0L7QsdGDINGB0L7QvtCx0YnQtdC90LjQtQ ==Создайте Additional Authenticated Data (AAD) в произвольной форме и приведите к формату Base64. Для примера качестве ADD используйте текст «Hello»:
SGVsbG8 =Пройдите аутентификацию в API.
Выполните запрос:
curl --location 'https://kms.api.cloud.ru/v1/encrypt' \--header 'accept: application/json' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer <authentication_token>' \--data '{"keyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","keyVersionId": 2,"plaintext": "0JxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtQ==","additionalAuthenticatedData": "xxxxxxxx"}'Где:
keyId — идентификатор ключа;
keyVersionId — идентификатор версии ключа;
plaintext — ваши данные в формате Base64, не могут превышать 64 КБ;
additionalAuthenticatedData — дополнительные аутентифицированные данные (Additional Authenticated Data).
Пример ответаЧтобы посмотреть идентификатор, в списке ключей нажмите на название созданного ключа. Идентификатор отображается в URL-адресе после key.
Например:
https://console.cloud.ru/spa/key-manager/xx/key/xxx-xxx?customerId=xx&projectId=xxГде xxx-xxx — идентификатор ключа.
Расшифруйте текст
Выполните запрос:
curl --location 'https://kms.api.cloud.ru/v1/decrypt' \--header 'accept: application/json' \--header 'Content-Type: application/json' \--header 'Authorization: Bearer <authentication_token>' \--data '{"keyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","ciphertext": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","additionalAuthenticatedData": "xxxxxxxx"}'
Где:
keyId — идентификатор ключа, используемый при шифровании данных;
ciphertext — ваши зашифрованные данные в формате Base64;
additionalAuthenticatedData — дополнительные аутентифицированные данные (Additional Authenticated Data).
Для расшифровывания зашифрованных данных нужно знать keyId и additionalAuthenticatedData (если использовались при шифровании). ciphertext и additionalAuthenticatedData должны быть в формате Base64. Если при шифровании данных использовался AAD, то при расшифровывании значение AAD должно быть таким же, как и для шифрования данных. Иначе расшифровка будет выполнена некорректно.
Значение параметра plaintext в ответе — расшифрованные данные в формате Base64. Чтобы получить оригинальные данные, выполните декодирование из формата Base64.
Что дальше
Вы можете продолжить работу с ключом, например:
- Перед началом работы
- Создайте криптографический ключ
- Зашифруйте текст с помощью ключа
- Расшифруйте текст
- Что дальше