Phương thức: giải mã khoá riêng tư

Mở gói khoá riêng tư được gói rồi giải mã khoá mã hoá nội dung được mã hoá bằng khoá công khai.

Yêu cầu HTTP

POST https://KACLS_URL/privatekeydecrypt

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 với cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "encrypted_data_encryption_key": string,
  "rsa_oaep_label": string,
  "reason": string,
  "wrapped_private_key": string
}
Trường
authentication

string

JWT do nhà cung cấp dịch vụ danh tính (IdP) cấp để xác nhận danh tính của người dùng. Xem mã thông báo xác thực.

authorization

string

JWT xác nhận rằng người dùng được phép mở gói một khoá cho resource_name. Xem mã thông báo uỷ quyền.

algorithm

string

Thuật toán được dùng để mã hoá Khoá mã hoá dữ liệu (DEK) trong quá trình mã hoá phong bì.

encrypted_data_encryption_key

string (UTF-8)

Khoá mã hoá nội dung được mã hoá ở dạng Base64, đượ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á ở dạng Base64, nếu thuật toán là RSAES-OAEP. Nếu thuật toán không phải là RSAES-OAEP, thì trường này sẽ bị bỏ qua.

reason

string (UTF-8)

Một chuỗi JSON chuyển tiếp cung cấp thêm thông tin về bối cảnh của thao tác. JSON được cung cấp phải được làm sạch trước khi hiển thị. Kích thước tối đa: 1 KB.

wrapped_private_key

string

Khoá riêng tư được gói và mã hoá ở dạng base64. Kích thước tối đa: 8 KB.

Định dạng của khoá riêng tư hoặc khoá riêng tư được gói tuỳ thuộc vào việc triển khai Dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS). Trên ứng dụng và trên phía Gmail, khoá này được coi là một blob mờ.

Nội dung phản hồi

Nếu thành công, phương thức này sẽ trả về một khoá mã hoá dữ liệu ở dạng base64.

Nếu thao tác không thành công, một phản hồi lỗi có cấu trúc sẽ được trả về.

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á ở dạng 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 privatekeydecrypt.

Yêu cầu

POST https://mykacls.example.org/v1/privatekeydecrypt

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "RSA/ECB/PKCS1Padding",
  "reason": "decrypt"
}

Phản hồi

{
  "data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}