program mac library developer apple macos code-signing osx-mountain-lion osx-gatekeeper

macos - mac - xcode developer download



¿Firma un controlador para OSX DMG fuera de la tienda de aplicaciones OSX/XCode/Mac? (3)

Al mirar las 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.

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

¿Puede alguien arrojar luz sobre: ​​1) ¿Cómo obtener un certificado sin distribuir su aplicación a través de la Mac App Store? 2) ¿Cómo firmar un DMG sin usar las herramientas XCode integradas (preferiblemente una herramienta multiplataforma)?

¡Gracias!


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 incluso funciona en DMG de solo lectura como UDZO.


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

Las imágenes de disco se pueden firmar con la herramienta de código en macOS 10.11.5 y posterior. Esto permite que Gatekeeper valide toda la imagen del disco la primera vez que se monta.

Gatekeeper también validará el contenido de la imagen del disco.

Las imágenes de disco solo deben firmarse con la identidad de la Aplicación de ID de desarrollador.

En macOS Sierra y spctl posteriores, spctl se puede usar para evaluar la firma de una imagen de disco, como esto:

$ spctl -a -t abierto --contexto de contexto: firma-primaria -v MyImage.dmg /Users/me/Downloads/MyImage.dmg: aceptado source = ID de desarrollador

Nota: Es posible que una imagen de disco firmada en OS X 10.11.5 o 10.11.6 no pueda volver a firmarse. 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 la imagen en macOS Sierra o posterior.


La firma de códigos se describe detalladamente 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 sí. En cuanto a su segunda pregunta (firma multiplataforma), no hay ninguna herramienta disponible (al menos ninguna que sea oficialmente compatible con Apple). En cuanto a la información sobre las futuras versiones de OS X, recomiendo encarecidamente consultar los foros de Apple adecuados (por lo general, también hay foros para temas relacionados con la NDA).