Méthode: privatekeysign

Désencapsule une clé privée encapsulée, puis signe le condensé fourni par le client.

Requête HTTP

POST https://BASE_URL/privatekeysign

Remplacez BASE_URL par l'URL de base.

Paramètres de chemin d'accès

Aucune.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Champs
authentication

string

Jeton JWT émis par le fournisseur d'identité (IdP) pour identifier l'utilisateur. Voir Jeton d'authentification.

authorization

string

JWT indiquant que l'utilisateur est autorisé à déballer une clé pour resource_name. Consultez la section Jetons d'autorisation.

algorithm

string

Algorithme utilisé pour chiffrer la clé de chiffrement des données (DEK) dans le chiffrement encapsulé.

digest

string

récapitulatif du message encodé en base64 ; Condensé de l'SignedAttributes codé DER. Cette valeur n'est pas mise en forme. Taille maximale: 128 octets

rsa_pss_salt_length

integer

(Facultatif) Longueur du sel à utiliser si l'algorithme de signature est RSASSA-PSS. Si l'algorithme de signature n'est pas RSASSA-PSS, ce champ est ignoré.

reason

string (UTF-8)

Chaîne JSON transmise fournissant du contexte supplémentaire sur l'opération. Le code JSON fourni doit être nettoyé avant d'être affiché. Taille maximale: 1 ko.

wrapped_private_key

string

Clé privée encapsulée encodée en base64. Taille maximale: 8 ko.

Le format de la clé privée ou de la clé privée encapsulée dépend de l'implémentation du service de liste de contrôle d'accès aux clés (KACLS, Key Access Control List Service). Côté client et côté Gmail, il est traité comme un blob opaque.

Corps de la réponse

Si l'opération réussit, cette méthode renvoie une signature encodée en base64.

Si l'opération échoue, une réponse d'erreur structurée est renvoyée.

Représentation JSON
{
  "signature": string
}
Champs
signature

string

Signature encodée en base64.

Exemple

Cet exemple fournit un exemple de requête et de réponse pour la méthode privatekeysign.

Requête

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

Réponse

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