PatrocinarEnviar
Blog

Assinatura e notarização, em termos simples, para quem está fazendo o primeiro app para Mac

Por Justinas Rolando, criador do MacPip

Resposta curta

A assinatura põe seu nome no app e mostra que ele não mudou. A notarização envia o app para a análise automática da Apple. O stapling anexa o resultado, para que ele possa ser verificado offline. Você faz nessa ordem, e as faz por último, depois que o build estiver pronto.

Se você só rodou seu app pelo Xcode, esta parte da distribuição pode parecer um muro de certificados. As ideias são simples, e são só três. Para todos os detalhes, com os documentos da Apple linkados, leia o que é a notarização em um Mac. Este post é a versão curta para criadores.

As três etapas

Se você vende só pela Mac App Store, pula as duas últimas. A Apple assina os apps da loja, e a documentação dela diz que o processo da loja tem verificações de segurança equivalentes.

O que seus usuários veem se você pular isso

Elas recebem um aviso. O macOS diz que não consegue verificar o app, e desde o macOS Sequoia, o Control-clique não passa mais por ele. A pessoa precisa ir em Ajustes do Sistema e escolher Abrir mesmo assim. Algumas pessoas desistem nesse ponto, e eu não as culpo. O que significa “A Apple não pôde verificar” mostra o mesmo aviso do lado delas, e vale a pena ler uma vez.

A ordem que economiza sua tarde

  1. Termine o build. Qualquer alteração feita depois de assinar quebra a assinatura.
  2. Assine primeiro o código aninhado, como frameworks e helpers, depois o próprio app. Use o hardened runtime e um timestamp seguro, porque a notarização exige os dois.
  3. Coloque-o em um DMG se for assim que você distribui, e assine esse também.
  4. Envie com notarytool. A Apple diz que a análise geralmente leva menos de uma hora.
  5. Leia o log, mesmo quando der certo.
  6. Faça o stapling com stapler.

Verifique o seu próprio build

spctl -a -vv /Applications/YourApp.app
xcrun stapler validate /Applications/YourApp.app

Você quer source=Notarized Developer ID no primeiro, e uma mensagem de sucesso no segundo. Cole o que você obtiver no explicador de notarização, e ele dirá o que cada linha significa, ou avisará se não reconhecer algo. Ele lê o texto no seu navegador e não envia nada para lugar nenhum.

Depois faça o teste que pega mais problemas: baixe o seu próprio build pelo navegador em outro Mac ou outra conta de usuário, e abra-o. O checklist de lançamento traz este e os outros passos em ordem.

O que notarizado não significa

Não significa que é bom, privado ou seguro. Significa que a análise automática da Apple não encontrou nada que ela conhecesse. Tome cuidado para não prometer mais do que isso no seu site. Como saber se um app para Mac é seguro explica o que cada verificação pode e não pode provar, do ponto de vista do usuário.

O que o MacPip faz com isso

O MacPip pede downloads assinados e notarizados. Apps de código aberto são bem-vindos sem isso, e o relatório deles diz isso. Um selo azul significa que uma pessoa verificou o app na data indicada, e a assinatura e a notarização aparecem no relatório só quando as confirmamos em uma cópia baixada. Não é garantia de segurança, e nossas regras dizem isso. Quando seu build estiver pronto, você pode listá-lo de graça.

Real listings to look at

Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.

Fontes

Continue lendo

Envie seu appFerramentas grátis para criadores