Horodatages RFC3161 natifs
HPDFHeadlessTimestamp fournit la création de requêtes OpenSSL 3 native et la vérification authentifiée de réponses et tokens RFC3161 sur Linux et Windows
HPDFSignHeadlessCMS, SignToFile et SignPFXToFile hachent les octets de la signature CMS réelle avec SHA-256 et attachent le token de réponse vérifié comme attribut non signé signatureTimeStampToken
Configurez THPDFHeadlessCMSOptions.Timestamp.TrustedCAFile et Transport avant la signature, et réglez RequireTimestamp quand un token authentifié est obligatoire
Options := THPDFHeadlessCMSOptions.Default;
Options.TrustedCAFile := SignerTrustFile;
Options.RequireTimestamp := True;
Options.Timestamp.TrustedCAFile := TSATrustFile;
Options.Timestamp.TrustedCRLFile := TSACRLFile;
Options.Timestamp.RequireRevocation := True;
Options.Timestamp.Transport := RequestTimestamp;
Options.Timestamp.TransportContext := TransportContext;
Report := Document.SignPFXToFile(FieldIndex, OutputFile, IdentityPFX,
IdentityPassword, Options);
Le transport possédé par l'appelant reçoit un TimeStampReq DER complet et retourne un TimeStampResp DER complet, permettant à l'appelant de contrôler l'authentification HTTP, la politique TLS, les échéances et l'annulation pendant les I/O réseau
Les requêtes contiennent des nonces cryptographiques frais et demandent les certificats TSA ; les réponses doivent correspondre au nonce de requête et à la valeur de signature fournie
La vérification authentifie le token CMS complet, vérifie le chemin de certificats TSA et l'EKU d'horodatage critique, valide la liaison de certificat signataire ESS, et confronte le messageImprint SHA-256, SHA-384 ou SHA-512 aux octets de la signature réelle en utilisant l'algorithme porté par TSTInfo
RequireRevocation charge le fichier CRL explicite et active les vérifications de révocation de certificats vérifiées par émetteur ; des preuves manquantes, expirées ou révoquées échouent plutôt que de produire un résultat de confiance
Les tokens existants peuvent être vérifiés hors ligne sans le nonce de requête d'origine ; la vérification de réponses fraîches vérifie en outre le nonce de requête d'origine et le statut de réponse
Callbacks qui fournissent déjà une empreinte
Les fonctions ForImprint acceptent un digest précalculé SHA256, SHA384 ou SHA512 et sa valeur THPDFHeadlessTimestampDigest, puis préservent ces octets de digest exacts dans la requête RFC3161 sans les hacher de nouveau
Utilisez ces fonctions quand un callback de signature fournit déjà le messageImprint, y compris le THPDFCMSTimestampCallback Windows ; les helpers de requête de signature brute continuent d'utiliser SHA256, tandis que la vérification hors ligne de tokens hache les octets de la signature d'origine avec l'algorithme TSTInfo réellement pris en charge
Token := HPDFRequestHeadlessTimestampForImprint(MessageImprint,
htdSHA384, TimestampOptions);
La longueur d'empreinte doit être de 32, 48 ou 64 octets pour le digest sélectionné ; la vérification liée à la requête vérifie en outre le nonce frais d'origine, l'OID du digest, la signature CMS, la liaison de certificats TSA, les racines de trust explicites, l'EKU et les preuves de révocation configurées
Voir la création de requêtes, la vérification de réponses, la vérification hors ligne de tokens, le transport et les valeurs de digest
La validité des certificats et CRL de confiance est évaluée au moment de la vérification, si bien qu'un token archivé dont le certificat TSA a expiré a besoin d'une politique de validation d'archivage et de preuves plutôt que de contourner les vérifications de trust courantes
Les tokens malformés, les attributs d'horodatage dupliqués, les empreintes non correspondantes, les racines inconnues, les EKU invalides, les certificats TSA expirés, les certificats TSA révoqués, les CRL expirées, les budgets de réponses et l'annulation sont couverts par des tests d'acceptation natifs et indépendants
Les rapports de vérification d'horodatage sont séparés du trust des certificats signataires du document ; un horodatage de signature n'authentifie pas les révisions PDF ultérieures non signées
Les fonctions d'horodatage chargent leurs symboles OpenSSL d'horodatage uniquement quand elles sont utilisées ; réglez HOTPDF_OPENSSL_LIBRARY sur une bibliothèque partagée OpenSSL 3 explicite de l'architecture correspondante quand nécessaire