function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
FPdfTsa sélectionne ce transport pour Delphi sur les plateformes POSIX ; l’implémentation utilise System.Net.HttpClient pour envoyer un véritable POST HTTP ou HTTPS avec Content-Type: application/timestamp-query et Accept: application/timestamp-reply
La façade délègue à FPdfTsaWin sous Windows et à FPdfTsaFpc avec Free Pascal natif ; ces branches évitent d’imposer aux anciens packages Delphi Windows une dépendance à l’implémentation HTTP POSIX
La disponibilité du transport décrit le backend HTTP sélectionné ; elle ne garantit ni l’accessibilité du TSA, ni la confiance dans le certificat du signataire, ni la validité de l’horodatage
| Fonction | Description |
|---|---|
TsaHttpAvailable | Indique si le transport HTTP sélectionné pour la plateforme est disponible |
TsaHttpBackendName | Renvoie System.Net.HttpClient pour Delphi POSIX ou le nom indiqué par le transport Windows ou Free Pascal délégué |
PostTimeStampQuery | Envoie la requête DER de l’appelant à TsaUrl, accepte une réponse 2xx non vide de taille bornée et renvoie ses octets dans RespDer ; un échec vide la sortie et renvoie False |
Le transport Delphi limite les corps de requête et de réponse à 4 MiB et les URL à 8192 unités de chaîne ; seuls HTTP et HTTPS sont acceptés et les redirections sont désactivées
Les délais de connexion, d’envoi et de réponse sont de 30000 millisecondes ; un worker demande l’annulation de la requête HTTP native lorsque le budget global de 30000 millisecondes expire ; les écritures bornées du flux de réponse et la vérification de la réponse terminée refusent également tout dépassement ; l’implémentation HTTP du système détermine la rapidité effective de l’annulation native
HTTPS conserve les vérifications de certificat et de nom d’hôte de la plateforme ; un POST réussi ne valide que le transport : FPdfTsa doit encore analyser la réponse RFC 3161, vérifier l’empreinte et le nonce demandés et extraire le jeton ; la validation de confiance PAdES vérifie séparément la signature CMS du jeton original, sa chaîne de certificats, ses preuves de révocation et son rôle d’horodatage
Une réponse 2xx peut contenir un refus DER du TSA, que l’analyseur de niveau supérieur signale comme une requête d’horodatage échouée