Erreur Java: "Vos paramètres de sécurité ont bloqué l'exécution d'une application locale"


J'essaie d'exécuter ce code HelloWorld simple écrit en Java à partir de mon navigateur (Chrome):

public class HelloWorld extends JApplet {
public void init() {
    try {
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                JLabel lbl = new JLabel("Hello World");
                add(lbl);
            }
        });
    }
    catch (Exception e) {
        System.err.println("createGUI didn't complete successfully");
    }
}

Je l'ai compilé avec NetBeans, puis j'ai créé un projet d'application Web. Le codeHTML qui exécute l'applet est:

<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <p><applet code="HelloWorld" archive="applet_HelloWorld.jar"  width="590" height="530"></applet></p>
    </body>
</html>

Si vous exécutez l'applet à partir de NetBeans, cela fonctionne. Mais lorsque j'exécute le code HTML en double-cliquant dessus, le message suivant apparaît à partir du navigateur:

Vos paramètres de sécurité ont bloqué une application locale de exécuter.

J'ai essayé avec Internet Explorer et Firefox mais rien.

Ce message a commencé à apparaître après la dernière mise à jour de Java. Où est le problème?

Author: Andrew Thompson, 2013-04-24

9 answers

Après avoir lu Java 7 Mise à jour 21 Améliorations de sécurité en détail mention..

Avec les modifications introduites, il est très probable qu'aucun utilisateur final ne puisse exécuter votre application lorsqu'elle est auto-signée ou non signée.

..Je me demandais comment cela irait pour les fichiers de classe lâches-les applets "les plus simples" de tous.

Système de fichiers local

Dialogue: Vos paramètres de sécurité ont empêché l'exécution d'une application locale
Vos paramètres de sécurité ont bloqué une application locale de courir

C'est la boîte de dialogue visible pour une applet composée de fichiers de classe en vrac chargés hors du système de fichiers local lorsque le JRE est défini sur le paramètre de sécurité par défaut "Haute".


Notez qu'une légère bizarrerie du JRE n'a produit que sur le point 3 de.

  1. Chargez la page de l'applet pour voir un symbole d'applet cassé qui mène à une console vide.
    Ouvrez les paramètres Java et définissez le niveau sur Medium .
    Fermer le navigateur et Java paramètre.
  2. Chargez la page de l'applet pour voir l'applet.
    Ouvrez les paramètres Java et définissez le niveau sur High .
    Fermer les paramètres du navigateur et Java.
  3. Chargez la page de l'applet pour voir un symbole d'applet cassé& la boîte de dialogue ci-dessus.

Internet

Si vous chargez l'applet simple (fichier de classe lâche) vu à cette démo d'applet redimensionnable hors de Internet - qui possède un élément applet de:

<applet
    code="PlafChanger.class"
    codebase="."
    alt="Pluggable Look'n'Feel Changer appears here if Java is enabled"
    width='100%'
    height='250'>
<p>Pluggable Look'n'Feel Changer appears here in a Java capable browser.</p>
</applet>

Il semble également charger avec succès. Ce qui implique que: -

Les applets chargés à partir du système de fichiers local sont désormais soumis à un bac à sable de sécurité plus strict que ceux chargés à partir d'Internet ou d'un serveur local.

Descriptions des paramètres de sécurité

À partir de Java 7 mise à jour 51.

  • Très élevé: Configuration la plus sécurisée - Seules les applications Java identifiées par un certificat non expiré d'une autorité de confiance seront autorisées à exécuter.
  • Élevé (minimum recommandé): Les applications Java identifiées par un certificat d'une autorité de confiance seront autorisées à s'exécuter.
  • Moyen - Toutes les applications Java seront autorisées à s'exécuter après avoir présenté une invite de sécurité.
 58
Author: Andrew Thompson, 2014-01-30 06:38:59

J'ai rencontré le même problème aujourd'hui, et j'ai pu résoudre le problème en modifiant les paramètres de sécurité sur le panneau de configuration Java de HIGH à MEDIUM.

Eh bien, définir le paramètre de sécurité Java sur MOYEN en permanence n'est pas vraiment recommandé car cela permettra aux logiciels potentiellement malveillants de s'exécuter sur votre système et de ne pas être bloqués. Donc, je suggère après avoir exécuté votre applet, vous voudrez peut-être changer le paramètre à HIGH.

Emplacement du contrôle Java Panneau

Modifier le réglage du panneau de configuration

 21
Author: rockstar, 2014-03-08 10:25:33

Si vous utilisez Linux, ces paramètres sont disponibles en utilisant /usr/bin/jcontrol (ou votre paramètre path pour obtenir les outils Java actuels). Vous pouvez également modifier les fichiers dans ~/.java/deployment/deployment.properties pour définir "déploiement.sécurité.niveau=MOYEN".

