THPDFCSCSignatureProvider Class
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;
Il provider viene serializzato al confine delle operazioni sulla credenziale così un SAD a uso singolo non può andare in race attraverso firme concorrenti, mentre la cancellazione resta richiamabile in modo indipendente
SignHashBatch accetta un array ordinato limitato di richieste di digest che condividono uno stesso digest e algoritmo di firma, poi restituisce un array di firme corrispondente per posizione
spcSafeSignRetry viene pubblicizzato solo quando l'idempotenza stabile è abilitata