Metodo: privatekeysign

Estrae una chiave privata sottoposta a wrapping e poi firma il digest fornito dal client.

Richiesta HTTP

POST https://KACLS_URL/privatekeysign

Sostituisci KACLS_URL con l'URL del servizio Key Access Control List (KACLS).

Parametri del percorso

Nessuno.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Campi
authentication

string

Un JWT emesso dal provider di identità che dichiara l'identità dell'utente. Consulta la sezione Token di autenticazione.

authorization

string

Un JWT che afferma che l'utente è autorizzato a decrittografare una chiave per resource_name. Vedi token di autorizzazione.

algorithm

string

L'algoritmo utilizzato per criptare la chiave di crittografia dei dati (DEK) nella crittografia envelope.

digest

string

Digest del messaggio con codifica Base64. Il digest del SignedAttributes con codifica DER. Questo valore non è imbottito. Dimensioni massime: 128 B

rsa_pss_salt_length

integer

(Facoltativo) La lunghezza del sale da utilizzare, se l'algoritmo di firma è RSASSA-PSS. Se l'algoritmo di firma non è RSASSA-PSS, questo campo viene ignorato.

reason

string (UTF-8)

Una stringa JSON passthrough che fornisce un contesto aggiuntivo sull'operazione. Il JSON fornito deve essere sanificato prima di essere visualizzato. Dimensioni massime: 1 kB.

wrapped_private_key

string

La chiave privata con wrapping codificata in Base64. Dimensioni massime: 8 kB.

Il formato della chiave privata o della chiave privata sottoposta a wrapping dipende dall'implementazione del servizio di elenco di controllo dell'accesso per le chiavi (KACLS). Sul client e su Gmail, questo viene trattato come un blob opaco.

Corpo della risposta

In caso di esito positivo, questo metodo restituisce una firma codificata in base64.

Se l'operazione non va a buon fine, viene restituita una risposta di errore strutturata.

Rappresentazione JSON
{
  "signature": string
}
Campi
signature

string

Una firma con codifica Base64.

Esempio

Questo esempio fornisce una richiesta e una risposta di esempio per il metodo privatekeysign.

Richiesta

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

Risposta

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