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 |
Un JWT emitido por el proveedor de identidad (IdP) que afirma quién es el usuario. Consulta Tokens de autenticación. |
authorization |
Un JWT que afirma que el usuario tiene permiso para desenvolver una clave para
|
algorithm |
El algoritmo que se usó para encriptar la clave de encriptación de datos (DEK) en la encriptación de sobre. |
digest |
Resumen del mensaje codificado en base64. El resumen de codificado en DER
|
rsa_pss_salt_length |
(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 |
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 |
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 |
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=="
}