Zdalny dostawca podpisu CSC
THPDFCSCSignatureProvider implementuje API CSC v2 credentials/info, credentials/authorize, credentials/authorizeCheck, signatures/signHash, signatures/signPolling i signatures/timestamp na istniejącym kontrakcie THPDFSignatureProvider
Transport i autoryzacja
Dostawca nigdy nie wybiera stosu HTTP ani nie przechowuje tokenu odświeżania, sekretu klienta, PIN ani OTP
THPDFCSCTransport otrzymuje dokładną metodę, URL, autoryzację bearer, treść JSON, stabilny klucz idempotencji, numer próby, identyfikator operacji i budżet odpowiedzi, podczas gdy THPDFCSCAccessTokenCallback dostarcza i odświeża krótkotrwałe tokeny dostępu OAuth
Gdy SAD jest wymagany, dostawca pobiera metadane poświadczeń i kompletny łańcuch certyfikatów, prosi THPDFCSCAuthenticationCallback o zweryfikowane wartości uwierzytelniania, uzyskuje SAD i odpytuje asynchroniczny uchwyt autoryzacji, gdy to konieczne
Podpisywanie i bezpieczeństwo powtarzania
Sign przyjmuje dane wejściowe skrótu z potoku CMS, przenosi identyfikatory OID skrótu i podpisu do signatures/signHash oraz emituje parametry DER-encoded RSA-PSS, gdy jest to wymagane
Odpowiedzi synchroniczne zwracają jeden zdekodowany podpis natychmiast, podczas gdy odpowiedzi asynchroniczne przechowują nieprzezroczysty responseID przed odpytywaniem
Wywołanie z wieloma skrótami jest przyjmowane tylko, gdy jego liczba mieści się zarówno w MaxBatchSignatures, jak i w wartości multisign poświadczenia, a odpowiedź musi zawierać dokładnie jeden podpis dla każdego żądanego skrótu
Zgłoszenia przejściowe ponownie używają jednego klucza Idempotency-Key wyprowadzonego z operacji, a ograniczona pamięć operacji zwraca już ukończony podpis, gdy ta sama operacja, poświadczenie, algorytm i skrót są przesłane ponownie
Nieudana próba transportowa zachowuje automatycznie autoryzowane SAD dla dokładnego retry, ale inna partia nie może skonsumować tego SAD i musi uzyskać nową autoryzację
Budżety i anulowanie
THPDFCSCOptions.Default ogranicza bajty odpowiedzi, podpisy, znaczniki czasu, liczbę i bajty łańcucha certyfikatów, próby ponawiania, opóźnienia Retry-After, próby odpytywania i buforowane operacje
Cancel jest obserwowane przed wywołaniami transportu, między ponownymi próbami i podczas krótko podzielonych oczekiwań odpytywania, a identyfikator operacji jest również przekazywany transportowi, aby aplikacja mogła anulować własne trwające żądanie HTTP
Łańcuchy certyfikatów i znaczniki czasu
RefreshCredentialInfo sprawdza i buforuje klucz, algorytm, autoryzację, SCAL, wielokrotne podpisy i metadane łańcucha certyfikatów bez podpisywania
GetCertificateChain zwraca defensywne kopie bajtów odpowiednie dla danych wejściowych certyfikatu CMS, podczas gdy TimestampDigest żąda i dekoduje jeden token RFC 3161 z opcjonalnym nonce