Autoridad de Sellado de Tiempo / Timestamp (6.2)

EL SERVICIO

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.

CÓMO FUNCIONA

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

REQUERIMIENTOS

URL para peticiones

Autenticación por usuario/contraseña:

https://www.lofirmo.com/tsa

Autenticación con Certificado:

https://cert.asetecgroup.es/tsa

Autenticación

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.

PASOS PARA EL TIMESTAMP

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.......^..