Para realizar el sellado de tiempo se requieren los siguientes pasos:
Paso 1: Generación del HASH
Crearemos el HASH del documento o de los datos a sellar; para ello podemos utilizar cualquier función disponible en cualquier lenguaje de programación. En este ejemplo vamos a generar la petición con openssl:
openssl ts -query -data mifichero.pdf -no_nonce -sha256 -out request.tsq
Al ejecutar este comando obtendremos un fichero request.tsq que contiene lo necesario para la petición a la TSA (Autoridad de Sellado de Tiempo).
ATENCIÓN: si lo que desea es sellar un fichero PDF y, además, desea 'incrustar' el sello de tiempo (y opcionalmente una firma) en el propio documento, use la utilidad de Firma y Sellado de PDFs que hemos desarrollado como ayuda para nuestros clientes y que realiza todo el proceso.
Paso 2: Petición de Sellado de tiempo
Con el fichero request.tsq obtenido en el paso anterior (TSQ: TimeStamp Query) enviamos una petición al servidor TSA elegido:
// Sello de MENSATEK (1 crédito)
curl -H 'Content-Type:application/timestamp-query' --data-binary @request.tsq https://api.mensatek.com/tsaMENSATEK -o response.tsr -u usuario:contraseña
// Sello de la FNMT (2 créditos)
curl -H 'Content-Type:application/timestamp-query' --data-binary @request.tsq https://api.mensatek.com/tsaFNMT -o response.tsr -u usuario:contraseña
En el fichero response.tsr obtendremos el sello de tiempo para los datos que hemos enviado.
Paso 3: Verificación de Sello de Tiempo
openssl ts -reply -in response.tsr -text
Recibiremos una respuesta como la siguiente:
Status info:
Status: Granted.
Status description: unspecified
Failure info: unspecified
TST info:
Version: 1
Policy OID: 0.4.0.2023.1.1
Hash Algorithm: sha256
Message data:
0000 - d5 86 97 15 3e bd 4d 5c-f6 56 61 49 16 95 88 4e ....>.M\.VaI...N
0010 - c6 f2 c5 0f b3 be 2b 57-fd 93 3c d8 47 14 e5 3a ......+W..<.G..:
Serial number: 0x467819383180ADD560EC8A3B171A7B29
Time stamp: Jul 12 18:30:19.06 2021 GMT
Accuracy: unspecified seconds, 0x64 millis, unspecified micros
Ordering: no
Nonce: unspecified
TSA: DirName:/C=ES/O=FABRICA NACIONAL DE MONEDA Y TIMBRE-REAL CASA DE LA MONEDA/OU=CERES/2.5.4.97=VATES-Q2826004J/CN=AUTORIDAD DE SELLADO DE TIEMPO FNMT-RCM - TSU 2016