Desenvuelve una clave privada envuelta y, luego, desencripta la clave de encriptación de contenido que está encriptada en 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 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 |
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. |
encrypted_data_encryption_key |
Clave de encriptación de contenido encriptada y codificada en Base64, que se encripta con la clave pública asociada con la clave privada. Tamaño máximo: 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 |
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 KB. |
wrapped_private_key |
La clave privada envuelta codificada en base64. Tamaño máximo: 8 KB. 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 opaco blob. |
Cuerpo de la respuesta
Si se realiza correctamente, este método muestra una clave de encriptación de datos en base64.
Si la operación falla, se muestra una respuesta de error estructurada.
| Representación JSON | |
|---|---|
{ "data_encryption_key": string } |
|
| Campos | |
|---|---|
data_encryption_key |
Una clave de encriptación de datos codificada en Base64. |
Ejemplo
En este ejemplo, se proporciona 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="
}