方法:privatekey 解密

解開包裝的私密金鑰,然後解密以公開金鑰加密的內容加密金鑰。

HTTP 要求

POST https://KACLS_URL/privatekeydecrypt

KACLS_URL 取代為金鑰存取控制清單服務 (KACLS) 網址。

路徑參數

無。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "encrypted_data_encryption_key": string,
  "rsa_oaep_label": string,
  "reason": string,
  "wrapped_private_key": string
}
欄位
authentication

string

由識別資訊提供者 (IdP) 發行的 JWT,用於聲明使用者身分。請參閱驗證權杖

authorization

string

JWT,用於聲明使用者有權為 resource_name 解除包裝金鑰。請參閱「授權權杖」。

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。

wrapped_private_key

string

採用 Base64 編碼的封裝私密金鑰。大小上限:8 KB。

私密金鑰或包裝私密金鑰的格式取決於金鑰存取控制清單服務 (KACLS) 的實作方式。在用戶端和 Gmail 端,這會被視為不透明的 Blob。

回應主體

如果成功,這個方法會傳回 Base64 資料加密金鑰。

如果作業失敗,系統會傳回結構化錯誤回覆

JSON 表示法
{
  "data_encryption_key": string
}
欄位
data_encryption_key

string

Base64 編碼的資料加密金鑰。

範例

這個範例提供 privatekeydecrypt 方法的要求和回應範例。

要求

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"
}

回應

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