Metoda: privatekeysign

Wyodrębnia opakowany klucz prywatny, a następnie podpisuje skrót dostarczony przez klienta.

Żądanie HTTP

POST https://BASE_URL/privatekeysign

Zastąp BASE_URL podstawowym adresem URL.

Parametry ścieżki

Brak.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
Pola
authentication

string

Token JWT wydany przez dostawcę tożsamości potwierdzający tożsamość użytkownika. Zobacz tokeny uwierzytelniania.

authorization

string

Token JWT potwierdzający, że użytkownik może wyodrębnić klucz dla aplikacji resource_name. Zobacz tokeny autoryzacji.

algorithm

string

Algorytm użyty do szyfrowania klucza szyfrowania danych (DEK) w szyfrowaniu danych koperty.

digest

string

Skrót wiadomości zakodowany w standardzie Base64. Skrót wartości SignedAttributes w formacie DER. Ta wartość nie jest dopełniona. Maks. rozmiar: 128 B

rsa_pss_salt_length

integer

(Opcjonalnie) Długość ciągu zaburzającego, która ma być używana, jeśli algorytm podpisu to RSASSA-PSS. Jeśli algorytm podpisu jest inny niż RSASSA-PSS, to pole jest ignorowane.

reason

string (UTF-8)

Przekazywany ciąg znaków JSON zawierający dodatkowy kontekst operacji. Przesłany plik JSON powinien zostać oczyszczony przed wyświetleniem. Maksymalny rozmiar: 1 KB.

wrapped_private_key

string

Opakowany klucz prywatny zakodowany w base64. Maksymalny rozmiar: 8 KB.

Format klucza prywatnego lub opakowanego klucza prywatnego zależy od implementacji usługi listy kontroli dostępu do kluczy (KACLS). Po stronie klienta i po stronie Gmaila jest on traktowany jako nieprzezroczysty obiekt blob.

Treść odpowiedzi

Jeśli operacja się uda, metoda zwróci podpis zakodowany w standardzie base64.

Jeśli operacja się nie powiedzie, zwracana jest uporządkowana odpowiedź o błędzie.

Zapis JSON
{
  "signature": string
}
Pola
signature

string

Podpis zakodowany w standardzie base64.

Przykład

W tym przykładzie podano przykładowe żądanie i odpowiedź w metodzie privatekeysign.

Prośba

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

Odpowiedź

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