Yöntem: privatekeysign

Sarmalanmış bir özel anahtarın sarmalamasını açar ve ardından istemci tarafından sağlanan özeti imzalar.

HTTP isteği

POST https://BASE_URL/privatekeysign

BASE_URL yerine temel URL'yi yazın.

Yol parametreleri

Yok.

İstek içeriği

İsteğin gövdesi, aşağıdaki yapıya sahip veriler içerir:

JSON gösterimi
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Alanlar
authentication

string

Kullanıcının kim olduğunu doğrulayan, kimlik sağlayıcı (IdP) tarafından verilmiş bir JWT. Kimlik doğrulama jetonlarını inceleyin.

authorization

string

Kullanıcının resource_name için anahtarın sarmalamasını açmasına izin verildiğini iddia eden bir JWT. Yetkilendirme jetonlarını inceleyin.

algorithm

string

Veri Şifreleme Anahtarı'nı (DEK) zarf şifrelemesiyle şifrelemek için kullanılan algoritma.

digest

string

Base64 kodlu mesaj özeti. DER kodlamalı SignedAttributes özeti. Bu değer doldurulmamış. Maksimum boyut: 128 B

rsa_pss_salt_length

integer

(İsteğe bağlı) İmza algoritması RSASSA-PSS ise kullanılacak takviye değer uzunluğu. İmza algoritması RSASSA-PSS değilse bu alan yoksayılır.

reason

string (UTF-8)

İşlem hakkında ek bağlam sağlayan bir geçiş JSON dizesi. Sağlanan JSON dosyası gösterilmeden önce temizlenmelidir. Maks. boyut: 1 KB.

wrapped_private_key

string

Base64 kodlu sarmalanmış özel anahtar. Maks. boyut: 8 KB.

Özel anahtarın veya sarmalanmış özel anahtarın biçimi, Anahtar Erişim Kontrol Listesi Hizmeti (KACLS) uygulamasına bağlıdır. İstemcide ve Gmail tarafında bu, opak bir blob olarak ele alınır.

Yanıt gövdesi

Başarılı olursa bu yöntem base64 kodlu bir imza döndürür.

İşlem başarısız olursa yapılandırılmış hata yanıtı döndürülür.

JSON gösterimi
{
  "signature": string
}
Alanlar
signature

string

base64 kodlu bir imza.

Örnek

Bu örnek, privatekeysign yöntemi için örnek bir istek ve yanıt sağlar.

İstek

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

Yanıt

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