¿Qué es el formato de archivo JNLP?
Los archivos con la extensión .jnlp contienen datos almacenados mediante sintaxis XML. Dichos datos describen una aplicación o applet de Java cuyo código fuente reside en un servidor remoto, destinado a ser lanzado localmente de acuerdo con el Java Network Launch Protocol - implementado originalmente por Java Web Start.
Un archivo .jnlp suele contener:
- Información sobre la aplicación - título, proveedor, descripción y página de inicio,
- Recursos - la URL (atributo
codebase) donde se alojan los paquetes de archivo JAR, - Configuración de seguridad - permisos que permiten a la aplicación realizar ciertas acciones,
- Elemento de destino - la clase principal y los parámetros de la aplicación o applet web.
Un archivo .jnlp también puede contener muchos detalles diferentes sobre los requisitos de la versión de JRE, iconos, preferencias de acceso directo y políticas de actualización. La especificación completa está definida por JSR-56 (Sun Microsystems / Oracle) y los atributos del elemento raíz <jnlp> apuntan a la ubicación del servidor de la aplicación. Java Web Start - el lanzador javaws original incluido con JRE 1.4 hasta Java 8 - fue declarado obsoleto en Java 9 (2017) y eliminado por completo en Java 11 (2018). Las alternativas modernas son OpenWebStart (un reemplazo de código abierto multiplataforma) e IcedTea-Web en Linux. El contenido de un archivo .jnlp se puede ver y editar con cualquier editor de texto plano.
Seguridad y protección
RIESGO: MEDIUMEl archivo JNLP en sí es XML inerte, pero lo que lanza es una aplicación Java de escritorio completa, históricamente con <all-permissions/>. Los archivos adjuntos JNLP fueron un vector documentado de phishing/malware en la década de 2010 precisamente porque javaws descargaba y ejecutaba código remoto. Hoy en día, la superficie de ataque es pequeña (el Java moderno no puede ejecutarlos en absoluto), pero cualquier persona con OpenWebStart o Java 8 heredado instalado solo debe abrir archivos JNLP de servidores en los que confíe, y verificar primero la URL de codebase en un editor de texto. Los archivos adjuntos .jnlp inesperados por correo electrónico deben eliminarse.
Detalles del formato
en pocas palabrasProgramas que abren archivos JNLP
Detalles técnicos
especificación profunda| Tipo de formato | Descriptor de lanzamiento de aplicación XML (texto plano) |
| Elemento raíz XML | `<jnlp>` con el atributo `codebase` requerido y el atributo `href` opcional |
| Tipo MIME | `application/x-java-jnlp-file` |
| Codificación de caracteres | UTF-8 (XML estándar; declarado en la instrucción de procesamiento `<?xml?>`) |
| Firma binaria | Ninguna - XML de texto plano; los archivos comienzan con `<?xml` seguido de un elemento raíz `<jnlp>` |
| Desarrollador original | Sun Microsystems (más tarde Oracle); estandarizado como JSR-56 |
| Lanzador heredado | `javaws` (Java Web Start), incluido con JRE 1.4 hasta Java 8 |
| Lanzadores actuales | OpenWebStart (multiplataforma, código abierto); IcedTea-Web (Linux) |
| Estado del ciclo de vida | Java Web Start declarado obsoleto en Java 9 (2017); eliminado en Java 11 (2018) |
| Elemento de referencia JAR | El elemento `<jar href="..."/>` dentro del bloque `<resources>` vincula los paquetes `.jar` de la aplicación |
| Descriptor de seguridad | `<security><all-permissions/></security>` otorga acceso total; su ausencia implica entorno restringido (sandbox) |
| Versión de JRE objetivo | El elemento `<java version="..."/>` o `<j2se version="..."/>` especifica el entorno de ejecución mínimo |
| Soporte de lanzamiento sin conexión | El elemento `<offline-allowed/>` permite el lanzamiento sin red después del almacenamiento en caché inicial del JAR |
| Tipos de aplicaciones compatibles | Aplicaciones Java estándar, applets y extensiones de instalador (JNLP `<extension>` anidado) |
| Caché de JAR | El lanzador descarga y almacena los JAR localmente; el atributo `version` en `<jar>` permite actualizaciones delta |
| Lanzado | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | jcp.org |
Conversiones de JNLP
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos JNLP.