L'autenticazione garantisce che il software con firma ID dello sviluppatore che distribuisci sia stato verificato da Apple per la presenza di componenti dannosi. Per maggiori dettagli sulle regole e i requisiti di autenticazione Apple, consulta Autenticazione del software macOS prima della distribuzione.
Per rispettare le regole di autenticazione di Apple, InDesign 2020 ha attivato un'autorizzazione di runtime più severa che consente il caricamento dei plugin di terze parti in InDesign senza dover apporre la firma del codice. Tuttavia in genere gli sviluppatori di plugin distribuiscono plugin sul web tramite programmi di installazione (.pkg o .dmg). Dato che il gatekeeper di Apple su macOS mette automaticamente in quarantena qualsiasi file binario non autenticato, i programmi di installazione dei tuoi plugin non verranno eseguiti. Per ulteriori dettagli, consulta InDesign e macOS 10.15 (Catalina). Di conseguenza, nasce la necessità di autenticare i file di installazione/binari dei plug-in anche se i plugin di InDesign non richiedono alcuna autenticazione o firma del codice.
Requisiti per l'autenticazione
- Account per sviluppatori Apple
- Xcode 10 o versioni successive
- Password specifica per l'applicazione. Qui trovi le istruzioni per generarla.
Procedura di creazione di certificati
- Richiedi il certificato (Menu Accesso al Portachiavi > Assistente certificato > Richiedi un certificato a un'autorità di certificazione).
- Salva il file .certSigningRequest nel disco.
- Accedi al portale degli sviluppatori Apple.
- Fai clic su Certificati, identificatori e profili.
- Scegli Applicazione ID sviluppatore per creare un nuovo certificato.
- Carica il file .certSigningRequest salvato nel passaggio 1 e completa la procedura. Scarica il file .cer risultante sul disco.
- Scegli Programma di installazione ID sviluppatore e ripeti i passaggi dal 4 al 6.
- Carica lo stesso file .certSigningRequest del passaggio 1 e completa la procedura. Scarica il file .cer risultante sul disco.
- Fai doppio clic su entrambi i certificati .cer scaricati generati dal passaggio 6 e dal passaggio 8 per importarli in Portachiavi.
Passaggi di autenticazione per i file .pkg o .dmg
In questo esempio viene usato il plugin di esempio BasicDialog da SDK.
# firma del codice .InDesignPlugin
codesign --sign "Developer ID Application: <Developer Name>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # verifica firma del codice
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # creazione di .pkg o .dmg aggiungendo il codice indicato sopra con firma .InDesignPlugin nel pacchetto/programma di installazione
# firma i tuoi programmi di installazione (come .dmg o .pkg)
productsign --sign "Developer ID Installer: <Developer Name>" ./BasicDialog.pkg ./BasicDialogSigned.pkg # verifica firma del codice
pkgutil --check-signature BasicDialogSigned.pkg # invio per autenticazione
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # verifica online dello stato dell'autenticazione (il passaggio 6 dovrebbe restituire Request UID)
xcrun altool --notarization-info <Request UID> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # esecuzione staple dei file autenticati per uso offline
xcrun stapler staple BasicDialogSigned.pkg # verifica posizione staple
stapler validate --verbose BasicDialogSigned.pkg