31 votes

SecurityException lors de l'exécution du fichier jnlp (attribut de manifeste Permissions requis manquant dans le jar principal)

Système d'exploitation : Windows 7 64 bit

Java : jdk1.7.0_51

J'ai un fichier jnlp. Lorsque je double-clique dessus, une exception se produit comme ci-dessous :

Application Error: Unable to launch the application
Exception: java.lang.SecurityException: Missing required Permissions manifest attribute in main jar

49voto

moskito-x Points 6102

Attributs du manifeste du fichier JAR pour la sécurité

Le manifeste du fichier JAR contient des informations sur le contenu du fichier JAR, y compris des informations sur la sécurité et la configuration.

Ajoutez les attributs au manifeste avant la signature du fichier JAR.
Ver Modifier un fichier de manifeste dans le tutoriel Java pour obtenir des informations sur l'ajout d'attributs au fichier manifeste JAR.

Attribut Permissions

L'attribut Permissions est utilisé pour vérifier que le niveau de permissions demandé par la RIA lors de son exécution correspond au niveau de permissions défini lors de la création du fichier JAR.

Utilisez cet attribut pour empêcher qu'une personne ne redéploie une application signée avec votre certificat et ne l'exécute à un niveau de privilège différent. Donnez à cet attribut l'une des valeurs suivantes :

  • sandbox - fonctionne dans le bac à sable de sécurité et ne nécessite pas d'autorisations supplémentaires.

  • all-permissions - nécessite l'accès aux ressources système de l'utilisateur.

Modifications apportées au curseur de sécurité :

Les modifications suivantes apportées à Security Slider ont été incluses dans cette version (7u51) :

  • Bloquer les applets auto-signés et non signés sur le paramètre de haute sécurité
  • Attribut "Permissions requises" pour le paramètre de haute sécurité
  • Avertir les utilisateurs des attributs de permission manquants pour le paramètre de sécurité moyen

Pour plus d'informations, voir Panneau de contrôle Java documentation.

enter image description here

échantillon MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Trusted-Only: true
Class-Path: lib/plugin.jar
Permissions: sandbox
Codebase: http://myweb.de http://www.myweb.de
Application-Name: summary-applet

4voto

bcjenkins Points 31

Si vous souhaitez définir ce paramètre de manière globale pour tous les utilisateurs d'une machine, vous pouvez créer les structures de répertoire et de fichiers suivantes :

mkdir %windir%\Sun\Java\Deployment

Créez un fichier deployment.config avec le contenu :

deployment.system.config=file:///c:/windows/Sun/Java/Deployment/deployment.properties
deployment.system.config.mandatory=TRUE

Créer un fichier deployment.properties

deployment.user.security.exception.sites=C\:/WINDOWS/Sun/Java/Deployment/exception.sites

Créer un fichier exception.sites

http://example1.com
http://example2.com/path/to/specific/directory/

Référence https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X