OSX/IOS

Cómo mostrar y verificar firmas de códigos de aplicaciones en Mac OS X.

Verifique y verifique la firma del código de la aplicación en Mac OS X.

Las aplicaciones firmadas con código permiten a los usuarios preocupados por la seguridad verificar el creador y el hash de una aplicación en particular para confirmar que no se ha corrompido o alterado. Esto rara vez es necesario para los usuarios habituales de Mac, especialmente aquellos que obtienen su software de la Mac App Store u otras fuentes confiables, porque las aplicaciones están certificadas, pero verificar la firma digital de una aplicación puede ser extremadamente útil para los usuarios que reciben aplicaciones de terceros. fiestas. fuentes.


Verificar una firma de código es especialmente importante para aquellos que reciben software e instaladores de p2p y fuentes distribuidas, tal vez un sitio de torrents o grupos de noticias, IRC, ftp público u otro recurso de red. Para un ejemplo práctico, suponga que un usuario no puede acceder a la Mac App Store por cualquier motivo, pero debe descargar una aplicación de instalación de OS X y, por lo tanto, confiar en una fuente de terceros. Tal situación es cuando sería importante conocer y verificar que el instalador no ha sido modificado y legítimamente proviene de Apple y, además de la verificación directa del hash sha1, la forma más sencilla de hacerlo es revisar el código. firma y criptografía. hash de la aplicación en cuestión.

Para comenzar, inicie la Terminal, que se encuentra en / Aplicaciones / Utilidades /. Usaremos el comando «codeign» con el nombre apropiado, completo con las banderas -dv y -verbose = 4 para mostrar información de identificación sobre cualquier aplicación, incluido el tipo de hash, la suma de comprobación de hash y la autoridad de firma.

La sintaxis básica es la siguiente:

code sign -dv --verbose=4 /Path/To/Application.app

Por ejemplo, verifique la firma en Terminal.app, ubicada en / Aplicaciones / Utilidades /

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app
Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
Identifier=com.apple.Terminal
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded
Platform identifier=1
Hash type=sha1 size=20
CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23
Signature size=4105
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Info.plist entries=34
TeamIdentifier=not set
Sealed Resources version=2 rules=13 files=996
Internal requirements count=1 size=68

Lo que busca son hash, hash y entradas de autorización. En este caso, el tipo de hash es sha1 y la autoridad firmada es Apple, lo que es de esperar.

Sí, también puede usar la línea de comando para verificar los hashes sha1 o md5 de los instaladores y las descargas de aplicaciones y compararlos con una fuente legítima, pero esto no revelará la firma del código ni los detalles del certificado.

Tenga en cuenta que Gatekeeper rechazará la mayoría del software firmado con código que ha sido modificado por una parte no autorizada en OS X, a menos que Gatekeeper haya sido deshabilitado o eludido de alguna otra manera, pero incluso con Gatekeeper dejado, teóricamente es posible que un empresario lo encuentre one y, por supuesto, el software que no ha sido certificado por un desarrollador identificado puede distribuirse en el Gatekeeper en cualquier momento.

Puedes leer más sobre la firma del código. en Wikipedia y en Guía para desarrolladores de Apple para firmar el código aquí.

Cómo funciona la firma de código de Apple

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar