Firma de una aplicación que incluye Java falla

Intento firmar un package de aplicaciones que incluye Java Runtime Environment 8 (JRE).

Desde la línea de command, ejecuto este command:

codesign -s "Developer ID Application: My Company" /Development/MyApp.app 

Obtengo esta salida:

 MyApp.app: code object is not signed at all In subcomponent: /Development/MyApp.app/Contents/PlugIns/jre8/Contents/Home/jre/COPYRIGHT 

El resultado es que el package de aplicaciones no se firma como se esperaba.

¿Cómo puedo solucionar esto?

One Solution collect form web for “Firma de una aplicación que incluye Java falla”

firma de código

El amigable manual sobre la firma del código dice que primero debes firmar el subcomponente y luego volver a intentarlo con tu aplicación:

codesign dice que mi código no está firmado cuando trato de firmarlo.

Asegúrese de que todo el código nested ya esté firmado y su firma sea válida. Xcode se encargará de esto si le permite manejar sus tareas de firma de código.

Continúa diciendo que deje que Xcode maneje todas las firmas, lo que puede ser útil o no, ya que usted está eligiendo firmar cosas desde la línea de command.

–profundo

Para firmar todo el código nested de una vez, agregue el argumento --deep a codesign :

 codesign --deep -s "Developer ID Application: My Company" /Development/MyApp.app 

guión de shell

Otra forma de hacer lo mismo es crear un script de shell que verifique el estado de la firma del código nested y los signos si falta. De esta forma, puede tener más control sobre lo que está firmando dentro del package.

Ejemplo:

Un script bash llamado sign-unsigned.sh que comtesting una input en el package y lo firma si no está ya firmado podría hacerse así:

 #!/bin/bash if codesign --verify $1 ; then exit; else codesign --sign "$2" $1; fi 

Ponga el sign-unsigned.sh en /Development y haga esto en la línea de command:

 cd /Development/MyApp.app/ find . -exec ../sign-unsigned.sh {} "Developer ID Application: My Company" \; codesign --sign "Developer ID Application: My Company" ../MyApp.app 
  • Los volcados del núcleo han sido deshabilitados Para habilitar el volcado de núcleos, pruebe "ulimit -c unlimited" antes de volver a iniciar Java
  • ¿Es posible establecer el env de JAVA_HOME en El Captitán?
  • ¿Cómo get Java 6 en OS X 10.8 (Mountain Lion)?
  • Lo que está intentando lanzar 'java' en mi Mac OS X Mountain Lion
  • ¿Cómo abrir forzadamente un applet Java bloqueado?
  • Desinstalar Java en Lion
  • ¿Cómo desinstalo Java?
  • Java Web Start lanzado en Finder dice que no hay JRE disponible. Funciona bien en la console
  • ¿Por qué Java usa tanta memory real?
  • Suprime las advertencias de Java
  • Ventana emergente de Java
  • ¿Dónde está instalado Java en OSX Mavericks?
  • Si instalo un time de ejecución de Java más viejo y obsoleto, ¿se estropearán las aplicaciones que usan la versión actual de Java?
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).