XProduct

Sello del pasaporte

Comprobar el sello de un pasaporte

Cada pasaporte que xProduct emite en el formato estándar (EN 18223) lleva un sello digital. Demuestra que los datos proceden de xProduct y que no se han modificado desde entonces, incluso en una copia que alguien guardó hace meses. La comprobación se realiza en su propio navegador, con nuestras claves públicas.

Un pasaporte de este sitio

Su número de producto o la dirección de su pasaporte.

Un archivo de pasaporte firmado

Un archivo .jws, p. ej., de /api/dpp/{number}/en18223/signed.

Qué es el sello

  • Una JSON Web Signature (RFC 7515) con ES256 (ECDSA, P-256, SHA-256), creada con una clave que nunca sale de nuestro almacén de claves.
  • Cada respuesta estándar (/api/dpp/{id}/en18223 y /api/v1/…) lo incluye en la cabecera X-DPP-Signature, sin los datos (separado). /api/dpp/{id}/en18223/signed devuelve el pasaporte y el sello en un solo archivo.
  • Las claves públicas están en /.well-known/jwks.json; el kid del sello identifica la clave. Las claves antiguas siguen en la lista, para que las copias antiguas puedan seguir comprobándose.
  • Es el sello de xProduct, creado para el operador económico indicado en el pasaporte. El sello electrónico propio del operador, con un certificado reconocido en la UE, es un paso posterior que depende de la normativa de la UE.

Comprobarlo con su propio software

  1. Tome el sello de la cabecera: header..signature (nada entre los dos puntos).
  2. Coloque el cuerpo de la respuesta, exactamente como se recibió y codificado en base64url, entre los puntos.
  3. Verifíquelo como un JWS ES256 normal con la clave del conjunto de claves cuyo kid coincida. Cualquier biblioteca JOSE puede hacerlo.