Быстрый старт
С помощью быстрого старта вы создадите симметричный или асимметричный криптографический ключ, зашифруете текст, а затем расшифруете его.
Перед началом работы
-
Если вы уже зарегистрированы, войдите под своей учетной записью.
-
Подключите Key Management. Для этого в меню
личного кабинета выберите Управление → Key Management и нажмите Подключить.
Создайте криптографический ключ
В личном кабинете на странице Key Management выберите, какой ключ будет создаваться (симметричный или асимметричный), и перейдите на нужную вкладку:
-
Симметричные ключи;
-
Асимметричные ключи.
-
Нажмите Создать ключ.
-
Введите название ключа — cloudru-example-key.
-
Введите описание — Ключ шифрования для быстрого старта.
-
Выберите период ротации — Неделя. Каждую неделю будет создаваться новая версия ключа.
-
Выберите алгоритм шифрования — AES 192.
-
Нажмите Создать.
Зашифруйте текст с помощью ключа
Выберите, с помощью какого ключа будет выполняться шифрование данных:
-
Приведите текст «Алиса посылает Бобу сообщение» к формату Base64:
0JDQu9C40YHQsCDQv9C+0YHRi9C70LDQtdGCINCR0L7QsdGDINGB0L7QvtCx0YnQtdC90LjQtQ== -
Создайте Additional Authenticated Data (AAD) в произвольной форме и приведите к формату Base64. Для примера качестве ADD используйте текст «Hello»:
SGVsbG8= -
Пройдите аутентификацию в API.
-
Выполните запрос:
curl -X POST --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).
Пример ответа -
В ответе вернется значение параметра ciphertext — ваши зашифрованные данные в формате Base64.
Чтобы посмотреть идентификатор, в списке ключей нажмите на название созданного ключа. Идентификатор отображается в URL-адресе после key.
Например:
https://console.cloud.ru/spa/key-manager/xx/key/<key-id>?customerId=<customerId>xx&projectId=<projectId>
Где:
-
key-id — идентификатор ключа;
-
customerId — идентификатор пользователя;
-
projectId — идентификатор проекта.
Расшифруйте текст
Выполните запрос:
curl -X POST --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.
Что дальше
Вы можете продолжить работу с ключом, например:
- Перед началом работы
- Создайте криптографический ключ
- Зашифруйте текст с помощью ключа
- Расшифруйте текст
- Что дальше