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

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

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

Зарегистрируйтесь в личном кабинете Cloud.ru.

Если вы уже зарегистрированы, войдите под своей учетной записью.

Подключите Key Manager. Для этого в меню Кнопка с изображением девяти точек личного кабинета выберите Управление → Key Manager и нажмите Подключить.

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

  1. В личном кабинете на странице Key Manager нажмите Создать ключ.

  2. Введите название ключа — cloudru-example-key.

  3. Введите описание — Ключ шифрования для быстрого старта.

  4. Выберите период ротации — Неделя. Каждую неделю будет создаваться новая версия ключа.

  5. Выберите алгоритм шифрования — AES 192.

  6. Нажмите Создать.

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

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

    0 JDQu9C40YHQsCDQv9C + 0 YHRi9C70LDQtdGCINCR0L7QsdGDINGB0L7QvtCx0YnQtdC90LjQtQ ==
  2. Создайте Additional Authenticated Data (AAD) в произвольной форме и приведите к формату Base64. Для примера качестве ADD используйте текст «Hello»:

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

  4. Выполните запрос:

    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.

Что дальше

Вы можете продолжить работу с ключом, например:

Evolution