CSC-Remote-Signaturanbieter
THPDFCSCSignatureProvider implementiert die CSC-API v2 credentials/info, credentials/authorize, credentials/authorizeCheck, signatures/signHash, signatures/signPolling und signatures/timestamp im bestehenden Vertrag von THPDFSignatureProvider
Transport und Autorisierung
Der Anbieter wählt keinen HTTP-Stack und speichert weder Refresh-Token, Client-Secret, PIN noch OTP
THPDFCSCTransport erhält die genaue Methode, URL, Bearer-Autorisierung, den JSON-Textkörper, einen stabilen Idempotenzschlüssel, die Versuchszahl, die Operationskennung und das Antwortlimit; THPDFCSCAccessTokenCallback liefert und erneuert kurzlebige OAuth-Zugriffstoken
Wenn SAD erforderlich ist, ruft der Anbieter Anmeldedatenmetadaten und die vollständige begrenzte Zertifikatskette ab, fragt THPDFCSCAuthenticationCallback nach geprüften Authentifizierungswerten, bezieht ein SAD und pollt bei Bedarf einen asynchronen Autorisierungs-Handle
Signieren und Replay-Sicherheit
Sign akzeptiert Digest-Eingaben aus der CMS-Pipeline, übergibt Digest- und Signatur-OIDs an signatures/signHash und erzeugt bei Bedarf DER-kodierte RSA-PSS-Parameter
Synchrone Antworten liefern sofort eine dekodierte Signatur, während asynchrone Antworten die undurchsichtige responseID vor dem Polling speichern
Ein Mehrfach-Digest-Aufruf wird nur akzeptiert, wenn seine Anzahl sowohl in MaxBatchSignatures als auch in den multisign-Wert der Credential passt, und die Antwort muss für jeden angeforderten Digest genau eine Signatur enthalten
Vorübergehende Anfragen verwenden denselben aus der Operation abgeleiteten Idempotency-Key, und der begrenzte Operationscache gibt eine bereits fertige Signatur zurück, wenn dieselbe Operation, Anmeldedaten, Algorithmus und Digest erneut eingereicht werden
Ein fehlgeschlagener Transportversuch behält eine automatisch autorisierte SAD für einen exakten Wiederholungsversuch; ein anderer Batch kann diese SAD nicht verbrauchen und muss eine neue Autorisierung einholen
Budgets und Abbruch
THPDFCSCOptions.Default begrenzt Antwortbytes, Signaturen, Zeitstempel, Anzahl und Byteumfang der Zertifikatskette, Wiederholungsversuche, Retry-After-Verzögerungen, Poll-Versuche und zwischengespeicherte Operationen
Cancel wird vor Transportaufrufen, zwischen Wiederholungen und während kurz getakteter Poll-Wartezeiten geprüft; die Operationskennung wird außerdem an den Transport übergeben, damit eine Anwendung ihre eigene laufende HTTP-Anfrage abbrechen kann
Zertifikatsketten und Zeitstempel
RefreshCredentialInfo validiert und speichert Schlüssel-, Algorithmus-, Autorisierungs-, SCAL-, Multisignatur- und Zertifikatskettenmetadaten ohne zu signieren
GetCertificateChain liefert defensive Bytekopien für die CMS-Zertifikateingabe, während TimestampDigest ein RFC-3161-Token mit optionaler Nonce anfordert und dekodiert