Metoda: privilegedprivatekeydecrypt
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Odszyfrowuje bez sprawdzania uprawnień ACL zaszyfrowanego klucza prywatnego. Służy do odszyfrowywania danych wyeksportowanych (takeout) z Google.
Żądanie HTTP
POST https://KACLS_URL/privilegedprivatekeydecrypt
Zastąp KACLS_URL
adresem URL usługi kluczy do listy kontroli dostępu do kluczy (KACLS).
Parametry ścieżki
Brak.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
{
"authentication": string,
"algorithm": string,
"encrypted_data_encryption_key": string,
"rsa_oaep_label": string,
"reason": string,
"spki_hash": string,
"spki_hash_algorithm": string,
"wrapped_private_key": string
}
|
Pola |
authentication |
string
Token JWT wydany przez dostawcę tożsamości (IdP) potwierdzający tożsamość użytkownika. Zobacz tokeny uwierzytelniające.
|
algorithm |
string
Algorytm użyty do szyfrowania klucza szyfrującego dane (DEK) w ramach szyfrowania kopertowego.
|
encrypted_data_encryption_key |
string (UTF-8)
Zaszyfrowany klucz szyfrowania treści z kodowaniem base64, który jest zaszyfrowany kluczem publicznym powiązanym z kluczem prywatnym. Maksymalny rozmiar: 1 KB.
|
rsa_oaep_label |
string
Etykieta L zakodowana w formacie Base64, jeśli algorytm to RSAES-OAEP. Jeśli algorytm nie jest RSAES-OAEP, to pole jest ignorowane.
|
reason |
string (UTF-8)
Przekazany ciąg JSON zawierający dodatkowy kontekst operacji. Przed wyświetleniem należy zdezynfekować przesłany ciąg JSON. Maksymalny rozmiar: 1 KB.
|
spki_hash |
string
Standardowy skrót zakodowany w formacie base64 SubjectPublicKeyInfo klucza prywatnego, do którego uzyskuje się dostęp.
|
spki_hash_algorithm |
string
Algorytm użyty do wygenerowania spki_hash . Może być „SHA-256”.
|
wrapped_private_key |
string
Zapakowany klucz prywatny zakodowany w standardzie base64. Maksymalny rozmiar: 8 KB.
|
Treść odpowiedzi
Jeśli operacja się powiedzie, metoda zwróci klucz szyfrowania danych w formacie base64. Ten klucz jest używany po stronie klienta do odszyfrowywania treści wiadomości.
Jeśli operacja się nie powiedzie, zwracana jest strukturyzowana odpowiedź błędu.
Zapis JSON |
{
"data_encryption_key": string
}
|
Pola |
data_encryption_key |
string
Klucz szyfrujący dane zakodowany w formacie Base64.
|
Przykład
Ten przykład zawiera przykładowe żądanie i odpowiedź dla metody privilegedprivatekeydecrypt
.
Żądanie
POST https://mykacls.example.org/v1/privilegedprivatekeydecrypt
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
"authentication": "eyJhbGciOi...",
"spki_hash": "LItGzrmjSFD57QdrY1dcLwYmSwBXzhQLAA6zVcen+r0=",
"spki_hash_algorithm": "SHA-256",
"algorithm": "RSA/ECB/PKCS1Padding",
"reason": "admin decrypt"
}
Odpowiedź
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc"
}
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[[["\u003cp\u003eDecrypts data exported from Google, like takeout, without checking private key ACLs.\u003c/p\u003e\n"],["\u003cp\u003eUses a \u003ccode\u003ePOST\u003c/code\u003e request to the \u003ccode\u003e/privilegedprivatekeydecrypt\u003c/code\u003e endpoint, providing authentication and encryption details in the request body.\u003c/p\u003e\n"],["\u003cp\u003eReturns the base64-encoded data encryption key upon successful decryption, which is used for client-side decryption of the message body.\u003c/p\u003e\n"],["\u003cp\u003eIn case of failure, the API returns a structured error reply.\u003c/p\u003e\n"]]],["This content describes a decryption process for data exported from Google, specifically using the `privilegedprivatekeydecrypt` method. A POST request is sent with a JSON body including an authentication token, encrypted data encryption key, wrapped private key, hashing information, the encryption algorithm, and a reason string. Upon successful decryption, the response returns a base64-encoded data encryption key, which is to be used for decrypting the message body. The data is not decrypted without checking the key's ACL.\n"],null,["# Method: privilegedprivatekeydecrypt\n\nDecrypts without checking the wrapped private key ACL. It's used to decrypt the\ndata exported ([takeout](https://support.google.com/a/answer/100458)) from Google.\n\n### HTTP request\n\n`POST https://`\u003cvar translate=\"no\"\u003eKACLS_URL\u003c/var\u003e`/privilegedprivatekeydecrypt`\n\nReplace \u003cvar translate=\"no\"\u003eKACLS_URL\u003c/var\u003e with the Key Access Control List\nService (KACLS) URL.\n\n### Path parameters\n\nNone.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation ||\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"authentication\": string, \"algorithm\": string, \"encrypted_data_encryption_key\": string, \"rsa_oaep_label\": string, \"reason\": string, \"spki_hash\": string, \"spki_hash_algorithm\": string, \"wrapped_private_key\": string } ``` |\n\n| Fields ||\n|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `authentication` | `string` A JWT issued by the identity provider (IdP) asserting who the user is. See [authentication tokens](/workspace/cse/reference/authentication-tokens). |\n| `algorithm` | `string` The algorithm that was used to encrypt the Data Encryption Key (DEK) in envelope encryption. |\n| `encrypted_data_encryption_key` | `string (UTF-8)` Base64-encoded encrypted content encryption key, which is encrypted with the public key associated with the private key. Max size: 1 KB. |\n| `rsa_oaep_label` | `string` Base64-encoded label L, if the algorithm is RSAES-OAEP. If the algorithm is not RSAES-OAEP, this field is ignored. |\n| `reason` | `string (UTF-8)` A passthrough JSON string providing additional context about the operation. The JSON provided should be sanitized before being displayed. Max size: 1 KB. |\n| `spki_hash` | `string` Standard base64-encoded digest of the DER-encoded `SubjectPublicKeyInfo` of the private key being accessed. |\n| `spki_hash_algorithm` | `string` Algorithm used to produce `spki_hash`. Can be \"SHA-256\". |\n| `wrapped_private_key` | `string` The base64-encoded wrapped private key. Max size: 8 KB. |\n\n### Response body\n\nIf successful, this method returns the base64 data encryption key. This key is\nused client-side to decrypt the message body.\n\nIf the operation fails, a\n[structured error reply](/workspace/cse/reference/structured-errors)\nis returned.\n\n| JSON representation ||\n|-------------------------------------------|---|\n| ``` { \"data_encryption_key\": string } ``` |\n\n| Fields ||\n|-----------------------|------------------------------------------------|\n| `data_encryption_key` | `string` A base64-encoded data encryption key. |\n\n### Example\n\nThis example provides a sample request and response for the\n`privilegedprivatekeydecrypt` method.\n\n#### Request\n\n POST https://mykacls.example.org/v1/privilegedprivatekeydecrypt\n\n {\n \"wrapped_private_key\": \"wHrlNOTI9mU6PBdqiq7EQA...\",\n \"encrypted_data_encryption_key\": \"dGVzdCB3cmFwcGVkIGRlaw...\",\n \"authentication\": \"eyJhbGciOi...\",\n \"spki_hash\": \"LItGzrmjSFD57QdrY1dcLwYmSwBXzhQLAA6zVcen+r0=\",\n \"spki_hash_algorithm\": \"SHA-256\",\n \"algorithm\": \"RSA/ECB/PKCS1Padding\",\n \"reason\": \"admin decrypt\"\n }\n\n#### Response\n\n {\n \"data_encryption_key\": \"akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc\"\n }"]]