Étonnamment, cette information n'est pas facilement disponible sur le site Web d'Oracle. Ça me manque java.sun.com...

 12
Author: rommer, 2014-05-19 18:02:28
  1. Allez dans le panneau de configuration
  2. Double-cliquez sur Java
  3. Ouvrez l'onglet Sécurité
  4. Sélectionnez Moyen
  5. Cliquez sur Appliquer
  6. Redémarrez votre navigateur Web

C'est tout!

entrez la description de l'image ici

 11
Author: Burhan ARAS, 2014-07-19 21:22:37

Si vous n'avez pas de niveau de sécurité moyen, vous devez ajouter votre application à la liste des sites d'exception (Panneau de Configuration JavaSécurité onglet).

  1. Ouvrez votre applet dans un navigateur et copier le contenu de votre barre d'adresse. capture d'écran de l'applet adresse dans la barre d'adresse
  2. Aller à Panneau de ContrôlePanneau de configuration Javade Sécurité onglet et appuyez sur la Modifier la Liste des sites... bouton. capture d'écran de l'onglet Sécurité du panneau de configuration Java

  3. Appuyez sur la Ajouter bouton insérer votre chemin d'accès et appuyez sur Entrée. capture d'écran de la liste des sites d'exception

  4. Appuyez sur Continuer sur la sécurité avertissement qui s'affiche. capture d'écran de l'avertissement de sécurité-Invite d'alerte d'emplacement de fichier

  5. Ouvrez à nouveau l'applet et n'oubliez pas d'appuyer sur Run dans la fenêtre contextuelle. capture d'écran de l'avertissement de sécurité

 5
Author: Pavlo Zvarych, 2017-02-14 17:30:03

Si vous êtes comme moi dont le panneau de configuration Java n'affiche pas le curseur de sécuritésous l'onglet Sécurité pour changer le niveau de sécurité de Élevé à Moyen, suivez ces instructions: Java bug connu: curseur de sécurité non visible.


Symptômes:

Après l'installation, la case à cocher pour activer/désactiver Java et le curseur de niveau de sécurité n'apparaissent pas dans l'onglet Sécurité du panneau de configuration Java. Cela peut se produire avec 7u10 et plus.

Provoquer

Cela est dû à un conflit entre Java 7u10 et les versions ultérieures et les installations autonomes de JavaFX. Exemple: Si Java 7u5 et JavaFX 2.1.1 sont installés et si Java est mis à jour vers 7u11, le panneau de configuration Java n'affiche pas la case à cocher ni le curseur de sécurité.

Résolution

Il est recommandé de désinstaller toutes les versions de Java et JavaFX avant d'installer Java 7u10 et les versions ultérieures.
Veuillez suivre les étapes ci-dessous pour la résolution de ce problème.
1. Supprimez toutes les versions de Java et JavaFX via le panneau de configuration de désinstallation de Windows. Instructions surdésinstaller Java .
2. Exécutez l'utilitaire de désinstallation Microsoft pour réparer les clés de registre corrompues qui empêchent les programmes d'être complètement désinstallés ou de bloquer les nouvelles installations et mises à jour.
3. Téléchargez et installez le package Windows offline installer .

 3
Author: Rohit, 2015-07-24 13:06:40

Les applets Java créent un risque de sécurité et sont donc désactivées dans la plupart des navigateurs modernes. Vous devez abaisser la sécurité pour l'exécuter. Il existe un guide par Oracle pour cela.

 0
Author: Pradeep Pati, 2013-04-24 15:51:00
  • À partir de Java 8, il n'y a pas de paramètre de risque "moyen" dans l'onglet Sécurité sous Java

  • Vous continuerez à obtenir cette erreur jusqu'à ce que vous reveniez à Java plus ancien (suggéré Java 7, il a atteint la fin de vie cependant).

  • Installez les versions 32 bits et 64 bits. Pourquoi? Parce que les navigateurs sont toujours 32 bits, même sur une machine 64 bits, 64 bits OS

 0
Author: Vishal Kanaujia, 2015-06-04 09:00:52

Mon problème était d'exécuter portecle.fichier jnlp localement en utilisant Java8.

Ce qui a fonctionné pour moi était

  1. Démarrer les programmes Java> Java > > Configurer Java...
  2. Allez dans Sécurité > > Modifier la liste des sites...
  3. Ajouter http://portecle.sourceforce.net
  4. Démarrer javaws portecle.jnlp {[15] } dans l'invite CMD

À l'étape 3, vous pouvez également essayer d'ajouter le fichier:///c:/chemin/portecle.jnlp, mais cet ajout n'a pas aidé avec mon cas.

 0
Author: Timo Riikonen, 2017-01-17 11:47:24