Método: privatekeysign

Desenvuelve una clave privada envuelta y, luego, firma el resumen que proporciona el cliente.

Solicitud HTTP

POST https://KACLS_URL/privatekeysign

Reemplaza KACLS_URL por la URL del servicio de lista de control de acceso a claves (KACLS).

Parámetros de ruta

Ninguno

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Campos
authentication

string

Un JWT emitido por el proveedor de identidad (IdP) que afirma quién es el usuario. Consulta Tokens de autenticación.

authorization

string

Un JWT que afirma que el usuario tiene permiso para desenvolver una clave para resource_name. Consulta Tokens de autorización tokens.

algorithm

string

El algoritmo que se usó para encriptar la clave de encriptación de datos (DEK) en la encriptación de sobre.

digest

string

Resumen del mensaje codificado en base64. El resumen de codificado en DER SignedAttributes. Este valor no tiene relleno. Tamaño máximo: 128 bytes.

rsa_pss_salt_length

integer

(Opcional) La longitud de la sal que se usará si el algoritmo de firma es RSASSA-PSS. Si el algoritmo de firma no es RSASSA-PSS, se ignora este campo.

reason

string (UTF-8)

Una cadena JSON de transferencia que proporciona contexto adicional sobre la operación. El JSON proporcionado debe desinfectarse antes de mostrarse. Tamaño máximo: 1 kilobyte.

wrapped_private_key

string

La clave privada envuelta codificada en base64. Tamaño máximo: 8 kilobytes.

El formato de la clave privada o la clave privada envuelta depende de la implementación del servicio de lista de control de acceso a claves (KACLS). En el cliente y en Gmail, esto se trata como un objeto binario grande opaco blob.

Cuerpo de la respuesta

Si la respuesta es correcta, este método muestra una firma codificada en base64.

Si la operación falla, se muestra una respuesta de error estructurada.

Representación JSON
{
  "signature": string
}
Campos
signature

string

Una firma codificada en base64.

Ejemplo

En este ejemplo, se proporciona una solicitud y una respuesta de muestra para el método privatekeysign.

Solicitud

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

Respuesta

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