Com o macOS Mojave, a Apple introduziu o suporte ao serviço Hardened Runtime and Notary. Esses dois serviços foram projetados para melhorar a segurança dos aplicativos no macOS. Recentemente, a Apple declarou :
“A partir do macOS 10.14.5, todas as extensões de kernel novas ou atualizadas e todos os softwares de desenvolvedores novos a distribuir com o ID do desenvolvedor devem ser notarizados para serem executados. Em uma versão futura do macOS, o reconhecimento de firma será exigido por padrão para todos os softwares. ”
Hoje o ajudará a entender novas regras do ponto de vista do Xamarin.

→
Este artigo no blogSegurança no macOS
- Assinatura de código - no macOS GateKeeper, é necessário que os pacotes de aplicativos sejam assinados criptograficamente com uma chave de uma conta de desenvolvedor da Apple.
- Tempo de execução reforçado - Esta é uma segunda camada de segurança introduzida no macOS Mojave (10.14). Ao assinar código com um sinalizador adicional, o tempo de execução do Cocoa aplicará várias restrições ao aplicativo em execução.
- Por exemplo, algumas restrições incluem negar a execução de código auto-modificável ou carregar bibliotecas dinâmicas não assinadas.
- Cada categoria de restrição pode ser excluída através do uso de direitos especiais.
- Serviço de Notariado - Esta é uma terceira camada de segurança também introduzida no macOS Mojave (10.14). É um serviço de verificação de código, que verificará o seu software quanto a conteúdo malicioso. Para passar na varredura de notário, seu aplicativo já deve ter optado pelo tempo de execução mais rígido.
Como começar
Para começar a preparar seu aplicativo para esses novos requisitos, aqui estão algumas etapas a serem seguidas:
Configure seus direitos
Até implementarmos o suporte IDE para as novas opções, são necessárias duas etapas manuais:
- Abra o aplicativo Xamarin.Mac .csproj em um editor de texto e adicione
<UseHardenedRuntime>true</UseHardenedRuntime>
para a seção Release - Abra seu arquivo entitlements.plist em um editor de texto e inclua
<key>com.apple.security.cs.allow-jit</key> <true/>
Inicie seu aplicativo e teste-o. Se travar, você poderá precisar de direitos adicionais da Apple.
Notarize seu aplicativo
Para notarizar você precisa seguir duas etapas:
- Upload da sua compilação para o serviço de notário
- Grampeie o ticket na sua inscrição
Está tudo pronto! Se você tiver algum comentário sobre esse processo, gostaríamos de ouvi-lo. Envie um email para david.ortinau@microsoft.com ou adicione um comentário no GitHub .

Gerente de programa sênior, Ferramentas para desenvolvedores móveis