Desenvuelve una clave privada envuelta y, luego, desencripta la clave de encriptación de contenido que está encriptada con la clave pública.
Solicitud HTTP
POST https://KACLS_URL/privatekeydecrypt
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, "encrypted_data_encryption_key": string, "rsa_oaep_label": string, "reason": string, "wrapped_private_key": string } |
|
| Campos | |
|---|---|
authentication |
Es un JWT emitido por el proveedor de identidad (IdP) que afirma quién es el usuario. Consulta tokens de autenticación. |
authorization |
Es un JWT que afirma que el usuario puede desencriptar una clave para |
algorithm |
Es el algoritmo que se usó para encriptar la clave de encriptación de datos (DEK) en la encriptación de sobre. |
encrypted_data_encryption_key |
Es la clave de encriptación del contenido encriptado codificada en Base64, que se encripta con la clave pública asociada a la clave privada. Tamaño máx.: 1 KB |
rsa_oaep_label |
Etiqueta L codificada en Base64, si el algoritmo es RSAES-OAEP. Si el algoritmo no es RSAES-OAEP, se ignora este campo. |
reason |
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 |
Es la clave privada ajustada codificada en base64. Tamaño máx.: 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). Tanto en el cliente como en el lado de Gmail, esto se trata como un BLOB opaco. |
Cuerpo de la respuesta
Si se ejecuta correctamente, este método devuelve una clave de encriptación de datos en base64.
Si la operación falla, se devuelve una respuesta de error estructurada.
| Representación JSON | |
|---|---|
{ "data_encryption_key": string } |
|
| Campos | |
|---|---|
data_encryption_key |
Es una clave de encriptación de datos codificada en Base64. |
Ejemplo
En este ejemplo, se proporcionan una solicitud y una respuesta de muestra para el método privatekeydecrypt.
Solicitud
POST https://mykacls.example.org/v1/privatekeydecrypt
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
"authorization": "eyJhbGciOi...",
"authentication": "eyJhbGciOi...",
"algorithm": "RSA/ECB/PKCS1Padding",
"reason": "decrypt"
}
Respuesta
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}