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 |
Token JWT wydany przez dostawcę tożsamości potwierdzający tożsamość użytkownika. Zobacz tokeny uwierzytelniania. |
authorization |
Token JWT potwierdzający, że użytkownik może wyodrębnić klucz dla aplikacji |
algorithm |
Algorytm użyty do szyfrowania klucza szyfrowania danych (DEK) w szyfrowaniu danych koperty. |
digest |
Skrót wiadomości zakodowany w standardzie Base64. Skrót wartości |
rsa_pss_salt_length |
(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 |
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 |
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 |
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=="
}