Windows signerings-tidsstempler
Windows sign-operationen kan anmode om et rigtigt RFC3161-tidsstempel gennem en synkron applikations-callback og publicere PDF'en først efter at have autentificeret responsen
Signerings-options
{"schemaVersion":1,"type":"sign","incremental":true,
"existingField":true,"fieldName":"ApprovalOne",
"pfxFile":"C:/keys/signer.pfx","pfxPassword":"password",
"cades":true,"digestMethod":"SHA384","timestamp":true,
"timestampURL":"https://tsa.example/service",
"timestampTrustedCAFile":"C:/trust/tsa-roots.pem",
"timestampTrustedCRLFile":"C:/trust/tsa-crls.pem",
"requireTimestampRevocation":true}
timestamp er som standard false; en true-værdi kræver applikationstransport-callbacken og en eksplicit timestampTrustedCAFile med betroede PEM-certifikatrødder
digestMethod vælger den faktiske dokument-CMS-digest og timestamp-aftryksalgoritme fra SHA256, SHA384 eller SHA512; messageImprint hasher de faktiske CMS signaturoktetter præcis én gang
timestampTrustedCRLFile leverer valgfrit PEM CRL'er; requireTimestampRevocation kræver den fil og aktiverer issuer- og certifikat-CRL-tjek, inklusive revokerede certifikater og udløbet evidence
Trust-inputfiler forbliver åbne med write sharing nægtet under signering, og deres samlede størrelse er begrænset til en ottendedel af memoryBytes, før OpenSSL indlæser dem
Hver anmodning indeholder en frisk kryptografisk nonce og anmoder om TSA-certifikaterne; responsvalidering autentificerer anmodningens nonce, aftryk, komplet CMS-signatur, ESS signing-certificate-binding, certifikatkæde og kritisk timestamping EKU
C ABI-transport
Send hpdf_signing_operation_v1 til hpdf_document_execute_json_v1, sæt operation.struct_size til sizeof(hpdf_signing_operation_v1) og lever timestamp_transport og timestamp_user_data
Operationspræfikset beholder det eksisterende hpdf_operation_v1-layout og ABI-version; almindelige operationer fortsætter med at bruge den originale struktur
Callbacken modtager den komplette DER TimeStampReq og en lånt response_io; skriv den komplette DER TimeStampResp gennem response_io.write og returnér en hpdf_status
Callbacken kører på den kaldende tråd, og anmodnings- og respons IO-pointere forbliver kun gyldige under den invokation; applikationen ejer netværkstransport, autentifikation, timeout og forbindelsespolitik
response_io.is_cancelled poller operationens input-, output- og resultat-cancellation-callbacks; respons-skrivninger håndhæver et maksimum på 16 MiB derudover begrænset til en ottendedel af memoryBytes, før callback-hukommelse kopieres
En respons-skrive- eller cancellation-fejl forbliver aktiv for operationen, selv når callbacken efterfølgende returnerer succes; mislykkede responser kan ikke publicere PDF-bytes
Pascal service-indgang
THPDFJobProcessor.ExecuteLoadedSigningOperation accepterer det indlæste dokument, operation JSON-objekt, outputstream, checkpoint, THPDFHeadlessTimestampTransport-callback og opak callback-kontekst
Pascal-transporten modtager anmodnings-DER og returnerer respons-DER; nestet synkron signering gendanner den omgivende callback-kontekst, når den indre operation returnerer
Seed-værdier og proveniens
En krævet SV TimeStamp-begrænsning tilfredsstilles af et rigtigt autentificeret respons; når den krævede TimeStamp-dictionary angiver en URL, skal timestampURL matche den værdi
timestampURL er applikationshævdet transportproveniens; at sammenligne den deklarerede URL etablerer ikke HTTPS-serveridentitet, og applikationen skal autentificere sit valgte endpoint
Selvstændige file jobs uden en applikations-callback kan ikke udføre en timestamp-anmodning; en URL-streng alene kan ikke tilfredsstille et krævet tidsstempel