Método: privatekeysign

Desencapsula uma chave privada encapsulada e assina o resumo fornecido pelo cliente.

Solicitação HTTP

POST https://BASE_URL/privatekeysign

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,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "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.

digest

string

Resumo de mensagens codificado em Base64. O resumo do SignedAttributes codificado por DER. Esse valor não é preenchido. Tamanho máximo: 128 B

rsa_pss_salt_length

integer

(Opcional) O comprimento do sal a ser usado se o algoritmo de assinatura for RSASSA-PSS. Se o algoritmo de assinatura não for RSASSA-PSS, 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 assinatura codificada em base64.

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

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

string

Uma assinatura codificada em Base64.

Exemplo

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

Solicitação

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "SHA256withRSA",
  "reason": "sign"
}

Resposta

{
  "signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}