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

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

HTTP-запрос

POST https:// BASE_URL /privatekeysign

Замените BASE_URL базовым URL-адресом.

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

Никто.

Тело запроса

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

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 КБ.

Формат закрытого ключа или упакованного закрытого ключа зависит от реализации службы списков управления доступом к ключам (KACLS). На стороне клиента и на стороне Gmail это рассматривается как непрозрачный объект.

Тело ответа

В случае успеха этот метод возвращает подпись в кодировке 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=="
}