ラップされた秘密鍵をラップ解除し、クライアントから提供されたダイジェストに署名します。
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 |
ユーザーが誰であるかを表明する ID プロバイダ(IdP)が発行した JWT。認証トークンをご覧ください。 |
authorization |
ユーザーが |
algorithm |
エンベロープ暗号化でデータ暗号鍵(DEK)の暗号化に使用されたアルゴリズム。 |
digest |
Base64 でエンコードされたメッセージ ダイジェスト。DER でエンコードされた |
rsa_pss_salt_length |
(省略可)署名アルゴリズムが RSASSA-PSS の場合、使用するソルトの長さ。署名アルゴリズムが RSASSA-PSS でない場合、このフィールドは無視されます。 |
reason |
オペレーションに関する追加のコンテキストを提供するパススルー JSON 文字列。提供された JSON は、表示する前にサニタイズする必要があります。最大サイズ: 1 KB。 |
wrapped_private_key |
Base64 でエンコードされたラップ済み秘密鍵。最大サイズ: 8 KB。 秘密鍵またはラップされた秘密鍵の形式は、鍵アクセス制御リストサービス(KACLS)の実装によって異なります。クライアントと Gmail 側では、これは不透明な blob として扱われます。 |
レスポンスの本文
成功すると、このメソッドは base64 でエンコードされた署名を返します。
オペレーションが失敗した場合 構造化されたエラー リプライ 返されます。
JSON 表現 | |
---|---|
{ "signature": string } |
フィールド | |
---|---|
signature |
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=="
}