メソッド: privatekeysign

ラップされた秘密鍵をラップ解除し、クライアントから提供されたダイジェストに署名します。

HTTP リクエスト

POST https://BASE_URL/privatekeysign

BASE_URL は、ベース URL に置き換えます。

パスパラメータ

なし。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
フィールド
authentication

string

ユーザーが誰であるかを表明する ID プロバイダ(IdP)が発行した JWT。認証トークンをご覧ください。

authorization

string

ユーザーが resource_name の鍵のラップ解除を許可していることをアサートする JWT。認可トークンをご覧ください。

algorithm

string

エンベロープ暗号化でデータ暗号鍵(DEK)の暗号化に使用されたアルゴリズム。

digest

string

Base64 でエンコードされたメッセージ ダイジェスト。DER でエンコードされた SignedAttributes のダイジェスト。この値はパディングされません。最大サイズ: 128B

rsa_pss_salt_length

integer

(省略可)署名アルゴリズムが RSASSA-PSS の場合、使用するソルトの長さ。署名アルゴリズムが RSASSA-PSS でない場合、このフィールドは無視されます。

reason

string (UTF-8)

オペレーションに関する追加のコンテキストを提供するパススルー JSON 文字列。提供された JSON は、表示する前にサニタイズする必要があります。最大サイズ: 1 KB。

wrapped_private_key

string

Base64 でエンコードされたラップ済み秘密鍵。最大サイズ: 8 KB。

秘密鍵またはラップされた秘密鍵の形式は、鍵アクセス制御リストサービス(KACLS)の実装によって異なります。クライアントと Gmail 側では、これは不透明な blob として扱われます。

レスポンスの本文

成功すると、このメソッドは base64 でエンコードされた署名を返します。

オペレーションが失敗した場合 構造化されたエラー リプライ 返されます。

JSON 表現
{
  "signature": string
}
フィールド
signature

string

Base64 でエンコードされた署名。

この例では、privatekeysign のリクエストとレスポンスのサンプルを示します。 メソッドを呼び出します。

リクエスト

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "SHA256withRSA",
  "reason": "sign"
}

レスポンス

{
  "signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}