2012-03-16 24 views
17

Al mirar notas para la próxima versión de OSX (la que está después de OSX Lion), parece que todos los DMG/instaladores deben estar firmados, incluso si no se distribuyen a través de la tienda de aplicaciones de Mac.Gatekeeper firmando para OSX DMG fuera de OSX/XCode/Mac App Store?

No pude encontrar una herramienta de línea de comandos para hacer esta firma, ni mucha documentación sobre cómo obtener un certificado de firma sin enviarlo a la tienda de aplicaciones.

¿Alguien puede arrojar luz sobre: ​​ 1) ¿Cómo obtener un certificado sin distribuir su aplicación a través de la tienda de aplicaciones Mac? 2) ¿Cómo firmar un DMG sin usar las herramientas incorporadas de XCode (preferiblemente una herramienta multiplataforma)?

Gracias!

+0

La mayoría de los detalles de OS X 10.8 están todavía bajo NDA. – duskwuff

+3

Muy bien, trátelo como un "cómo firmar un DMG para Snow Leopard". También edité por pregunta para no mencionar la "cosa que está bajo NDA". Espero que eso alivie la felicidad del gatillo al presionar el botón Cerrar en lugar de aportar algo significativo para la conversación. – psychotik

+0

compruebe la herramienta 'xcrun' que hace la mayor parte del trabajo para firmar cosas (incluidos los perfiles de aprovisionamiento). – Eimantas

Respuesta

4

Codesigning se describe en detalle here y here - básicamente necesita obtener un certificado y luego puede firmar su solicitud ... AFAIK actualmente no hay documentos oficiales sobre la firma del DMG. En cuanto a su segunda pregunta (firma multiplataforma) no existe tal herramienta disponible (al menos ninguna que sea oficialmente compatible con Apple). En cuanto a la información sobre futuras versiones de OS X, recomiendo consultar en los foros de Apple (normalmente también hay foros para cosas relacionadas con NDA).

4

Es super fácil:

CODESIGN_IDENTITY='Name of Code Sign Cert' # Found in Keychain Access 

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.app 

Luego, en el dmg:

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.dmg 

Esto funciona incluso en sólo lectura DMGS como UDZO.

+0

wow, ¿cómo funciona la firma DMG? ¿es hfs + metadata? –

2

Firma de imágenes de disco (Fuente: Apple)

Las imágenes de disco pueden ser firmados con la función codesign en MacOS 10.11.5 y la tarde. Esto permite que Gatekeeper valide la imagen completa del disco la primera vez que se monta.

Gatekeeper validará también los contenidos de la imagen del disco.

Las imágenes de disco solo deben estar firmadas con su identidad de aplicación de ID de desarrollador.

en MacOS Sierra y más tarde, spctl puede usarse para evaluar la firma de una imagen de disco, así:

$ SPCTL -a -t contexto --context abierta: primaria en firmas -v MyImage.dmg /Users/me/Downloads/MyImage.dmg: aceptado fuente = ID de desarrollador

Nota: Una imagen de disco firmado en OS X 10.11.5 o 10.11.6 puede no ser capaz de ser re-firmado. En esta situación, la operación parecerá tener éxito, pero la firma no será válida. Si se encuentra con esta condición, firme una copia nueva (sin firmar) de macOS Sierra o posterior.

Cuestiones relacionadas