Распаковывает зашифрованный закрытый ключ, а затем подписывает предоставленный клиентом дайджест.
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 | JWT, выданный поставщиком идентификационных данных (IdP), подтверждающий личность пользователя. См. токены аутентификации . |
authorization | JWT-токен, подтверждающий, что пользователю разрешено расшифровать ключ для |
algorithm | Алгоритм, который использовался для шифрования ключа шифрования данных (DEK) при шифровании конвертов. |
digest | Дайджест сообщения, закодированный в Base64. Дайджест |
rsa_pss_salt_length | (Необязательно) Длина соли, используемой в качестве алгоритма подписи RSASSA-PSS. Если алгоритм подписи отличается от RSASSA-PSS, это поле игнорируется. |
reason | JSON-строка, передающая информацию о выполняемой операции. Предоставленный JSON-файл должен быть очищен перед отображением. Максимальный размер: 1 килобайт. |
wrapped_private_key | Закрытый ключ, закодированный в формате 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 | Подпись, закодированная в формате 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=="
}