11 votos

La aplicación no se puede abrir porque es de un desarrollador no identificado

Pregunta:

Tenga en cuenta antes de leer esto que: "Dígales que vayan a System preferences > Security & privacy y allow 3rd party applications to run . No es una solución aceptable para este problema.

He creado un .app Que ha sido firmado con un certificado válido de Mac Developer. Sin embargo, al descargarlo de Internet y ejecutarlo sigue apareciendo el aviso de seguridad:

La aplicación no se puede abrir porque es de un desarrollador no identificado

Esta es la codesign -vvv volcado de terminal para el .app :

Executable=/Users/me/Desktop/ADRA.app/Contents/MacOS/ADRA
Identifier=unity.Company.ADRA NSW 2016
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178145 flags=0x0(none) hashes=5561+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=79ecf88721d6387749c1f6b10355c3683ef20eb2
CandidateCDHash sha256=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Hash choices=sha1,sha256
CDHash=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Signature size=4739
Authority=3rd Party Mac Developer Application: Company Pty Ltd (NH73TNDB28)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=20 Apr 2017, 2:46:12 PM
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=224

No entiendo por qué esto no pasa el Gatekeeper? ¿Falta algo? ¿Apple requiere algo más?


Actualización 1:

@TheDarkKnight ha sugerido que estoy usando el certificado incorrecto para firmar el .app . Parece que son correctos, así que fui a crear un nuevo Developer ID Application certificate pero aparentemente porque no soy un "Agente" en la cuenta del grupo, así que ahora tengo que esperar hasta que el "Agente" cree uno para mí - parece al revés, ¿no hay otra manera de esperar a que el "Agente" lo haga por mí?

(en Xcode) Si el botón de opción "ID de desarrollador" está atenuado, probablemente tenga una cuenta de grupo. Este tipo de cuentas sólo permiten que el rol de "Agente" cree IDs de Desarrollador. Ponte en contacto con la persona que creó tu cuenta de desarrollador de Apple de grupo si te quedas atascado aquí.

https://developer.mozilla.org/en-US/docs/Mozilla/Signing_Mozilla_apps_for_Mac_OS_X


Actualización 2:

Así que finalmente recibí mi nuevo certamen hoy, volví a firmar el .app , lo descargó del servidor corrió y TODAVÍA TIENE EL MENSAJE DE ERROR . La autoridad parece ser correcta ahora:

Executable=/Users/me/Downloads/ADRA.app/Contents/MacOS/ADRA
Identifier=com.company.adra
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178133 flags=0x0(none) hashes=5561+3 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
OSPlatform=36
OSSDKVersion=657408
OSVersionMin=656896
Hash type=sha256 size=32
CandidateCDHash sha1=90d2a54162d6d018bf4f7602d7707c8e8e522fc6
CandidateCDHash sha256=dadfe5203d1367ea776f9501025dbd4ce751ee30
Hash choices=sha1,sha256
Page size=4096
CDHash=dadfe5203d1367ea776f9501025dbd4ce751ee30
Signature size=8930
Authority=Developer ID Application: Company Pty Ltd (NH73TNDB28)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=10 May 2017, 3:36:51 pm
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=184

Sólo firmo el .app ¿hay algo más que tenga que hacer para que esto funcione? ¿Hay algún periodo de tiempo que tenga que esperar para que funcione?


Actualización 3:

Ahora, casi un mes después de la actualización 2, este problema sigue siendo aparente, por lo que he puesto una recompensa.

1 votos

¿Está la aplicación incrustada en una imagen de disco firmada por código? DMG ¿Cuándo se descarga? ¿Qué versión de MacOS está probando?

0 votos

@GrahamMiln Tendré que responderte sobre la versión para MacOS. No he firmado el .dmg ¿también tienes que firmar eso? Yo estaba usando successfulsoftware.net/2012/08/30/ como referencia y afirman que el .dmg no requiere firma adicional, por lo que no lo he firmado.

8voto

Monomeeth Puntos 139

En términos generales, cuando se distribuyen aplicaciones fuera de la Mac App Store es necesario:

  1. Establezca la identidad de firma como ID de desarrollador
  2. Cree sus certificados de ID de desarrollador
  3. Cree su aplicación Archivo
  4. Valide su aplicación
  5. Exportar un Aplicación firmada por el ID del desarrollador
  6. Firmar el paquete de instalación (no aplicable en su caso)
  7. Pruebe el comportamiento de la aplicación con Gatekeeper activado y de nuevo con Gatekeeper desactivado

La resolución de problemas como este puede ser complicada porque es fácil hacer suposiciones sobre cuánto sabe el OP (en este caso tú), etc. De la lectura de su pregunta voy a suponer que los tres primeros pasos son atendidos.

Así pues, empecemos por comprobar cómo estás validando tu aplicación.

Valide su aplicación

Para validar una aplicación firmada por el ID de desarrollador, siga estos pasos:

  1. En Xcode vaya a Producto > Archivo
  2. Aparecerá la ventana del organizador de archivos
  3. Seleccione el archivo de la aplicación en cuestión
  4. Haga clic en el botón Validate botón
  5. Aparece un cuadro de diálogo que le pide que seleccione un método de validación
  6. Seleccione el Validar una aplicación firmada por el ID de desarrollador opción
  7. Haga clic en Next
  8. En la siguiente ventana, seleccione un equipo en el menú emergente
  9. Haga clic en Choose
  10. Haga clic en el botón Validate botón

Esto identificará cualquier problema de validación. Si se encuentra alguno, este será su problema (o al menos parte de él), por lo que tendrá que resolverlo.

Si no se encuentra ningún problema, proceda a continuación.

Exportar una aplicación firmada por el ID de desarrollador

  1. Siempre dentro de la ventana del organizador de archivos, seleccione el archivo de la aplicación en cuestión
  2. Haga clic en el botón Export botón
  3. Aparece un cuadro de diálogo que le pide que seleccione un método de exportación
  4. Seleccione el Exportar una aplicación firmada por el ID de desarrollador opción
  5. Haga clic en Next
  6. En la siguiente ventana, seleccione un equipo en el menú emergente
  7. Haga clic en Choose
  8. Haga clic en el botón Export botón

Una vez exportada su aplicación, deberá probarla con Gatekeeper activado y de nuevo con Gatekeeper desactivado.

0 votos

Gracias por la respuesta, lo intentaré lo antes posible.

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