Repository navigation
El DNIe firma en macOS #2012
Copy link
Copy link
Closed as not planned
Labels
ready-for-agentFully specified, an agent can pick it upFully specified, an agent can pick it up
Description
Parent
What to build
Quien tiene su DNIe y OpenSC o el módulo de la DGP firma con él en su Mac, desde la ventana y desde una sede, con el diálogo nativo del PIN. Si el DNIe llega por dos vías, gana la que la sonda confirmó que firma, y si dos vías a la vez rompen el canal seguro, solo se carga una.
Acceptance criteria
- La excepción del DNIe en la deduplicación sigue la ficha de
docs/research/dnie-en-macos.md, probada con dobles. - Verificación manual del titular, una firma (ID-539): un PDF firmado con su DNIe desde rFirma sale válido; en el ticket se anota solo «firma válida, sí o no».
- Ninguna prueba ni el CI usan el DNIe del titular.
Blocked by
- El Almacén de macOS no lista las identidades con clave en un token #2008
- Los módulos PKCS#11 de OpenSC y de la DGP se buscan en macOS #2010
- El PIN de una tarjeta por PKCS#11 se pide con un diálogo nativo de macOS #2011
- Sonda del DNIe en macOS: OpenSC, el módulo de la DGP y PC/SC #2003
Spec extract
Implementation Decisions (from #2000):
- ID-538: Un certificado que llega por el Almacén de macOS y por PKCS#11 se muestra una vez. Por defecto gana la copia del Almacén de macOS (como CNG frente a PKCS#11 en Windows), salvo para el DNIe, donde gana la vía que las sondas confirmen que firma. Si las sondas muestran que dos vías a la vez rompen el canal seguro del DNIe (la hipótesis H2 de ID-478), el adaptador de PKCS#11 no carga OpenSC mientras el controlador del sistema de OpenSC esté presente, o al revés; la decisión queda en la ficha de las sondas.
- ID-539: El DNIe en macOS se mide con el DNIe del titular en sondas manuales que ejecuta él, en
docs/research/dnie-en-macos.md, con las reglas de ID-485: como mucho un intento de PIN por sonda, siempre el correcto; como mucho tres firmas en total; salida anonimizada. Miden: qué instala el paquete de la DGP en un Mac con Apple Silicon (módulo, ruta, arquitectura, si añade un controlador del sistema); si el DNIe aparece por OpenSC, por la DGP o por el controlador del sistema de OpenSC; qué ve PC/SC al meter y sacar la tarjeta; una firma de punta a punta desde rFirma.
Testing Decisions (from #2000):
- TD-131: Una buena prueba mira el comportamiento visible desde fuera: la lista que recibe la ventana con sus chips y su orden, el estado del lector, lo que se firma y si verifica, el estado de la CA y del manejador. No mira llamadas a Security.framework ni a LaunchServices.
- TD-132: El Almacén de macOS en el caso de uso de listado de
identity, con un doble del adaptador en el puertoTokenque entrega certificados con clave de software y con clave en un token: los primeros salen como «Almacén de macOS», los segundos con chip «DNIe» o «Tarjeta», y la deduplicación frente a una copia por PKCS#11 elige la que dice ID-538. Precedente: TD-126 y TD-117/118.
Complexity
complex — depende del diagnóstico de la sonda y cierra la vía PKCS#11 con la deduplicación. Estimación: unos 100k tokens.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ready-for-agentFully specified, an agent can pick it upFully specified, an agent can pick it up
Activity
sgomez commentedon Oct 19, 2026
ID-532 cae (#2002) y el #2008 hace que el Almacén de macOS no liste identidades con la clave en un token. El DNIe ya no puede llegar por las dos vías, así que el criterio «La excepción del DNIe en la deduplicación sigue la ficha» queda sin objeto: el DNIe sale siempre por PKCS#11.
La otra mitad de ID-538 sigue siendo de este ticket. Si el #2003 mide que OpenSCToken y OpenSC por PKCS#11 a la vez rompen el canal seguro del DNIe (H2), la decisión sobre qué no se carga sigue la ficha, aunque rFirma ya ignore la copia del llavero.
sgomez commentedon Oct 19, 2026
Las tarjetas y el DNIe en macOS salen de #2000 a #2043, que está en needs-triage. Si sigue adelante, este ticket se recupera desde allí.