Embora o link do RedYeti seja útil, apenas para economizar alguns cliques para outros, deixe-me recapitular como gerar um certificado de assinatura de código e usá-lo para a (re) assinatura de código:
Crie seu próprio certificado de assinatura de código:
No Acesso às Chaves, Acesso às Chaves> Assistente de Certificado> Criar um certificado. Isso inicia o Assistente de certificado:
Nome: Digite aqui uma sequência arbitrária que você possa se lembrar. Evite espaços, caso contrário, você precisará escapar do nome do certificado ao usá codesign
-lo na linha de comando.
Tipo de identidade: Raiz autoassinada
Tipo de certificado: assinatura de código
Marque a caixa "Deixe-me substituir os padrões", isso é muito importante
Número de série: 1 (OK, desde que a combinação nome / número de série do certificado seja única)
Período de validade: 3650 (dá-lhe 10 anos)
E-mail, nome, etc. preencha como desejar.
Informações do par de chaves: definido como RSA, 2048 bits. Realmente não importa IMHO.
De "Extensão de uso da chave" até "Extensão de nome alternativo do assunto": aceite os padrões.
Localização: chaveiro de login.
Depois de criado, defina como "Sempre confie" no chaveiro de logon: clique com o botão direito do mouse no certificado, escolha "Obter informações" e, na seção "Confiança", defina "Ao usar este certificado" para "Confiar sempre".
Assinando novamente um aplicativo:
codesign -f --deep -s <certname> /path/to/app
Verifique se funcionou:
codesign -dvvvv /path/to/app
Desfrutar!
ATUALIZAÇÃO:
As pessoas me perguntaram por que isso "não está funcionando" no macOS 10.14 "Mojave". Agora que finalmente atualizei :-), eis o que aprendi.
Basicamente, não use um certificado autoassinado para assinatura de código. Gere um certificado usando seu ID Apple no Xcode . Para recapitular brevemente as etapas:
Em Xcode> Preferências> Contas, selecione seu ID de desenvolvedor Apple, clique em "Gerenciar Certificados", selecione "+" no canto inferior esquerdo, e oferece a opção "Desenvolvimento da Apple". Selecione isso, isso fará um certificado para você. Clicando com a tecla Ctrl pressionada no novo certificado, você pode exportá-lo (em .p12
formato) e, ao open
clicar nesse .p12
arquivo, ele é carregado no chaveiro de Login.
Você verá que este certificado é válido por um ano, "Emitido por: Autoridade Certificadora de Relações com o Desenvolvedor da Apple Worldwide". Suspeito que seja mais confiável do que um certificado autoassinado.
Agora você pode assinar seu aplicativo como antes com codesign -f -s <apple_ID> /path/to/prog
. Eu tentei com um binário simples (compilado de hello.c
:-)), e pode ser verificado com codesign -v
.
Ainda não testei com pacotes Python, por isso não aconselho as pessoas que mencionaram em seus comentários que isso não pode assinar "python.app".