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

Nowoczesni dostawcy podpisu