Skip to content

«Instalar certificado» lleva el .p12 al llavero de inicio de sesión en macOS #2007

Closed

Description

@sgomez

Parent

#2000

What to build

Quien instala un .p12 desde rFirma en su Mac lo encuentra en su llavero de inicio de sesión y en la lista como Almacén de macOS; quitarlo desde rFirma lo borra del llavero. Una contraseña del .p12 incorrecta no instala nada.

Acceptance criteria

  • La importación y el borrado van por el puerto actual de instalar certificados, con el adaptador de macOS.
  • Pruebas cfg(macos) contra un llavero temporal: importar, listar y quitar; contraseña incorrecta sin efectos.
  • En macOS no aparece el Almacén de rFirma.

Blocked by

Spec extract

Implementation Decisions (from #2000):

  • ID-534: En macOS, «Instalar certificado» importa el .p12 al llavero de inicio de sesión (ADR-0034) y el certificado aparece en el Almacén de macOS. Quitar un certificado instalado lo borra del llavero. En macOS no existe el Almacén de rFirma ni el llavero de su PIN; el adaptador pendiente del llavero se queda respondiendo que no hay, sin uso.

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

standard — mismo puerto que la instalación en Linux, con el adaptador del llavero. Estimación: unos 100k 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