Como posso determinar se um determinado arquivo .app está assinado


45

Obter informações em um .app não produz as informações de assinatura. No Windows, por exemplo, clicar com o botão direito do mouse em> propriedades exporá quem assinou o arquivo.

Como obtenho essas informações para um determinado .app no ​​OS X?


O que acontece se você procurar em Conteúdo / _CodeSignature ??
GEdgar

Respostas:


51

Você pode verificar um arquivo emitindo o seguinte comando no Terminal:

 codesign -dv /Applications/Whatever.app

Existe uma ferramenta gratuita que implementa as funções do comando codesign e o estende com uma boa interface gráfica. Chama-se RB App Checker (na App Store) e também um site que descreve o programa http://brockerhoff.net/RB/AppCheckerLite/

Eu não precisei de nada além dessas duas ferramentas para verificar a assinatura de código no OS X, então espero que elas atendam às suas necessidades. Verifique o AppChecker se o seu Mac não tiver código de código (alguns mais antigos precisavam do Xcode para obter essa ferramenta antes do envio do gatekeeper).

Quanto a você saberia, o sistema operacional mostrará aplicativos não confiáveis ​​tão obscuros e com um ícone genérico até que o processo do gatekeeper aprove um pacote para ser executado - mas esse código ainda pode ser assinado para que você não possa confiar em uma pista visual para dizer necessariamente se algum código foi ou não assinado - especialmente considerando que o gatekeeper pode ser desativado em um determinado Mac.


16
-dvvv adiciona linhas para as autoridades de certificação, tipo de hash e hash literal. -dv (ou -dvvv) não mostra se a assinatura é válida ou inválida. -v mostra se a assinatura é válida e, se não for, -vv também imprime arquivos modificados.
Lri

11
@Lri As autoridades de certificação listadas são apenas sequências de texto. Qualquer pessoa pode criar qualquer autoridade de certificação que desejar com qualquer nome. Portanto, além disso, como verificamos se os hashes correspondem a CAs confiáveis? Queremos o CandidateCDHash ou o CDHash? Isso estabelece que não existem autoridades de raiz falsas ou similares instaladas?
nealmcb
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.