Clase THPDFCSCSignatureProvider
THPDFCSCSignatureProvider = class(THPDFSignatureProvider)
function Sign(const Request: THPDFSignatureProviderRequest;
out Signature: TBytes): THPDFSignatureProviderStatus; override;
function SignHashBatch(const Requests: THPDFCSCSignatureRequests;
const OperationIdentifier: AnsiString;
out Signatures: THPDFCSCSignatures): THPDFSignatureProviderStatus;
function EstimateSignatureSize(const Request: THPDFSignatureProviderRequest;
out SignatureBytes: Integer): THPDFSignatureProviderStatus; override;
procedure Cancel(const OperationIdentifier: AnsiString); override;
function RefreshCredentialInfo(const OperationIdentifier: AnsiString = ''):
THPDFSignatureProviderStatus;
function GetCertificateChain: THPDFCSCCertificateChain;
function TimestampDigest(const Digest: TBytes;
const DigestAlgorithmOID, Nonce, OperationIdentifier: AnsiString;
out TimestampToken: TBytes): THPDFSignatureProviderStatus;
end;
El provider se serializa en la frontera de operación por credential, de modo que un SAD de un solo uso no pueda generar condiciones de carrera entre firmas concurrentes, mientras que la cancelación sigue siendo invocable de forma independiente
SignHashBatch acepta un array ordenado y acotado de requests de digest que comparten un mismo algoritmo de digest y de firma, y luego devuelve un array de firmas correspondiente por posición
spcSafeSignRetry se anuncia solo cuando la idempotencia estable está habilitada