Notarização é a certeza de que a Apple verificou a presença de componentes maliciosos no software com assinatura de identidade do desenvolvedor que você distribuiu. Para mais detalhes sobre os requisitos e regras de notarização da Apple, veja Como notarizar softwares macOS antes da distribuição.
Para se alinhar com as regras de notarização da Apple, o InDesign 2020 possui direito de tempo de execução rígido habilitado, o que permite que plug-ins de terceiros sejam carregados no InDesign sem a necessidade de assinatura por código. Entretanto, desenvolvedores de plug-ins geralmente distribuem os plug-ins pela Web através de instaladores (.pkg ou .dmg). Como o gatekeeper da Apple no macOS automaticamente coloca em quarentena qualquer binário que não seja notarizado, os instaladores de seu plug-in poderiam falhar enquanto são executados. Para mais detalhes, consulte InDesign e macOS 10.15 (Catalina). Consequentemente, surge a necessidade de notarizar os instaladores/binários de plug-ins, mesmo que os plug-ins do InDesign não necessitem de notarização ou assinatura de código.
Requisitos de notarização
- Conta de desenvolvedor Apple
- Xcode 10 ou posterior
- Uma senha específica do aplicativo. Aqui estão as instruções para gerá-la.
Processos de geração de certificação
- Solicitar certificado (Menu de acesso às chaves > Assistente de certificação > Solicitar um certificado de uma autoridade certificadora)
- Salve o arquivo .certSigningRequest em disco.
- Faça logon no portal de desenvolvedor Apple.
- Clique em Certificados, Identificadores e Perfis.
- Escolha Aplicação para ID de desenvolvedor para criar um novo certificado.
- Atualize o arquivo .certSigningRequest da etapa 1 e complete o processo. Baixe o .cer apresentado em disco.
- Escolha Instalador de ID de desenvolvedor e repita as etapas 4 a 6.
- Carregue o mesmo arquivo .certSigningRequest da etapa 1 e complete o processo. Baixe o .cer apresentado em disco.
- Clique duas vezes em ambos os certificados .cer baixados gerados nas etapas 6 e 8 para importá-los nas chaves.
Etapas de notarização para arquivos .pkg ou .dmg
Este exemplo usa o plug-in de amostra BasicDialog do SDK.
# assinatura de código .InDesignPlugin
codesign --sign "Developer ID Application: <Developer Name>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin # verificação de assinatura de código
codesign -dv --verbose=4 BasicDialog.InDesignPlugin - # crie .pkg ou .dmg adicionando o .InDesignPlugin com assinatura de código acima ao pacote/instalador
# assine seus instaladores (como .dmg ou .pkg)
productsign --sign "Developer ID Installer: <Developer Name>" ./BasicDialog.pkg ./BasicDialogSigned.pkg # verificação de assinatura de código
pkgutil --check-signature BasicDialogSigned.pkg # enviar para notarização
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg # verifique o status da notarização on-line (a etapa 6 deverá devolver uma solicitação de UID)
xcrun altool --notarization-info <Request UID> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" # arquivo básico notarizado para uso off-line
xcrun stapler staple BasicDialogSigned.pkg # verifique se o básico está no lugar
stapler validate --verbose BasicDialogSigned.pkg