Méthode: privatekeysign

Déchiffre une clé privée chiffrée, puis signe le condensé fourni par le client.

Requête HTTP

POST https://KACLS_URL/privatekeysign

Remplacez KACLS_URL par l'URL du service de liste de contrôle d'accès aux clés (KACLS).

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) qui indique l'identité de l'utilisateur. Consultez Jetons d'authentification.

authorization

string

JWT affirmant que l'utilisateur est autorisé à déchiffrer une clé pour resource_name. Consultez Jetons d'autorisation.

algorithm

string

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

digest

string

Digest du message encodé en base64. Digest du SignedAttributes encodé DER. Cette valeur n'est pas complétée. 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 directe fournissant un contexte supplémentaire sur l'opération. Le 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). Côté client et côté Gmail, il est traité comme un blob opaque.

Corps de la réponse

Si la requête aboutit, 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=="
}