Metode: privatekeysign

Membuka kunci pribadi yang dienkapsulasi, lalu menandatangani ringkasan yang diberikan oleh klien.

Permintaan HTTP

POST https://KACLS_URL/privatekeysign

Ganti KACLS_URL dengan URL Layanan Daftar Kontrol Akses Kunci (KACLS).

Parameter jalur

Tidak ada.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Kolom
authentication

string

JWT yang dikeluarkan oleh penyedia identitas (IdP) yang menyatakan siapa pengguna tersebut. Lihat token autentikasi.

authorization

string

JWT yang menyatakan bahwa pengguna diizinkan untuk membuka kunci untuk resource_name. Lihat token otorisasi.

algorithm

string

Algoritma yang digunakan untuk mengenkripsi Kunci Enkripsi Data (DEK) dalam enkripsi envelope.

digest

string

Ringkasan pesan berenkode base64. Digest SignedAttributes berenkode DER. Nilai ini tidak diisi. Ukuran maks.: 128 B

rsa_pss_salt_length

integer

(Opsional) Panjang salt yang akan digunakan, jika algoritma tanda tangannya adalah RSASSA-PSS. Jika algoritma tanda tangan bukan RSASSA-PSS, kolom ini akan diabaikan.

reason

string (UTF-8)

String JSON passthrough yang memberikan konteks tambahan tentang operasi. JSON yang diberikan harus dibersihkan sebelum ditampilkan. Ukuran maks: 1 KB.

wrapped_private_key

string

Kunci pribadi terbungkus yang dienkode base64. Ukuran maks: 8 KB.

Format kunci pribadi atau kunci pribadi yang di-wrap bergantung pada penerapan Layanan Daftar Kontrol Akses Kunci (KACLS). Di sisi klien dan di sisi Gmail, hal ini diperlakukan sebagai blob buram.

Isi respons

Jika berhasil, metode ini akan menampilkan tanda tangan berenkode base64.

Jika operasi gagal, respons error terstruktur akan ditampilkan.

Representasi JSON
{
  "signature": string
}
Kolom
signature

string

Tanda tangan berenkode base64.

Contoh

Contoh ini memberikan contoh permintaan dan respons untuk metode privatekeysign.

Permintaan

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

Tanggapan

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