メソッド: privilegedprivatekeycrypt
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ラップされた秘密鍵の ACL を確認せずに復号します。Google からエクスポートされたデータ(データ エクスポート)の復号に使用されます。
HTTP リクエスト
POST https://KACLS_URL/privilegedprivatekeydecrypt
KACLS_URL
は、鍵アクセス制御リスト サービス(KACLS)の URL に置き換えます。
パスパラメータ
なし。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
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
}
|
フィールド |
authentication |
string
ユーザーの身元を証明する ID プロバイダ(IdP)によって発行された JWT。認証トークンをご覧ください。
|
algorithm |
string
エンベロープ暗号化でデータ暗号鍵(DEK)の暗号化に使用されたアルゴリズム。
|
encrypted_data_encryption_key |
string (UTF-8)
Base64 でエンコードされた暗号化されたコンテンツ暗号鍵。秘密鍵に関連付けられた公開鍵で暗号化されています。最大サイズ: 1 KB。
|
rsa_oaep_label |
string
アルゴリズムが RSAES-OAEP の場合は、Base64 でエンコードされたラベル L。アルゴリズムが RSAES-OAEP でない場合、このフィールドは無視されます。
|
reason |
string (UTF-8)
オペレーションに関する追加のコンテキストを提供するパススルー JSON 文字列。指定された JSON は、表示する前にサニタイズする必要があります。最大サイズ: 1 KB。
|
spki_hash |
string
アクセスされる秘密鍵の DER エンコードされた SubjectPublicKeyInfo の標準 Base64 エンコードされたダイジェスト。
|
spki_hash_algorithm |
string
spki_hash の生成に使用されるアルゴリズム。「SHA-256」にできます。
|
wrapped_private_key |
string
Base64 でエンコードされたラップされた秘密鍵。最大サイズ: 8 KB。
|
レスポンスの本文
成功すると、このメソッドは base64 データ暗号化キーを返します。この鍵は、クライアント側でメッセージ本文の復号に使用されます。
オペレーションが失敗した場合は、構造化エラー レスポンスが返されます。
JSON 表現 |
{
"data_encryption_key": string
}
|
フィールド |
data_encryption_key |
string
Base64 でエンコードされたデータ暗号鍵。
|
例
次の例は、privilegedprivatekeydecrypt
メソッドのサンプル リクエストとレスポンスを示しています。
リクエスト
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"
}
レスポンス
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc"
}
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-25 UTC。
[null,null,["最終更新日 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 }"]]