Intégrer le protocole RFC 3161
Manipuler les TSQ et TSR binaires et contrôler le résultat protocolaire.
Le point d’accès RFC 3161 reçoit une TimeStampReq DER et renvoie une TimeStampResp DER. Il ne reçoit ni un fichier métier brut, ni une chaîne de hash seule, ni un objet JSON.
| Élément | Valeur |
|---|---|
| Méthode et chemin | POST /api/timestamp |
| Authentification | HTTP Basic sur HTTPS |
| Content-Type envoyé | application/timestamp-query |
| Réponse réussie | application/timestamp-reply |
| Corps | Octets binaires, sans encodage Base64 supplémentaire |
Ouvrir la référence interactive.
Fabriquer la demande depuis une empreinte
Si votre application connaît déjà le SHA-256 hexadécimal du document :
openssl ts -query -sha256 -digest "$SHA256_HEX" -cert -out demande.tsqSHA256_HEX contient exactement 64 caractères hexadécimaux. Il représente les 32 octets de l’empreinte ; ce n’est pas le Base64 de la chaîne hexadécimale.
Pour d’autres algorithmes acceptés par la politique TSA, construisez une requête dont l’OID et la longueur de l’empreinte correspondent. Le protocole est décrit dans la RFC 3161, mise à jour par la RFC 5816.
Vérifier les deux niveaux de réponse
Un succès HTTP indique que la requête a été traitée au niveau transport. Il faut aussi contrôler le statut de la réponse RFC 3161 et la présence du jeton, puis vérifier le lien avec la TSQ, l’empreinte, l’algorithme, le nonce et la signature de l’autorité. Le client doit rejeter un résultat incohérent.
Conservez la TSQ pour vérifier le nonce et l’empreinte demandés. Utilisez un nombre aléatoire approprié si votre bibliothèque vous laisse configurer le nonce. Ne fabriquez pas de date de génération côté client : le temps de la preuve est fourni par l’autorité.
TSR et jeton seul
Une TSR est l’enveloppe de réponse. Le TimeStampToken est l’objet signé qu’elle contient. Certaines bibliothèques et certains conteneurs de signature attendent uniquement ce jeton :
openssl ts -reply -in reponse.tsr -token_out -out jeton.tstPour une validation OpenSSL d’un jeton seul, utilisez l’option -token_in adaptée. N’ajoutez pas cette option pour une TSR complète. Une extension de fichier ne suffit pas à déterminer le format.
Reprises
Cette API ne documente pas de clé d’idempotence. Renvoyer la même TSQ peut créer un nouveau jeton et une nouvelle consommation. En cas de réponse perdue, enregistrez un état « résultat incertain » et rapprochez l’opération avant de décider d’une nouvelle émission. Voir Exploitation.
Updated about 1 hour ago

