Método: privatekeydecrypt

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

string

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

authorization

string

Un JWT que afirma que el usuario tiene permiso para desenvolver una clave para resource_name. Consulta Tokens de autorización tokens.

algorithm

string

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)

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

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)

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

string

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

string

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