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

Moderne Signaturanbieter