Метод: приватный ключ

Распаковывает зашифрованный закрытый ключ, а затем подписывает предоставленный клиентом дайджест.

HTTP-запрос

POST https:// KACLS_URL /privatekeysign

Замените KACLS_URL на URL-адрес службы списков контроля доступа по ключу (KACLS).

Параметры пути

Никто.

Текст запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Поля
authentication

string

JWT, выданный поставщиком идентификационных данных (IdP), подтверждающий личность пользователя. См. токены аутентификации .

authorization

string

JWT-токен, подтверждающий, что пользователю разрешено расшифровать ключ для resource_name . См. токены авторизации .

algorithm

string

Алгоритм, который использовался для шифрования ключа шифрования данных (DEK) при шифровании конвертов.

digest

string

Дайджест сообщения, закодированный в Base64. Дайджест SignedAttributes , закодированный в DER. Это значение не дополнено. Максимальный размер: 128 байт.

rsa_pss_salt_length

integer

(Необязательно) Длина соли, используемой в качестве алгоритма подписи RSASSA-PSS. Если алгоритм подписи отличается от RSASSA-PSS, это поле игнорируется.

reason

string (UTF-8)

JSON-строка, передающая информацию о выполняемой операции. Предоставленный JSON-файл должен быть очищен перед отображением. Максимальный размер: 1 килобайт.

wrapped_private_key

string

Закрытый ключ, закодированный в формате Base64. Максимальный размер: 8 килобайт.

The format of the private key or the wrapped private key is up to the Key Access Control List Service (KACLS) implementation. On the client and on the Gmail side, this is treated as an opaque blob.

Ответный текст

В случае успеха этот метод возвращает подпись, закодированную в формате Base64.

В случае сбоя операции возвращается структурированное сообщение об ошибке .

JSON-представление
{
  "signature": string
}
Поля
signature

string

Подпись, закодированная в формате Base64.

Пример

В этом примере представлены образец запроса и ответа для метода privatekeysign .

Запрос

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "SHA256withRSA",
  "reason": "sign"
}

Ответ

{
  "signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}