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 |
Jeton JWT émis par le fournisseur d'identité (IdP) qui indique l'identité de l'utilisateur. Consultez Jetons d'authentification. |
authorization |
JWT affirmant que l'utilisateur est autorisé à déchiffrer une clé pour |
algorithm |
Algorithme utilisé pour chiffrer la clé de chiffrement des données (DEK) dans le chiffrement encapsulé. |
digest |
Digest du message encodé en base64. Digest du |
rsa_pss_salt_length |
(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 |
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 |
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 |
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=="
}