Com o macOS Mojave, a Apple introduziu o suporte para os serviços Hardened Runtime e Notary. Esses dois serviços foram projetados para aprimorar a segurança dos aplicativos no macOS. Recentemente, a
empresa disse :
A partir do macOS 10.14.5, todas as extensões de kernel novas ou atualizadas e todos os programas dos desenvolvedores que dominaram a distribuição com o ID do desenvolvedor devem ser autenticados por meio do Hardened Runtime and Notary para serem executados. Uma versão futura do macOS exigirá certificação por padrão para todos os programas.
Hoje vamos ajudá-lo a entender os novos requisitos do ponto de vista do Xamarin.

Segurança no macOS
- Assinatura de código - no macOS GateKeeper requer assinatura criptográfica de pacotes de aplicativos usando uma chave de uma conta de desenvolvedor da Apple.
- Esse é um requisito desde o macOS Lion (10.7).
- Na primeira vez, pode ser difícil obter as chaves e os certificados certos. Consulte a documentação de assinatura do aplicativo Xamarin.Mac .
- O Hardened Runtime é o segundo nível de segurança introduzido 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 se recusar a executar código auto-modificador ou fazer o download de bibliotecas dinâmicas não assinadas.
- Cada categoria de restrições pode ser desativada usando direitos especiais.
- O Serviço de Notariado é o terceiro nível de segurança também introduzido no macOS Mojave (10.14). Este é um serviço de verificação de código que verifica seu software em busca de conteúdo malicioso. Para passar em uma varredura de notário, seu aplicativo já deve ter sido testado no Hardened Runtime.
Como começar
Para começar a preparar seu aplicativo para esses novos requisitos, siga estas etapas:
Definir direitos
Até implementarmos o suporte IDE para as novas opções, você deve concluir manualmente duas etapas:
- Abra o aplicativo Xamarin.Mac .csproj em um editor de texto e adicione
para a seção Release. - Abra o arquivo entitlements.plist em um editor de texto e inclua

Inicie seu aplicativo e teste-o. No caso de uma falha, você pode precisar de
direitos adicionais da Apple.
Garanta a aplicação
Para certificação, você precisa executar duas etapas:
- Carregar montagem no Serviço de Notariado
- Anexar um ticket ao aplicativo
Está tudo pronto! Se você tiver algum comentário sobre esse processo, teremos prazer em ouvi-lo. Envie um email para david.ortinau@microsoft.com ou
adicione um comentário no GitHub .