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 |
Um JWT emitido pelo provedor de identidade (IdP) que declara quem é o usuário. Consulte tokens de autenticação. |
authorization |
Um JWT que declara que o usuário tem permissão para desencapsular uma chave para |
algorithm |
O algoritmo usado para criptografar a chave de criptografia de dados (DEK) na criptografia de envelope. |
digest |
Resumo da mensagem codificado em Base64. O resumo do |
rsa_pss_salt_length |
(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 |
Uma string JSON de passagem que fornece contexto adicional sobre a operação. O JSON fornecido deve ser limpo antes de ser exibido. Tamanho máximo: 1 KB. |
wrapped_private_key |
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 cliente e no Gmail, isso é 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 estruturada é retornado.
Representação JSON | |
---|---|
{ "signature": string } |
Campos | |
---|---|
signature |
Uma assinatura codificada em Base64. |
Exemplo
Neste exemplo, apresentamos um exemplo de solicitação e resposta para o 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=="
}