¿Estás buscando en las aplicaciones un ID de desarrollador "GateKeeper"?

¿Hay alguna forma de que un usuario de Mac que actualmente ejecuta Snow Leopard o Lion verifique, tal vez desde la línea de comandos de la Terminal, si alguna aplicación descargada de la red se firmó digitalmente con una ID de desarrollador emitida por Apple?

Si es así, ¿cuáles podrían ser los beneficios para un usuario de Mac al hacer tal verificación ahora?

Apple ha estado alentando a los desarrolladores de Mac a firmar digitalmente sus aplicaciones Mac con una identificación de desarrollador emitida por Apple, que Apple anunció que Mac OS utilizará en algún momento en el futuro.

Tengo entendido que Apple no está emitiendo la ID de desarrollador, sino que firmará un certificado de desarrollador para que cuando usen el certificado de Apple para firmar su código, las Mac con Gatekeeper habilitado validen ese código firmado cuando esté en cuarentena y aún no autorizado. ejecutándose en tu mac.
Dado que este es más un sitio de preguntas y respuestas de los usuarios, ¿puede explicarlo en términos que un no desarrollador pueda entender mejor?
Los desarrolladores trabajarán con Apple para asegurarse de que las aplicaciones estén firmadas correctamente.

Respuestas (2)

Si tiene instaladas las herramientas de desarrollo, puede ver la información de firma de un binario con este comando:

codesign -dvvv <path to app.app>

La salida se ve así:

Executable=/Volumes/Big Disk/F376/Projects/<My App>
Identifier=<My Bundle ID>
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=3958 flags=0x0(none) hashes=189+5 location=embedded
Hash type=sha1 size=20
CDHash=761b0d1XXXXXXXXXX0dc8dd42e38eb445fb5341f
Signature size=8504
Authority=Developer ID Application: XXXXXX
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=May 7, 2013 3:07:59 PM
Info.plist entries=30
Sealed Resources rules=4 files=128
Internal requirements count=1 size=224

Sin alejarse demasiado del tema, puede comprobar si se ha firmado algún binario en preparación para Gatekeeper mediante el uso de las herramientas de línea de comandos otoolo que Xcode instalará como parte de las descargas opcionales.pagestuff

ingrese la descripción de la imagen aquí

Si no desea instalarlos, también puede usar xcode-selecty xcrunejecutar estas herramientas desde donde se encuentran dentro de la aplicación Xcode que se descarga en /Aplicaciones.

Aquí hay una aplicación que parece estar firmada y lista para Gatekeeper - MarsEdit

mac:Applications me$ xcrun otool -l /Applications/MarsEdit.app/Contents/MacOS/MarsEdit |grep LC_CODE_SIGNATURE
      cmd LC_CODE_SIGNATURE
mac:Applications me$ xcrun pagestuff /Applications/MarsEdit.app/Contents/MacOS/MarsEdit -a | grep signature
File Page 241 contains data of code signature (x86_64)
File Page 242 contains data of code signature (x86_64)
File Page 243 contains data of code signature (x86_64)
File Page 423 contains data of code signature (i386)
File Page 424 contains data of code signature (i386)
File Page 425 contains data of code signature (i386)
File Page 426 contains data of code signature (i386)

Ahora, esto ni siquiera comienza a decirle si la clave es válida cuando se compara con su llavero. Eso requiere que el desarrollador use una clave que Apple haya firmado y que Apple haya enviado a su mac la clave de firma adecuada para verificar que la clave del desarrollador es "confiable".

Dado que esto es bastante complicado, puede simplemente activar la verificación (guarde todo el trabajo crítico y POR FAVOR HAGA UNA COPIA DE SEGURIDAD DE SU MAC ANTES DE HACER ESTO) en 10.7.3:

  • sudo spctl --enable#si no sabe qué es sudo, debe omitir esto hasta que comprenda que el comando incorrecto podría borrar su sistema o sus archivos. Todos ellos, totalmente desaparecidos.

Parece que spctlestá mejorado para 10.7.4, pero no lo he explorado más que leyendo la página de manual de la herramienta. Claramente, será la forma de comprobar si una aplicación específica se borra o no, así como de realizar la habilitación/deshabilitación de nivel inferior de varias reglas y verificaciones que respaldarán el término de marketing de Gatekeeper.

En cuanto a por qué podría verificar, sería solo por curiosidad ociosa o algún tipo de derecho a fanfarronear si no es realmente un desarrollador que necesita probar esto y asegurarse de que su código se ejecute en ambos sistemas operativos (Mountain Lion y Lion).

Para la mayoría de las personas, saber qué es Gatekeeper sería suficiente. Para los curiosos, aquí hay una buena lista de lectura:

Entonces, ¿esto solo se puede hacer actualmente descargando Xcode?
Debería tenerlo spctlen su Mac (10.7.3 y superior), pero aún no está claro cómo usarlo para verificar. Las mismas aplicaciones que tengo que muestran un certificado no son validadas por spctl. Xcode es una descarga gratuita y puede usar la xcrunversión de las herramientas, de modo que cuando elimine Xcode de /Applicatins, todo rastro desaparezca de su Mac.