È uscito il Corso SQL Completo
Torna al blog

Code signing macOS e notarization

Code signing e notarization su macOS: come funziona Gatekeeper, la differenza tra firma e notarization, cosa serve e come evitare gli avvisi quando distribuisci un'app Mac.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

3 min di lettura

Distribuire un'app per Mac al di fuori del Mac App Store richiede due passaggi spesso confusi: il code signing e la notarization. Senza, macOS blocca l'app con Gatekeeper. In questa guida ti spiego come funzionano firma e notarization su macOS. Se non conosci il concetto base, parti da cos'è il code signing.

Il guardiano di macOS: Gatekeeper

macOS usa una funzione di sicurezza chiamata Gatekeeper, che controlla le app prima di permetterne l'esecuzione. Se un'app non è firmata e notarizzata, Gatekeeper la blocca o mostra avvisi del tipo "impossibile aprire perché proviene da uno sviluppatore non identificato".

Per distribuire un'app Mac che si apra senza problemi, devi soddisfare Gatekeeper, e servono due cose distinte: il code signing e la notarization.

Firma e notarization: due passaggi diversi

È il punto che genera più confusione. Su macOS non basta firmare: servono entrambi i passaggi.

PassaggioCosa fa
Code signingFirma l'app, certificando autore e integrità
NotarizationApple verifica l'app e conferma che è priva di malware

Code signing

Come su altre piattaforme, la firma certifica che l'app viene da te e non è stata manomessa. Si usa un certificato Apple, ottenuto tramite l'Apple Developer Program.

Notarization

È un passaggio aggiuntivo specifico di Apple: invii l'app ad Apple, che la analizza automaticamente per verificare che non contenga malware. Se supera il controllo, Apple "notarizza" l'app, e Gatekeeper la accetta senza avvisi. Non è una revisione manuale come per l'App Store: è un controllo automatico di sicurezza.

Il processo completo

Per distribuire un'app Mac fuori dallo store:

  1. Iscriviti all'Apple Developer Program (necessario per i certificati).
  2. Firma l'app (code signing) con il tuo certificato Apple.
  3. Invia l'app per la notarization ad Apple.
  4. Attendi l'esito del controllo automatico.
  5. "Stapla" il risultato all'app (allega la conferma di notarization).
  6. Distribuisci: ora l'app si apre senza avvisi di Gatekeeper.

App Store vs distribuzione diretta

Due scenari diversi:

  • Mac App Store: Apple gestisce firma e distribuzione; segui il processo dello store (con revisione).
  • Distribuzione diretta (dal tuo sito): devi occuparti tu di firma e notarization, come descritto sopra.

Se distribuisci tramite il Mac App Store, gran parte di questo è gestito dallo store. Se distribuisci direttamente, la firma e la notarization sono responsabilità tua.

Serve l'Apple Developer Program

Punto importante: per firmare e notarizzare un'app Mac serve l'iscrizione all'Apple Developer Program (il costo annuale che vale anche per iOS). Senza, non puoi ottenere i certificati né notarizzare. È un prerequisito.

Quando farsi affiancare

Firma e notarization su macOS comportano certificati, procedure e l'integrazione con i servizi Apple che possono risultare complesse, soprattutto la prima volta. Se stai distribuendo un'app desktop per Mac e vuoi che si apra senza avvisi, è uno degli aspetti tecnici di cui mi occupo nei miei servizi.

In sintesi

Distribuire un'app Mac fuori dallo store richiede due passaggi distinti per soddisfare Gatekeeper: il code signing (firma che certifica autore e integrità) e la notarization (controllo automatico di Apple che verifica l'assenza di malware). Entrambi richiedono l'iscrizione all'Apple Developer Program. Il processo prevede firma, invio per notarization, attesa dell'esito e "stapling" del risultato all'app. Se distribuisci tramite il Mac App Store, gran parte è gestita dallo store; se distribuisci direttamente, è responsabilità tua.

Per le basi, vedi cos'è il code signing; per Windows, code signing per Windows. Per supporto, vedi i miei servizi.