Método: privatekeydecrypt

Desencapsula uma chave privada encapsulada e, em seguida, descriptografa a chave de criptografia de conteúdo criptografada com a chave pública.

Solicitação HTTP

POST https://BASE_URL/privatekeydecrypt

Substitua BASE_URL pelo URL base.

Parâmetros de caminho

Nenhum.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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

Um JWT emitido pelo provedor de identidade (IdP) que declara quem é o usuário. Consulte tokens de autenticação.

authorization

string

Um JWT que declara que o usuário tem permissão para desencapsular uma chave para resource_name. Veja tokens de autorização.

algorithm

string

O algoritmo usado para criptografar a chave de criptografia de dados (DEK) na criptografia de envelope.

encrypted_data_encryption_key

string (UTF-8)

Chave de criptografia de conteúdo criptografado codificada em Base64, que é criptografada com a chave pública associada à chave privada. Tamanho máximo: 1 KB.

rsa_oaep_label

string

Rótulo L codificado em Base64 se o algoritmo for RSAES-OAEP. Se o algoritmo não for RSAES-OAEP, esse campo será ignorado.

reason

string (UTF-8)

Uma string JSON de passagem que fornece contexto adicional sobre a operação. O JSON fornecido precisa ser limpo antes de ser exibido. Tamanho máximo: 1 KB.

wrapped_private_key

string

A chave privada encapsulada codificada em base64. Tamanho máximo: 8 KB.

O formato da chave privada ou da chave privada encapsulada depende da implementação do serviço de lista de controle de acesso a chaves (KACLS, na sigla em inglês). No lado do cliente e do Gmail, é tratado como um blob opaco.

Corpo da resposta

Se for bem-sucedido, esse método retorna uma chave de criptografia de dados em base64.

Se a operação falhar, uma resposta de erro estruturado será retornada.

Representação JSON
{
  "data_encryption_key": string
}
Campos
data_encryption_key

string

Uma chave de criptografia de dados codificada em base64.

Exemplo

Este exemplo fornece uma solicitação e uma resposta de amostra para o método privatekeydecrypt.

Solicitação

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

Resposta

{
  "data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}