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}/en18223y/api/v1/…) lo incluye en la cabeceraX-DPP-Signature, sin los datos (separado)./api/dpp/{id}/en18223/signeddevuelve el pasaporte y el sello en un solo archivo. - Las claves públicas están en /.well-known/jwks.json; el
kiddel 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
- Tome el sello de la cabecera:
header..signature(nada entre los dos puntos). - Coloque el cuerpo de la respuesta, exactamente como se recibió y codificado en base64url, entre los puntos.
- Verifíquelo como un JWS ES256 normal con la clave del conjunto de claves cuyo
kidcoincida. Cualquier biblioteca JOSE puede hacerlo.
