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 |
Ein vom Identitätsanbieter (IdP) ausgestelltes JWT, das den Nutzer angibt. Siehe Authentifizierungstokens |
authorization |
Ein JWT, das bestätigt, dass der Nutzer einen Schlüssel für |
algorithm |
Der Algorithmus, der zum Verschlüsseln des Datenverschlüsselungsschlüssels (Data Encryption Key, DEK) in der Umschlagverschlüsselung verwendet wurde. |
digest |
Base64-codierter Nachrichten-Digest. Der Digest des DER-codierten |
rsa_pss_salt_length |
(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 |
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 |
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 |
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=="
}