メソッド: 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 のダイジェスト。この値はパディングなしです。最大サイズ: 128 B

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