Native Linux ABI Timestamp Transport
Native Linux signing-jobs ondersteunen echte RFC 3161 timestamp-transport via een uitgebreid operation-record; de originele ABI-versie, operation-prefix, geƫxporteerde functie en gewone operation-record-grootte blijven ongewijzigd
typedef hpdf_status (HPDF_CDECL *hpdf_timestamp_transport_v1)(
void *user_data, const void *request, size_t request_length,
const hpdf_io_v1 *response_io);
typedef struct hpdf_signing_operation_v1 {
hpdf_operation_v1 operation;
void *timestamp_user_data;
hpdf_timestamp_transport_v1 timestamp_transport;
} hpdf_signing_operation_v1;
Record- en JSON-configuratie
Initialiseer de originele operation-velden en zet operation.struct_size op sizeof(hpdf_signing_operation_v1); geef &record.operation door aan hpdf_document_execute_json_v1 met een schemaVersion 1 sign-job en timestamp: true
De extensie is 72 bytes op native Linux x86-64; de originele hpdf_operation_v1 blijft 56 bytes en hpdf_abi_operation_v1_size rapporteert nog steeds die originele grootte
timestampTrustedCAFile levert de TSA-trust roots; optionele timestampTrustedCRLFile en requireTimestampRevocation zetten expliciete revocation-verificatie aan
De callback ontvangt het echte DER timestamp-request, inclusief de signature-imprint en gegenereerde nonce; geef echte DER response-bytes terug via de meegeleverde write-callback en geef een ABI-status terug
Eigendom en annulering
Het transport draait synchroon op de aanroepende thread; request-bytes, response-callback-tabel en response user data worden alleen geleend tot het transport terugkeert
Poll response_io->is_cancelled tijdens transportwerk, honoreer response-write-falen en handhaaf netwerk- of subprocess-deadlines in de applicatie-callback
maxTimestampResponseBytes defaultt naar het kleinste van 4194304 bytes en een achtste van de operation working-budget; een geconfigureerde limiet moet positief zijn en mag die working-budget-fractie niet overschrijden
De library houdt een gefaalde of geannuleerde response-write vast, zelfs wanneer de applicatie-callback later succes teruggeeft; timestamp-falen behouden de niet-getekende geladen context en publiceren geen signed uitvoer
Validatie en resultaten
De native implementatie verifieert response-status, signature-imprint, nonce, TSA-certificaatdoel, certificaatketen en gevraagd revocation-beleid voordat het signatureTimeStampToken-attribute wordt toegevoegd en de signature wordt gepubliceerd
Signing-resultaten omvatten timestampCount, timestampValid en timestampTrustEvaluated; signatures.verify accepteert requireTimestamp en dezelfde expliciete TSA-trust/revocation-options
Acceptatie
Beide native Linux-compilers halen 319 echte ctypes-asserties, 39 echte C timestamp-client-asserties, 33 bestaande C ABI-asserties en 296 onafhankelijke output-checks
Onafhankelijke OpenSSL-verificatie authenticeert de CMS-signatures en embedded timestamp-tokens, verwerkt gewijzigde signature-imprints en ingetrokken TSA-certificaten, en verifieert getimestampde plain- en AES-256 R5/R6-documenten
Native signing jobs · Native C ABI · Pascal timestamp transport