
Proceso para firmar el código de apps en macOS
Todas las apps de App Store están firmadas por Apple para ayudar a garantizar que nadie las haya alterado o modificado. Apple firma todas las apps proporcionadas con los dispositivos Apple.
En macOS 10.15, todas las apps distribuidas fuera de App Store deben estar firmadas por el desarrollador mediante un certificado de ID de desarrollador emitido por Apple (combinado con una clave privada) y certificadas por Apple para poder ejecutarse bajo la configuración predeterminada de Gatekeeper. Las apps desarrolladas internamente también deben estar firmadas con un ID de desarrollador emitido por Apple para que los usuarios puedan validar su integridad.
En macOS, la firma y la certificación del código funcionan de forma independiente, y pueden realizarlas distintos actores con distintos objetivos. La firma del código la realiza el desarrollador usando su certificado de ID de desarrollador (emitido por Apple). La verificación de esta firma le demuestra al usuario que no se ha manipulado el software del desarrollador desde que este lo creó y firmó. Cualquier persona dentro de la cadena de distribución del software puede realizar la certificación, y demuestra que Apple ha recibido una copia del código para verificar que no se haya encontrado ningún malware conocido. El resultado de la certificación es un ticket, que se almacena en los servidores de Apple y puede engraparse de forma opcional a la app (cualquiera puede hacerlo) sin que esto invalide la firma del desarrollador.
Los controles obligatorios de acceso (MAC) requieren que se firme el código para permitir las autorizaciones protegidas por el sistema. Por ejemplo, las apps que requieren acceso a través del firewall deben tener su código firmado con las autorizaciones MAC adecuadas.