Método: privatekeysign

Desenvuelve una clave privada envuelta y, luego, firma el resumen proporcionado por el cliente.

Solicitud HTTP

POST https://KACLS_URL/privatekeysign

Reemplaza KACLS_URL por la URL del servicio de lista de control de acceso a las 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

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

authorization

string

Es un JWT que afirma que el usuario puede desencriptar una clave para resource_name. Consulta tokens de autorización.

algorithm

string

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

digest

string

Es el resumen del mensaje codificado en Base64. Es el resumen del SignedAttributes codificado en DER. Este valor no tiene relleno. Tamaño máx.: 128 B

rsa_pss_salt_length

integer

(Opcional) Es 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)

Es una cadena JSON de transferencia que proporciona contexto adicional sobre la operación. El JSON proporcionado debe limpiarse antes de mostrarse. Tamaño máx.: 1 KB

wrapped_private_key

string

Es la clave privada encapsulada codificada en base64. El tamaño máximo es de 8 KB.

El formato de la clave privada o la clave privada encapsulada depende de la implementación del servicio de lista de control de acceso a las claves (KACLS). En el cliente y en el lado de Gmail, esto se trata como un BLOB opaco.

Cuerpo de la respuesta

Si se completa correctamente, este método devuelve una firma codificada en Base64.

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

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

string

Es una firma codificada en base64.

Ejemplo

En este ejemplo, se proporcionan 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=="
}