libriciel / trusted-timestamps
Imported from https://d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/
Package info
gitlab.adullact.net/Libriciel/archivage/trusted-timestamps.git
pkg:composer/libriciel/trusted-timestamps
1.1.3
2026-07-24 12:24 UTC
Requires
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: ^7.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-29 12:57:39 UTC
README
Horodatage certifié RFC 3161 : création d'une requête d'horodatage, signature par une autorité d'horodatage (TSA) et lecture ou vérification de la réponse.
Dépendance de
| Projet | Build | Coverage |
|---|---|---|
| asalae | ||
| asalae-core |
Prérequis
- Extension PHP
curl openssl(sous-commandeopenssl ts)
Installation
composer require libriciel/trusted-timestamps:~1.1
Utilisation
TrustedTimestamps
TrustedTimestamps\TrustedTimestamps :
createRequestfile($hash, $hash_algo = 'sha1'): crée la requête d'horodatage d'une empreintesignRequestfile($requestfile_path, $tsa_url, $curlOpts = [], $timestamp_format = null): envoie la requête à l'autorité d'horodatage (TSA) et renvoie la réponse (response_stringen base64)getTimestampFromAnswer(): date d'horodatage contenue dans une réponsevalidate(): vérifie une réponse avec le certificat de la TSA
tests/TestCase/TrustedTimestampsTest.php
$sha1 = sha1('foo');
/** @var \PHPUnit\Framework\string|string $requestFile (suppress IDE warning) */
$requestFile = TrustedTimestamps::createRequestfile($sha1);
$this->assertFileExists($requestFile);
$this->toUnlink[] = $requestFile;
$signature = TrustedTimestamps::signRequestfile($requestFile, self::TSA_URL);
$this->assertTrue(!empty($signature));
$this->assertTrue(!empty($signature['response_string']));
$timestamp = TrustedTimestamps::getTimestampFromAnswer($signature['response_string']);
$this->assertTrue(!empty($timestamp));
src/Driver/Timestamping/TimestampingGeneric.php (asalae-core)
$token = $this->trustedTimestampClass::signRequestfile(
$requestFile,
$this->tsaUrl,
$opts,
$this->timestampFormat
);
return base64_decode($token['response_string']);
Tests
vendor/bin/phpunit
Licence
Licence MIT. D'après Dealing with trusted timestamps in PHP (RFC 3161).