El servicio de Sello de Tiempo de la FNMT / TimeStamp cualificado de la FNMT permite demostrar que una serie de datos existían y no han sido modificados desde un instante específico de tiempo. Este servicio está cualificado según la regulación europea 910/2014 (eIDAS).
Este servicio te permite una forma sencilla de añadir un sello de tiempo para garantizar, de forma irrefutable, la existencia en el momento de sellado e integridad a partir de ese momento de documentos y transacciones.
Simplemente se deben realizar peticiones TCP según el estándar de timestamp IETF-PKIX RFC-3161 -Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)- con las siguientes características:
La autenticación puede ser:
1.- con usuario/contraseña (BASIC AUTH ó DIGEST AUTH). Los datos de usuario/contraseña los encontrará en su acceso de usuario
2.- Mediante certificados. La validación de los certificados a utilizar también se realiza desde su panel de usuario.
Se envía un HASH de los datos, los algoritmos hash admitidos son:
SHA256
SHA384
SHA512
Otros aspectos ténicos no necesarios para la integración:
Link de descarga del certificado raíz de la TSA de la Fábrica Nacional de Moneda y Timbre: Descargar
Referencia /OID1de política: 1.3.6.1.4.1.5734.3.18.1
Tipo de política asociada: QCP-l.OID:0.4.0.194112.1.1
Autenticación por usuario/contraseña:
https://www.lofirmo.com/tsa
Autenticación con Certificado:
https://cert.asetecgroup.es/tsa
El servicio requiere que esté registrado como usuario. Una vez dentro del panel puede acceder al menú de sellado de tiempo para ver su usuario/contraseña para el servicio. También puede validar certificados para poder utilizar la autenticación con certificado.
Posibilidad de autenticación:
1.- con usuario/contraseña (BASIC AUTH ó DIGEST AUTH). Los datos de usuario/contraseña los encontrará en su acceso de usuario
2.- Mediante certificados. La validación de los certificados a utilizar también se realiza desde su panel de usuario.
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 el HASH 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 en el documento, es recomendable que use la utilidad que hemos desarrollado como ayuda para nuestros clientes y que realiza todo el proceso de petición , firma y sellado del documento PDF.
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
// Linux
curl -H 'Content-Type:application/timestamp-query' --data-binary @request.tsq https://www.lofirmo.com/tsa -o response.tsr -u usuario:contraseña
// Windows
curl -H "Content-Type:application/timestamp-query" --data-binary @request.tsq https://www.lofirmo.com/tsa -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:
1 | Status info:
2 | Status: Granted.
3 | Status description: unspecified
4 | Failure info: unspecified
5 |
6 | TST info:
7 | Version: 1
8 | Policy OID: 0.4.0.2023.1.1
9 | Hash Algorithm: sha256
10| Message data:
11| 0000 - d5 86 97 15 3e bd 4d 5c-f6 56 61 49 16 95 88 4e ....>.M\.VaI...N
12| 0010 - c6 f2 c5 0f b3 be 2b 57-fd 93 3c d8 47 14 e5 3a ......+W..<.G..:
13| Serial number: 0x467819383180ADD560EC8A3B171A7B29
14| Time stamp: Jul 12 18:30:19.06 2021 GMT
15| Accuracy: unspecified seconds, 0x64 millis, unspecified micros
16| Ordering: no
17| Nonce: unspecified
18| TSA: DirName:/C=ES/O=F\xC3\x81BRICA 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
19| Extensions:
20| qcStatements:
21| 0.0.......^..