เมธอด: permissiondprivatekeydecrypt
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ถอดรหัสโดยไม่ตรวจสอบ ACL ของคีย์ส่วนตัวที่รวมไว้ ซึ่งจะใช้ถอดรหัสข้อมูลที่ส่งออก (takeout) จาก Google
คำขอ HTTP
POST https://KACLS_URL/privilegedprivatekeydecrypt
แทนที่ KACLS_URL
ด้วย URL ของบริการรายการควบคุมการเข้าถึงคีย์ (KACLS)
พารามิเตอร์เส้นทาง
ไม่มี
เนื้อหาของคำขอ
เนื้อความของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง 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
JWT ที่ออกโดยผู้ให้บริการข้อมูลประจำตัว (IdP) ซึ่งระบุตัวตนของผู้ใช้ ดูโทเค็นการตรวจสอบสิทธิ์
|
algorithm |
string
อัลกอริทึมที่ใช้ในการเข้ารหัสคีย์การเข้ารหัสข้อมูล (DEK) ในการเข้ารหัสแบบซองจดหมาย
|
encrypted_data_encryption_key |
string (UTF-8)
คีย์การเข้ารหัสเนื้อหาที่เข้ารหัส Base64 ซึ่งเข้ารหัสด้วยคีย์สาธารณะที่เชื่อมโยงกับคีย์ส่วนตัว ขนาดสูงสุด: 1 KB
|
rsa_oaep_label |
string
ป้ายกำกับ L ที่เข้ารหัส Base64 หากอัลกอริทึมคือ RSAES-OAEP หากอัลกอริทึมไม่ใช่ RSAES-OAEP ระบบจะไม่สนใจฟิลด์นี้
|
reason |
string (UTF-8)
สตริง JSON ที่ส่งผ่านซึ่งให้บริบทเพิ่มเติมเกี่ยวกับการดำเนินการ JSON ที่ระบุควรได้รับการทำให้ปลอดภัยก่อนแสดง ขนาดสูงสุด: 1 KB
|
spki_hash |
string
ข้อมูลสรุปที่เข้ารหัส Base64 มาตรฐานของ SubjectPublicKeyInfo ที่เข้ารหัส DER ของคีย์ส่วนตัวที่เข้าถึง
|
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 }"]]