Methode: privatekeysign

Entpackt einen verpackten privaten Schlüssel und signiert dann den vom Client bereitgestellten Digest.

HTTP-Anfrage

POST https://BASE_URL/privatekeysign

Ersetzen Sie BASE_URL durch die Basis-URL.

Pfadparameter

Keine.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Felder
authentication

string

Ein vom Identitätsanbieter (IdP) ausgestelltes JWT, das den Nutzer angibt. Siehe Authentifizierungstokens

authorization

string

Ein JWT, das bestätigt, dass der Nutzer einen Schlüssel für resource_name entpacken darf. Siehe Autorisierungstoken.

algorithm

string

Der Algorithmus, der zum Verschlüsseln des Datenverschlüsselungsschlüssels (Data Encryption Key, DEK) in der Umschlagverschlüsselung verwendet wurde.

digest

string

Base64-codierter Nachrichten-Digest. Der Digest des DER-codierten SignedAttributes. Dieser Wert wird nicht aufgefüllt. Max. Größe: 128 B

rsa_pss_salt_length

integer

(Optional) Die zu verwendende Salt-Länge, wenn der Signaturalgorithmus RSASSA-PSS ist. Wenn der Signaturalgorithmus nicht RSASSA-PSS ist, wird dieses Feld ignoriert.

reason

string (UTF-8)

Ein Passthrough-JSON-String, der zusätzlichen Kontext zum Vorgang liefert. Die bereitgestellte JSON-Datei muss vor der Anzeige bereinigt werden. Maximale Größe: 1 KB.

wrapped_private_key

string

Der base64-codierte, verpackte private Schlüssel. Maximale Größe: 8 KB.

Das Format des privaten Schlüssels oder des verpackten privaten Schlüssels hängt von der Implementierung des Key Access Control List Service (KACLS) ab. Auf Client- und Gmail-Seite wird dies als undurchsichtiges Blob behandelt.

Antworttext

Bei Erfolg gibt diese Methode eine base64-codierte Signatur zurück.

Wenn der Vorgang fehlschlägt, strukturierte Fehlerantwort zurückgegeben.

JSON-Darstellung
{
  "signature": string
}
Felder
signature

string

Eine base64-codierte Signatur.

Beispiel

Dieses Beispiel bietet eine Beispielanfrage und -antwort für den privatekeysign. .

Anfrage

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

Antwort

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