Saltar al contenido

Firmar el paquete entero

Un paquete de macOS tiene muchas partes y todas se firman, en un orden concreto. Qué es el tiempo de ejecución endurecido, qué son los derechos, y cómo se verifica.

El orden

Tauri hace esto por ti si la configuración está bien, y merece saber el orden para entender los errores: un mensaje sobre un binario interno no firmado señala el paso 1.

Y hay una regla que se rompe a menudo: nada puede modificar el paquete después de firmarlo. Añadir un fichero, tocar un recurso o cambiar un permiso invalida la firma — que es el nivel 39.4 dicho al revés, y la razón de que un recurso empaquetado no sea modificable.

El tiempo de ejecución endurecido

Un modo de ejecución más restrictivo que la notarización exige, así que en la práctica no es opcional.

Lo que restringe:

  • Cargar código no firmado por la misma identidad.
  • Ciertas operaciones de depuración sobre el proceso.
  • Y el acceso a algunos recursos —cámara, micrófono, ubicación, ciertos directorios— salvo que lo declares.

Y de ahí salen los derechos: la lista explícita de excepciones que tu aplicación necesita.

Los derechos

La regla es la misma de la fase V: declarar el mínimo. Un derecho de más no rompe nada visible y amplía lo que un fallo puede conseguir.

Y los textos de justificación —los que el sistema muestra al pedir permiso al usuario— son obligatorios para cámara, micrófono y ubicación, y merecen escribirse bien: es lo que la persona lee para decidir.

Verificar

Tres comprobaciones, y las tres van en la puerta de publicación del nivel 59.1:

Shell
# 1 · la firma es válida y el árbol está completocodesign --verify --deep --strict --verbose=2 MiApp.app# 2 · qué identidad, qué derechos y si está endurecidocodesign -dv --entitlements - --verbose=4 MiApp.app# 3 · y lo que de verdad importa: qué diría el sistema al abrirlaspctl -a -vvv -t install MiApp.app

La tercera es la definitiva: simula la evaluación que hace el sistema al abrir la aplicación, y es lo que dice si un usuario podrá instalarla. Antes de notarizar dirá que falta la notarización; después debería aceptarla.