Skip to content

El Almacén de macOS lista los certificados del llavero #2004

Closed

Description

@sgomez

Parent

#2000

What to build

Quien abre rFirma en su Mac ve en la lista los certificados con clave privada de su llavero, como Almacén de macOS, en el orden de almacenes nuevo, sin que nada le pida contraseña al listar. Aún no firma con ellos.

Acceptance criteria

  • Un adaptador del puerto Token lista identidades del llavero sin abrir la clave, completa la cadena y dice si la clave está en un token del sistema o en software.
  • Clase de almacén propia del Almacén de macOS y orden de ID-531, probados en el caso de uso de listado con un doble (TD-132, parte de software).
  • Pruebas cfg(macos) contra un llavero temporal que la prueba crea y borra: lista un certificado RSA y uno de curva elíptica y descarta uno sin clave.
  • La guarda AUTHORISED_SITES incluye el adaptador nuevo y Linux y Windows no cambian.

Blocked by

  • None (can start immediately)

Spec extract

Implementation Decisions (from #2000):

  • ID-528: Término nuevo «Almacén de macOS» (clase de almacén propia, como StoreClass::Windows): los certificados con clave privada del llavero de la persona usuaria. Se rotula «Almacén de macOS» en la lista, el asistente y el estado. El glosario lo define junto a «Almacén de Windows»; «llavero» sigue reservado para lo que guarda secretos.
  • ID-529: Un adaptador del puerto Token para el Almacén de macOS, análogo al del Almacén de Windows. Lista identidades del llavero sin abrir la clave, completa la cadena con los certificados del llavero y del sistema, y entrega con cada certificado si su clave vive en un token del sistema (tarjeta) o en software.
  • ID-531: El orden de almacenes pasa a ser: tarjeta, Almacén de Windows o Almacén de macOS, Almacén de rFirma, NSS del sistema, familia Firefox, familia Chromium. El glosario se actualiza.

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 puerto Token que 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.
  • TD-134: El adaptador del Almacén de macOS con pruebas cfg(macos) contra un llavero temporal que cada prueba crea, desbloquea y borra, con un certificado de pruebas propio (RSA y curva elíptica): listar, firmar con PKCS#1, PSS y ECDSA y verificar la firma; importar un .p12 y quitarlo. Nunca tocan el llavero de inicio de sesión de quien las corre. Precedente: las pruebas CNG de TD-128, que crean y borran su certificado.
  • TD-141: Las guardas de plataforma (AUTHORISED_SITES, ADR-0035) incluyen cada adaptador nuevo de macOS y siguen en verde en Linux y Windows.

Complexity

complex — adaptador nuevo sobre Security.framework, clase de almacén nueva y pruebas con llavero temporal. Estimación: unos 120k tokens.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, an agent can pick it up

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions