Phương thức: giải mã khoá riêng tư đặc quyền
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Giải mã mà không kiểm tra ACL khoá riêng tư đã gói. Khoá này dùng để giải mã dữ liệu được xuất (lấy dữ liệu) từ Google.
Yêu cầu HTTP
POST https://KACLS_URL/privilegedprivatekeydecrypt
Thay thế KACLS_URL
bằng URL của Dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS).
Tham số đường dẫn
Không có.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
Biểu diễn dưới dạng 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
}
|
Trường |
authentication |
string
JWT do nhà cung cấp danh tính (IdP) phát hành để xác nhận danh tính của người dùng. Xem mã xác thực.
|
algorithm |
string
Thuật toán được dùng để mã hoá Khoá mã hoá dữ liệu (DEK) trong phương thức mã hoá phong bì.
|
encrypted_data_encryption_key |
string (UTF-8)
Khoá mã hoá nội dung đã mã hoá được mã hoá bằng khoá công khai liên kết với khoá riêng tư. Kích thước tối đa: 1 KB.
|
rsa_oaep_label |
string
Nhãn L được mã hoá Base64, nếu thuật toán là RSAES-OAEP. Nếu thuật toán không phải là RSAES-OAEP, trường này sẽ bị bỏ qua.
|
reason |
string (UTF-8)
Chuỗi JSON chuyển tiếp cung cấp thêm ngữ cảnh về thao tác. JSON được cung cấp phải được dọn dẹp trước khi hiển thị. Kích thước tối đa: 1 KB.
|
spki_hash |
string
Giá trị tổng quan được mã hoá base64 chuẩn của SubjectPublicKeyInfo được mã hoá theo DER của khoá riêng tư đang được truy cập.
|
spki_hash_algorithm |
string
Thuật toán dùng để tạo spki_hash . Có thể là "SHA-256".
|
wrapped_private_key |
string
Khoá riêng tư được gói được mã hoá base64. Kích thước tối đa: 8 KB.
|
Nội dung phản hồi
Nếu thành công, phương thức này sẽ trả về khoá mã hoá dữ liệu base64. Khoá này được dùng ở phía máy khách để giải mã nội dung thư.
Nếu thao tác không thành công, hệ thống sẽ trả về một phản hồi lỗi có cấu trúc.
Biểu diễn dưới dạng JSON |
{
"data_encryption_key": string
}
|
Trường |
data_encryption_key |
string
Khoá mã hoá dữ liệu được mã hoá base64.
|
Ví dụ:
Ví dụ này cung cấp một yêu cầu và phản hồi mẫu cho phương thức privilegedprivatekeydecrypt
.
Yêu cầu
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"
}
Phản hồi
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc"
}
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 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 }"]]