Yöntem: privatekeysign

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

HTTP isteği

POST https://BASE_URL/privatekeysign

BASE_URL değerini temel URL ile değiştirin.

Yol parametreleri

Yok.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri 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

Kimlik sağlayıcı (IdP) tarafından yayınlanan ve kullanıcının kim olduğunu belirten bir JWT. Kimlik doğrulama jetonları bölümüne bakın.

authorization

string

Kullanıcının resource_name için bir anahtarı açmasına izin verildiğini belirten bir JWT. Yetkilendirme jetonları başlıklı makaleyi inceleyin.

algorithm

string

Zarf şifrelemede veri şifreleme anahtarını (DEK) şifrelemek için kullanılan algoritma.

digest

string

Base64 kodlu mesaj özeti. DER kodlamalı SignedAttributes öğesinin özeti. Bu değer doldurulmaz. Maks. boyut: 128 B

rsa_pss_salt_length

integer

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

reason

string (UTF-8)

İşlemle ilgili ek bağlam sağlayan bir geçiş JSON dizesi. Sağlanan JSON, gösterilmeden önce temizlenmelidir. Maksimum 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'nin (KACLS) uygulanmasına bağlıdır. İstemci ve Gmail tarafında bu, opak bir blob olarak değerlendirilir.

Yanıt gövdesi

İşlem 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 örnekte, privatekeysign yöntemi için örnek bir istek ve yanıt verilmiştir.

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