Método: privatekeydecrypt

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

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.

encrypted_data_encryption_key

string (UTF-8)

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

string

Etiqueta L codificada en Base64, si el algoritmo es RSAES-OAEP. Si el algoritmo no es RSAES-OAEP, 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 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

string

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="
}