7 votos

La comprobación de aplicaciones para un "Guardián" ID de Desarrollador?

Hay alguna manera para que un usuario de Mac en la actualidad con Snow Leopard o Lion para comprobar, tal vez de la Terminal de línea de comandos, si alguna aplicación descargada de la red fue firmado digitalmente con un Apple emitió ID de Desarrollador?

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

Apple ha sido alentar a los desarrolladores para Mac para firmar digitalmente sus aplicaciones Mac con un Apple emitió ID de Desarrollador, que Apple anunció que será utilizada por el sistema operativo Mac en algún momento en el futuro.

7voto

Ben Gotow Puntos 141

Si ha instalado las herramientas de desarrollo, usted puede ver la información de firma de un binario usando este comando:

codesign -dvvv <path to app.app>

La salida se parece a esto:

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

4voto

Oskar Puntos 1242

Sin llegar demasiado lejos fuera de tema, usted puede comprobar si cualquier binario ha sido firmado en la preparación para el Portero por el uso de la otool o pagestuff herramientas de línea de comandos que Xcode instalará como parte de las opciones de descargas.

enter image description here

Si usted no desea instalar estos, también se puede utilizar xcode-select y xcrun a ejecutar estas herramientas desde donde se sientan dentro de la Xcode aplicación que se descarga en /Aplicaciones.

Aquí es una aplicación que parece ser firmado y listo para ir de Portero - 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 empezar a decir si la clave es válida cuando está marcada, en contra de su llavero. Que requiere que el programador utilice una llave que Apple ha firmado y que Apple ha enviado a su mac de la correspondiente clave de firma para comprobar que el desarrollador clave es "de confianza".

Ya que esto es bastante complicado, se podría activar la comprobación (por favor, guarde todos los trabajos críticos y por FAVOR, copia de seguridad de TU MAC ANTES de HACER ESTO) en 10.7.3:

  • sudo spctl --enable #si usted no sabe lo que sudo se debe omitir este hasta que entienda la orden equivocada podría borrar de su sistema de archivos. Todos ellos, totalmente ido.

Parece spctl se ha mejorado para 10.7.4 pero no he explorado más que leer la página de manual de la herramienta. Claramente va a ser la manera de comprobar si una determinada aplicación se borra o no, así como la realización de menor nivel de activación / desactivación de una serie de normas y controles que será el apoyo a la comercialización plazo de Gatekeeper.

En cuanto a por qué usted puede comprobar, sería sólo por simple curiosidad o algún tipo de derechos de fanfarronear si realmente no eres un desarrollador que necesita para poner a prueba esta y asegúrese de que su código se ejecuta en OS (Mountain Lion y Lion).

Para la mayoría de la gente, saber qué Portero es sería lo suficientemente bueno. Para los curiosos - aquí hay una buena lista de lectura:

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X