2012-06-21 17 views
15

Tenemos un applet de Java que necesita ejecutarse con plena confianza.Applet de Java con certificado autofirmado en OS X Mountain Lion

Durante el desarrollo y durante las pruebas previas al lanzamiento, lo firmamos mediante un certificado autofirmado (la versión de producción está firmada con un certificado de firma de código real).

Pero cuando tratamos de iniciar el applet autofirmado en las prerelases de OS X 10.8, no podemos seguir permitiendo que se ejecute. El "Permitir" -botón es simplemente para minusválidos:

Disabled "Allow" button

Si presiono "Mostrar detalles ..." Me puede optar por "Siempre confía en" el certificado, pero esto no hace ninguna diferencia:

enter image description here

Funciona con la misma versión de Java JRE en OS X Lion 10.7, por lo que sospecho que es un problema con el sistema operativo y no con el JRE.

¿Hay alguna solución?

Preferiría no utilizar un certificado de firma de código real para probar: la firma con un certificado de firma de código real significa que mi compañía afirma que el applet es seguro y debe ser de confianza. Apenas podemos afirmar eso antes de que lo hayamos probado.

+0

* "Preferiría no usar un certificado de firma de código real para probar." * Preferiría que las personas ofrecieran razones para requisitos extraños y aparentemente arbitrarios. –

+2

@Andrew: He agregado el razonamiento para este requisito. –

+0

Gracias, esa razón no es tan extraña como me había imaginado. Buena pregunta. +1 BTW: 1) ¿Han revisado la "base de datos de errores" para ese JRE? 2) ¿El applet interactúa con JavaScript? ([Appleteer] (http://pscode.org/appleteer/) puede ejecutar applets en HTML simple sin JS, no tiene ningún sand-box de seguridad). 3) ¿Se puede ejecutar otro JRE en el sistema operativo para probar applets? –

Respuesta

14

Es una nueva característica de seguridad en Mac OS X, de manera predeterminada solo las aplicaciones de Mac Store & de desarrolladores de confianza pueden ejecutar allí.Afortunadamente, es fácil de cambiar, debe permitir esto en las preferencias de Mac OS X.

Ve a Preferencias -> Seguridad & Privacidad y haz clic en el candado para permitir cambios.

Luego, en "Permitir aplicaciones descargadas desde", seleccione "En cualquier lugar".

Después de eso, se habilitará el botón en el diálogo de Java.

Mac OS X Security & Privacy Preferences

+0

¡Perfecto! Muchas gracias. –

+2

Cuando habilito la opción "Cualquier lugar", el comportamiento cambia, pero sigo recibiendo un mensaje de error que indica: "Aplicación bloqueada por la configuración de seguridad" y "Su configuración de seguridad ha bloqueado la ejecución de una aplicación autofirmada". La aplicación es una de las aplicaciones de muestra de JavaFX. En Mac OS X 10.9 Mavericks, Java 8. –

+0

¿qué tal en el mac? – Naeem

0

OS X Lion puede agregar manualmente el certificado como certificado raíz de confianza utilizando la herramienta incorporada Keychain Access. Todavía no tengo acceso a OS X Mountain Lion, así que no sé si funcionará en Mountain Lion, pero parece que vale la pena intentarlo. Los pasos de León son:

  • Abrir Acceso a Llaveros (ubicado en /Aplicaciones/Utilidades)
  • Haga clic en Archivo | importar elementos ...
  • Cambiar el llavero del Destino a Sistema
  • Encontrar el archivo del certificado y haga clic en Abrir
  • Se dirá "¿Quieres que tu computadora para confiar en los certificados señal por la [...] ¿de ahora en adelante?". Haga clic en Always Trust.

Si generó su certificado directamente en un almacén de claves Java, es posible que no tenga un archivo de certificado independiente. Puede fácilmente export one using this guide from Oracle.

Noté que su captura de pantalla dice "Este certificado está marcado como confiable para esta cuenta", lo cual es curioso porque esperaba que fuera aceptable. Tal vez en OS X Mountain Lion, los certificados raíz agregados por el usuario de alguna manera tienen un estado más bajo que los oficiales distribuidos por Apple. Si encuentra que los pasos anteriores no funcionan, puede intentar agregar su certificado al llavero raíz oficial. Keychain Access no le permitirá hacer eso, pero creo que puede usar el built-in certtool para editar manualmente el llavero ubicado en /System/Library/Keychains/SystemRootCertificates.keychain para lograr eso.

+0

Wow ... Realmente espero que no esté desplegando esto en 1000 beta testers. –

+1

Tengo este problema con una de las aplicaciones de ejemplo JavaFX. En Mac OS X 10.9 Mavericks, Java 8. Parece que no puedo encontrar la clave que está utilizando para "auto-firmar" la aplicación, o donde el almacén de claves puede ser exportar la clave e importar a llavero. ¿Algunas ideas? Mientras tanto, navegaré a través de todos los scripts de compilación de hormigas ... –

5

Si recibe el mensaje "Application Blocked by Security Settings", es necesario entrar en System Preferences: Java: Security y, o bien agregar su sitio a la lista de excepciones o reducir la security level a Medium.

Cuestiones relacionadas