Mở gói khoá riêng tư đã gói, sau đó ký thông báo tóm tắt do ứng dụng khách cung cấp.
Yêu cầu HTTP
POST https://KACLS_URL/privatekeysign
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, "digest": string, "rsa_pss_salt_length": integer, "reason": string, "wrapped_private_key": string } |
|
| Trường | |
|---|---|
authentication |
Một 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 |
Một JWT xác nhận rằng người dùng được phép mở gói một khoá cho
|
algorithm |
Thuật toán được dùng để mã hoá Khoá mã hoá dữ liệu (DEK) trong quá trình mã hoá phong bì. |
digest |
Thông báo tóm tắt được mã hoá bằng Base64. Thông báo tóm tắt của được mã hoá bằng DER
|
rsa_pss_salt_length |
(Không bắt buộc) Chiều dài của chuỗi ngẫu nhiên cần sử dụng, nếu thuật toán chữ ký là RSASSA-PSS. Nếu thuật toán chữ ký không phải là RSASSA-PSS, thì trường này sẽ bị bỏ qua. |
reason |
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. Bạn nên làm sạch JSON được cung cấp trước khi hiển thị. Kích thước tối đa: 1 kilobyte. |
wrapped_private_key |
Khoá riêng tư đã gói được mã hoá bằng base64. Kích thước tối đa: 8 kilobyte. Định dạng của khoá riêng tư hoặc khoá riêng tư đã 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 khách và trên phía Gmail, đâ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 chữ ký được mã hoá bằ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 | |
|---|---|
{ "signature": string } |
|
| Trường | |
|---|---|
signature |
Một chữ ký được mã hoá bằ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 privatekeysign.
Yêu cầu
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
"authorization": "eyJhbGciOi...",
"authentication": "eyJhbGciOi...",
"algorithm": "SHA256withRSA",
"reason": "sign"
}
Phản hồi
{
"signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}